Skip to content

Sketch dimension inspector controls and arrow-size setting #100

@trailcode

Description

@trailcode

Sketch List: per-dimension controls (visibility + offset) and dimension arrow-size setting

Summary

Improve sketch dimension usability by exposing per-dimension controls in Sketch List and adding a global arrow-size setting for dimension visuals.

What was added

  • Sketch List inspector now supports expandable sketch details with a Dimensions section.
  • Each dimension row includes:
    • visibility checkbox
    • numeric offset input for label flyout distance from edge (0 keeps automatic behavior)
  • Dimension rows are column-aligned (show, label, offset) for better readability in narrow panes.
  • New Settings control under Settings -> Sketch:
    • Dimension arrow size
    • applies to sketch dimensions and extrude preview dimensions
    • persisted in settings JSON as gui.edge_dim_arrow_size

Persistence / compatibility

  • Sketch JSON length_dimensions supports:
    • legacy: [node_lo, node_hi]
    • with visibility: [node_lo, node_hi, visible]
    • with visibility + custom offset: [node_lo, node_hi, visible, flyout_offset]
  • Loader remains backward compatible with older documents.

Why this matters

  • Faster control of drawing clarity directly in Sketch List.
  • Better handling of dense sketches where some dimensions should be hidden.
  • Fine-grained adjustment of dimension label distance without leaving context.
  • Better visual consistency by allowing arrow-size tuning in Settings.

Acceptance criteria

  • In Sketch List, expanding a sketch shows Dimensions, Edges, and Faces.
  • Each dimension row has an independent visibility checkbox.
  • Each dimension row has an editable offset double input.
  • Setting offset to 0 falls back to automatic flyout behavior.
  • Per-dimension visibility and offset survive save/load.
  • Settings -> Sketch -> Dimension arrow size updates existing dimensions immediately.
  • Arrow-size setting persists across app restarts.

Notes

  • Offset control uses OCCT dimension flyout magnitude while preserving the orientation sign chosen by existing outside/inside logic.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions