Section cap styling — shared between the renderer and its consumers.
The 3D cut surface is rendered by Section2DOverlayRenderer using the exact
polygons SectionCutter produces from triangle-plane intersection. This
module carries only the styling primitives that flow through it:
HATCH_PATTERN_IDS: name → numeric id, kept in lockstep with the
patternId switch in the 2D-overlay fill fragment shader.
SectionCapStyle / DEFAULT_CAP_STYLE: the shape + defaults the store
persists to localStorage and the renderer consumes per-frame.
Kept as a separate file (rather than folded into types.ts) so the hatch
id mapping has a single source of truth that both shader authors and UI
authors can grep for.
Section cap styling — shared between the renderer and its consumers.
The 3D cut surface is rendered by
Section2DOverlayRendererusing the exact polygonsSectionCutterproduces from triangle-plane intersection. This module carries only the styling primitives that flow through it:HATCH_PATTERN_IDS: name → numeric id, kept in lockstep with thepatternIdswitch in the 2D-overlay fill fragment shader.SectionCapStyle/DEFAULT_CAP_STYLE: the shape + defaults the store persists to localStorage and the renderer consumes per-frame.Kept as a separate file (rather than folded into
types.ts) so the hatch id mapping has a single source of truth that both shader authors and UI authors can grep for.