cad-editor/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven b70c9f9262 perf(pipeline): per-frame hatch+wipeout frustum cull at draw time (Phase 2.3)
The Phase 2.1 step-4 attempt at culling hatches inside
`synced_hatch_models` was wrong: GPU hatch/wipeout buffers are
uploaded on geometry_epoch only (see render.rs — they're "static
buffers"), so any CPU-side cull at build time would freeze the
visible set at the geometry epoch boundary and never re-evaluate on
pan. Reverted that approach; the build-time function now returns the
full visible set again and the cache key is back to geometry_epoch.

The actual per-frame frustum cull moves into the existing draw-time
skip-flag machinery:

- `compute_hatch_lod` now also folds in `aabb_offscreen` (ORed with
  the existing Phase 3.3 sub-pixel skip), so out-of-view hatches are
  skipped at the draw call.
- New `compute_wipeout_lod` + `wipeout_skip_flags` mirror the hatch
  path. The wipeout draw loop honors the flag.
- `Primitive::prepare` calls the new compute step alongside the rest.

Per-frame projection + skip is a few hundred microseconds on dense
docs; far cheaper than re-uploading GPU buffers per pan tick.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 15:02:07 +03:00
..
app feat: in-app update notice — checks GitHub releases on startup 2026-05-16 19:55:57 +03:00
command cargo fmt 2026-05-12 10:36:15 +03:00
entities fix(scene): per-line text greek honors word-wrap subline count 2026-05-15 17:41:56 +03:00
io chore: drop legacy comments and the last unused dead_code allows 2026-05-16 02:04:41 +03:00
modules fix(scene): hatch boundary + pattern precision for large-WCS drawings 2026-05-16 08:41:23 +03:00
scene perf(pipeline): per-frame hatch+wipeout frustum cull at draw time (Phase 2.3) 2026-05-17 15:02:07 +03:00
shaders fix(scene): hatch boundary + pattern precision for large-WCS drawings 2026-05-16 08:41:23 +03:00
snap cargo fmt 2026-05-12 10:36:15 +03:00
ui feat: in-app update notice — checks GitHub releases on startup 2026-05-16 19:55:57 +03:00
lib.rs feat: in-app update notice — checks GitHub releases on startup 2026-05-16 19:55:57 +03:00
linetypes.rs chore: remove dead UI helpers and orphan toolbar stubs 2026-05-16 00:04:44 +03:00
main.rs feat: in-app update notice — checks GitHub releases on startup 2026-05-16 19:55:57 +03:00
patterns.rs first commit 2026-03-22 14:56:27 +03:00
update_check.rs feat: in-app update notice — checks GitHub releases on startup 2026-05-16 19:55:57 +03:00