fix(extrusion-hyperobject): align extrusion_length source default with manifest - #104
Merged
Merged
Conversation
…h manifest The CadQuery entry files (rail.py, frame.py, module_track.py) fell back to 150 mm while the manifest and the unreferenced .scad twins declare 100. The PARAM literals now state the manifest default, so a render that injects no parameters builds what Studio shows (GOC-1 default-drift). Bare-default bodies get shorter (150 -> 100 mm); body count stays 1. 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
The
PARAMfallback forextrusion_lengthin all three CadQuery entry files now equals the manifest default.extrusion_length100150100rail.py:15extrusion_length100150100frame.py:15extrusion_length100150100module_track.py:15Direction and why
The source literal now follows the manifest default. Studio always sends the manifest-resolved set, so users already see 100 mm. The
.scadtwins (rail.scad,frame.scad,module_track.scad, which no mode references) also sayextrusion_length = 100. Only the CadQuery fallbacks disagreed. A bare-default render now builds 100 mm bodies instead of 150 mm. The body count stays 1.How this maps to GOC-1
GOC-1 (Digital Twins MES, Phase 2)
variables.jsonis complete only once yantra4d injects every declared parameter (RENDER_INJECT_FULL_PARAMS). This PR removes the threedefault-driftnotes for this cartridge (the rule comes from hyperobjects-spec#30). After it, turning that flag on cannot change this cartridge's geometry for callers that send{}.Evidence
Tooling: hyperobjects-spec at
510efba(the #30 branch). CI pins3ff3736, which lacks the rule. CadQuery 2.8.0 on macOS.Pre-existing issue now visible (left out of scope)
The two remaining notes are real but existed before this change:
degradation_stateis declaredvisible_in_modes: [rail, frame, module_track], but onlyrail.pyreads it. In frame and module_track it does nothing.decaying_railnow differs from the defaults only bydegradation_state: 5, so it renders identically there.Two possible fixes, for a separate one-cartridge PR:
visible_in_modesfordegradation_stateto[rail], orThis PR does not touch
verification. It changes one cartridge and three files.macOS green is not proof (AGENTS.md rule 4). The CI 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) (extrusion-hyperobject): pass; render scope (which cartridges changed): pass.
🤖 Generated with Claude Code