cad-editor/src/scene
Repository files (latest commit first)
Filename Latest commit message Latest commit date
sLuCHa b4152ae1fe perf(hatch): tessellate fills so navigation no longer flickers (#258)
The batched hatch pass drew a screen-covering AABB quad per hatch and,
for every fragment, ran a point-in-polygon ray-cast over the whole
boundary plus the pattern test, with a discard that disabled early-Z.
Zoomed into a hatch the quad covers the screen, so the shader re-ran
per pixel every frame — the cost the PR #273 interaction-LOD worked
around by suppressing hatches during navigation, which made fills
flicker on and off while zooming.

Triangulate each boundary once (lyon, even-odd — same coverage as the
old in_polygon, islands/holes included) and rasterize those triangles
instead: no screen-filling overdraw, no per-fragment boundary test. The
fragment shader keeps the boundary test only on a per-instance fallback
path (poly_test == 1) for boundaries that fail to tessellate.
Tessellation is cached with the batch build (geometry_epoch) in local
space, so the double-single relative-to-eye precision is preserved.

With the fast path the interaction-LOD is no longer needed; it is gated
behind OCS_HATCH_LOD (default off) as a safety net for now.
2026-07-07 15:23:54 +02:00
..
cache feat(properties): show Thickness in the General group 2026-07-03 16:51:05 +03:00
convert feat(text): bypass the greek/baseline LOD ladder for SDF text 2026-07-07 08:24:11 +03:00
model fix: address review findings on merged #293/#292 hatch+snap 2026-07-06 20:23:59 +03:00
pick feat(pick): select mesh entities by clicking their shaded faces 2026-07-04 23:11:47 +03:00
pipeline perf(hatch): tessellate fills so navigation no longer flickers (#258) 2026-07-07 15:23:54 +02:00
text feat(text): suppress glyph strokes when SDF text is on 2026-07-07 08:18:08 +03:00
view perf(hatch): tessellate fills so navigation no longer flickers (#258) 2026-07-07 15:23:54 +02:00
camera_ops.rs chore: post-merge cleanup for #287/#289 2026-07-06 01:22:10 +03:00
entity.rs fix(plot): correct hatch rendering in PDF / plot export 2026-07-06 12:24:10 +02:00
group_layer.rs feat(ui): bulk layer on/off, lock, freeze, transparency + Ctrl+A (#236) 2026-07-03 16:06:10 +03:00
layout.rs refactor(viewport): migrate model-space tiling to iced pane_grid 2026-06-27 11:50:11 +03:00
mod.rs perf(hatch): tessellate fills so navigation no longer flickers (#258) 2026-07-07 15:23:54 +02:00
modify.rs fix(scene): correct MIRROR of TEXT under MIRRTEXT (commit + preview) 2026-07-03 12:42:55 +03:00
mspace.rs feat(nav): turntable orbit, selection/cursor pivot, Shift+MMB rotate (#229) 2026-07-01 21:58:04 +03:00
paper.rs fix(plot): correct hatch rendering in PDF / plot export 2026-07-06 12:24:10 +02:00
preview.rs fix(scene): correct MIRROR of TEXT under MIRRTEXT (commit + preview) 2026-07-03 12:42:55 +03:00
project.rs refactor: split four oversized files into submodule trees 2026-06-26 22:51:29 +03:00
selection.rs refactor(properties): entity property groups return Vec<PropSection> 2026-07-02 22:46:19 +03:00