Skip to content

new tools, fixes

Choose a tag to compare

@github-actions github-actions released this 29 May 00:18
· 27 commits to work since this release

Fixed the in-tool operators toolbar drift in core/src/main/kotlin/com/github/alfu32/sketch/ui/SketchUiOverlay.kt.
image

The issue was that rebuilding the toolbar repacked the window after tool changes while preserving the bottom-left position, so tiny height differences moved the top edge. The rebuild now captures the previous top edge and restores the window after pack().

  • Built-in tool palette commands are now generated from the actual ToolController registered tools instead of a hand-maintained list.
    • This catches tools that were missing from Ctrl-Shift-P, including newer/mechanical/boolean/object tools as long as they are registered in the controller.
    • Excluded only ToolId.PLUGIN, since plugin tools already register their own palette commands.
    • Increased the default blank-palette command cap from 20 to 200, so opening Ctrl-Shift-P without typing no longer hides most commands.
    • Added better searchable tags from both displayName and ToolId words.

Implemented the two 3D sweep variants.

Added:

  • Ribbon 3D
    • Uses the existing double_line icon.
    • Uses PolylineSettings.doubleLineSize and doubleLineOffset.
    • Draws a constant-width planar ribbon along a 3D polyline.
    • Builds one cross-section per path point and connects them as mesh faces.
    • Uses miter-style section normals and parallel transport to reduce twist.
  • Extrude Swipe 3D
    • Uses the existing swipe_surface icon, same as Extrude Swipe.
    • Uses selected line segments as the profile.
    • Draws a 3D swipe path.
    • Projects the profile into the first section, builds compatible sections at path vertices, and connects corresponding profile vertices so adjacent spans meet.

Added shared support:

  • Sweep3dSupport.kt
    • path section frames
    • miter/bisector normals at internal path points
    • parallel-transport frame propagation
    • profile projection and section point generation

Wired into:

  • ToolId
  • Main
  • toolbar layout
  • command palette registration
  • tool cycling for Extrude Swipe 3D
  • docs reference