Skip to content

Merge for 0.3.1#7

Merged
tomasf merged 22 commits intomainfrom
dev
Dec 18, 2025
Merged

Merge for 0.3.1#7
tomasf merged 22 commits intomainfrom
dev

Conversation

@tomasf
Copy link
Owner

@tomasf tomasf commented Dec 18, 2025

No description provided.

tomasf and others added 22 commits December 9, 2025 10:47
Adds a new environment property that adjusts the spacing between lines
of multiline text. Positive values increase spacing, negative values
decrease it. Default is 0 (standard font line height).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ation

Extends visualizingBounds() to accept optional x, y, z range parameters,
allowing visualization of a specific region of the bounding box. Useful
for debugging range-based spatial APIs like .within(z: 0...).
When consecutive loft layers have identical polygons, skip generating
intermediate layers since blending identical shapes always produces
the same shape regardless of the shaping function. This significantly
improves performance for straight extrusion-like lofts.

Measured ~65% reduction in execution time for long straight loft parts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use Swift's backtick syntax for test function names to improve
readability in test output. Names now describe what each test verifies
rather than using abbreviated identifiers.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Introduces LayerTransition enum with two cases:
- .interpolated(ShapingFunction) - existing interpolation behavior
- .convexHull - creates 3D convex hull between adjacent layers

The new transition type can be used with the existing `interpolation:`
parameter thanks to Swift's overload resolution:

    Loft {
        layer(z: 0) { Circle(diameter: 20) }
        layer(z: 10, interpolation: .convexHull) { Square(10) }
    }

This is useful for creating faceted or tapered transitions between
convex shapes without intermediate cross-section interpolation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Shows each loft layer as a thin extruded slab at its Z position,
with each layer colored distinctly (red, blue, green, orange, etc.)
to make it easy to identify individual layers.

Useful for verifying layer positions and shapes before running
the full loft operation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@tomasf tomasf merged commit 73423c8 into main Dec 18, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant