From ed9d02093e7a712282e989a04c98fae07827ce35 Mon Sep 17 00:00:00 2001 From: Tommaso Bianchi Date: Sat, 25 Jul 2026 14:35:25 +0200 Subject: [PATCH] Default both build scripts to orcacad-deps, not the other fork's image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both scripts defaulted IMAGE to snaporca-deps. That image is Snapmaker-based and lacks Eigen 5.0.1, CGAL 5.6.3, wx 3.3.2 and Python 3.12 Development.Embed, so running either script here without an explicit IMAGE= dies at CMake configure — which is a large part of why this fork reached M8 having never once compiled (1633005bba). The volume defaults were fixed in that commit; the image default was missed in both files. docker-iter-build.sh also never mounted deps_src, so it could not have configured even with the right image: root CMakeLists.txt:947 FATAL_ERRORs when deps_src/pybind11/include/pybind11/pybind11.h is absent, and src/CMakeLists.txt pulls semver/hints/imgui/imguizmo/hidapi from the same tree. kernel-test.sh got that mount in 1633005bba; this is the same fix for the GUI build path, needed before the Phase B GUI work can be ported here. CadDocument.hpp: mate_kind comment, mirrored verbatim from snaporca dbaa104f62 so the header stays byte-identical across forks. Co-Authored-By: Claude Opus 5 (1M context) --- scripts/docker-iter-build.sh | 11 +++++++---- scripts/kernel-test.sh | 6 +++++- src/libslic3r/CadDocument.hpp | 8 +++++++- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/scripts/docker-iter-build.sh b/scripts/docker-iter-build.sh index 09ec6a50d5..481ed4a42e 100755 --- a/scripts/docker-iter-build.sh +++ b/scripts/docker-iter-build.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Incremental slicer build against the snaporca-deps base image. +# Incremental slicer build against the orcacad-deps base image. # # The deps-baked image (built from scripts/Dockerfile.deps) carries the pinned # dependencies at /OrcaSlicer/deps/build/destdir. This script mounts the LIVE source @@ -10,15 +10,17 @@ # # Usage (run on the build host, e.g. behemoth, from anywhere): # scripts/docker-iter-build.sh -# IMAGE=snaporca-deps scripts/docker-iter-build.sh +# IMAGE=orcacad-deps scripts/docker-iter-build.sh # # On success the binary is inside the persistent volume at # /OrcaSlicer/build/package/bin/snapmaker-orca (copy it out with a follow-up -# `docker run --rm -v snaporca_buildcache:/b alpine cp ...` or via this script's tail). +# `docker run --rm -v orcacad_buildcache:/b alpine cp ...` or via this script's tail). set -euo pipefail REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -IMAGE="${IMAGE:-snaporca-deps}" +# orcacad-deps, NOT snaporca-deps: see the note in kernel-test.sh — the wrong image +# fails at CMake configure, not at link time. +IMAGE="${IMAGE:-orcacad-deps}" BUILD_VOL="${BUILD_VOL:-orcacad_buildcache}" echo "REPO=$REPO IMAGE=$IMAGE BUILD_VOL=$BUILD_VOL" @@ -32,6 +34,7 @@ docker run --rm \ -v "$REPO/resources":/OrcaSlicer/resources \ -v "$REPO/CMakeLists.txt":/OrcaSlicer/CMakeLists.txt \ -v "$REPO/cmake":/OrcaSlicer/cmake \ + -v "$REPO/deps_src":/OrcaSlicer/deps_src \ -v "$BUILD_VOL":/OrcaSlicer/build \ "$IMAGE" \ bash -lc 'cd /OrcaSlicer && ./build_linux.sh -sr' diff --git a/scripts/kernel-test.sh b/scripts/kernel-test.sh index 59107987fe..925520bcab 100755 --- a/scripts/kernel-test.sh +++ b/scripts/kernel-test.sh @@ -22,7 +22,11 @@ set -euo pipefail REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -IMAGE="${IMAGE:-snaporca-deps}" +# orcacad-deps, NOT snaporca-deps: this fork is mainline-based and needs Eigen 5.0.1, +# CGAL 5.6.3, wx 3.3.2 and Python 3.12 Development.Embed, none of which snaporca-deps has. +# With the wrong image CMake dies at configure, which is exactly why this fork went +# M1-M8 without ever compiling (see commit 1633005bba). +IMAGE="${IMAGE:-orcacad-deps}" # Must NOT default to snaporca_buildcache: that is the other fork's volume, and pointing # this fork at it makes the two silently trade build artefacts. docker-iter-build.sh had the # identical defect and was fixed to orcacad_buildcache; this script was missed. diff --git a/src/libslic3r/CadDocument.hpp b/src/libslic3r/CadDocument.hpp index 386769c821..4419e9329a 100644 --- a/src/libslic3r/CadDocument.hpp +++ b/src/libslic3r/CadDocument.hpp @@ -296,7 +296,13 @@ struct CadFeature { double rib_depth{10}; // extrude distance along the sketch-plane normal (mm) // --- Mate (assembly) --- - int mate_kind{0}; // 0 = Fastened, 1 = Planar (M8b adds 2/3/4) + // 0 Fastened — all 6 DOF fixed: B's frame is driven onto A's exactly. + // 1 Planar — z axes aligned, normal distance set to mate_offset; in-plane position free. + // 2 Revolute — axes collinear, position on the axis fixed; rotation about z free. + // 3 Slider — orientation fully fixed, perpendicular position fixed; axial slide free. + // 4 Cylindrical— axes collinear, perpendicular fixed; both spin and axial slide free. + // A "free" DOF is preserved from the body's current placement, not zeroed. + int mate_kind{0}; int mate_cs_a{-1}; // feature index of the FIXED CoordSys (mate connector A) int mate_cs_b{-1}; // feature index of the CoordSys on the body that MOVES double mate_offset{0}; // translation along A's z, mm