Repository navigation
fix(custom-msh): align assembly stack_along_y default with manifest - #106
Merged
Merged
Conversation
assembly.scad fell back to stack_along_y = 0 while the manifest, every assembly/box preset and box.scad itself use 1. Because assembly pulls the box in with `use <box.scad>`, a bare render built a Y-stacked box around X-stacked racks. The top-level literal now states the manifest default, so a render that injects no parameters builds what Studio shows (GOC-1 default-drift). docs/README.md listed the default as "No"; it now says "Yes" like the manifest and the root README. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Aldo Ruiz Luna <aldo.ruiz.luna@gmail.com>
aldoruizluna
marked this pull request as ready for review
October 2, 2026 22:26
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
stack_along_y101custom-msh/assembly.scad:37custom-msh/docs/README.mdlisted the default as "No". It now says "Yes", which matches the manifest and the rootREADME.md.Direction and why
The source literal now follows the manifest default. Six things already used 1:
box.scad:34;default_boxandassembly_*.Studio always sends the manifest-resolved set, so assembly users already see 1.
The bare render also had a real inconsistency.
assembly.scadgetsbox_base()andbox_lid()throughuse <box.scad>, and those modules read box.scad's ownstack_along_y(1). So a bare assembly render built a Y-stacked box around X-stacked racks and slides. The evidence: on main, the bare-defaultassembly/box_basevolume (17820.82 mm³) was already identical to thestack_along_y: 1presets, while the rack and slide placement inassembly.scadfollowed its own 0. Both now agree.How this maps to GOC-1
GOC-1 (Digital Twins MES, Phase 2)
variables.jsonis only complete once yantra4d injects every declared parameter (RENDER_INJECT_FULL_PARAMS). This PR removes thedefault-driftnote for this cartridge (the rule is from hyperobjects-spec#30), so turning that flag on cannot change this cartridge's geometry for callers that send{}.Evidence
Environment: hyperobjects-spec at
510efba(the #30 branch; CI pins3ff3736, which does not have the rule), OpenSCAD 2026.02.13 (Manifold), BOSL2 at its submodule pin, macOS.The 6 notes are all "preset renders geometry identical to the default-params render", for the
assembly_rack_slidesandassembly_box_nolidparts. There are more of them now because those presets restatestack_along_y: 1, which is now also the bare default. The other keys they set either carry no manifest default or are display-level only (assembly_levelgates the preview, not an isolated part, per the comment atassembly.scad:220). This is expected and is not a failure.The declared body counts (
assembly/rack3,assembly/slides30) still hold at the defaults, soverificationis unchanged. The PR touches one cartridge and two files.A green macOS run is not proof (AGENTS.md rule 4). CI's Linux render lane decides, and it is pending at the time of writing.
CI status (updated)
Linux CI on this head: manifest conformance (all cartridges): pass; render (cartridges changed in this PR) (custom-msh): pass; render scope (which cartridges changed): pass.
🤖 Generated with Claude Code