Require openscad_cpp_evaluator 0.41.0 - #281
Merged
Merged
Conversation
Brings two evaluator changes (openscad_cpp_evaluator#107, #108). children() takes a vector or range index. children([3:1:5]) is children(3); children(4); children(5), and children([3:-1:1]) runs them in that order. Before, a vector or range was accepted and then silently ignored -- every such form rendered child 0, with no warning. Backwards ranges now warn, but only when the step was not written: for (x=[3:1]) // WARNING: begin is greater than the end... for (x=[3:-1:1]) // silent for (x=[1:3]) // silent for (x=[1:1:3]) // silent Spelling out the step is taken as deliberate. That is a divergence from OpenSCAD, which warns for the explicit forms too, and it is recorded on the wiki's Language-Reference "Differences from OpenSCAD" table. The warning belongs to the range rather than to the loop, so `r = [5:0];` reports even though nothing iterates r -- matching where the reference puts it, which is a case we previously missed entirely. Locked after confirming the PyPI simple index listed all 7 files: the first lock attempt caught only 5, the same propagation race that has bitten this release process twice before. Verified against the published wheel rather than a local build, under both engines. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Brings BelfrySCAD/openscad_cpp_evaluator#107 and #108.
children()takes a vector or rangeBefore, a vector or range was accepted syntactically and then silently ignored — every such form rendered child 0, with no warning of any kind.
Backwards ranges warn, but only for an implicit step
Spelling out the step is taken as deliberate. This is a divergence from OpenSCAD, which warns for the explicit forms as well — recorded in the wiki's Differences from OpenSCAD table, with the full rule on Language-Syntax → Backwards ranges.
The warning belongs to the range, not the loop, so this reports too:
That matches where the reference puts it, and is a case the first attempt at this feature missed entirely.
Release hygiene
The first
uv lockafter publishing caught only 5 of 7 files — the same PyPI simple-index propagation race that has bitten this process twice before. Re-locked after confirming the index listed all 7, then verified against the published wheel rather than a local build, under both engines:Version bump only, 0.76.6 → 0.77.0.
🤖 Generated with Claude Code