cad-editor/src/scene
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 398eee551d feat(pipeline): per-instance visibility for batched hatches (Phase 4-B, step 4)
Adds a dedicated `visibility: array<u32>` storage buffer (binding 4)
alongside the existing batched hatch buffers. Vertex shader reads
`visibility[v.instance_index]` — 0 → emit an out-of-NDC clip
position so the GPU rasterizer clips the primitive before the
fragment stage runs.

`compute_hatch_lod` now drives this buffer instead of (or alongside,
for the per-hatch fallback) `hatch_skip_flags`. Walks a per-instance
CPU AABB mirror that the builder fills at upload time (`instance_aabbs`),
applies the same `aabb_below_pixel` (sub-pixel LOD) OR `aabb_offscreen`
(frustum cull) rule the legacy path used, and pushes the resulting
0/1 flags via `queue.write_buffer` on a separate 4 B-per-hatch buffer
— ~40 KB per pan tick for 10 k hatches, far cheaper than re-writing
the 112 B-per-instance data.

Step 5 will remove the legacy `gpu_hatches` Vec, the per-hatch draw
loop, and `hatch_skip_flags` once the batched path has soaked.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 20:11:28 +03:00
..
pipeline feat(pipeline): per-instance visibility for batched hatches (Phase 4-B, step 4) 2026-05-17 20:11:28 +03:00
acad_to_truck.rs fix(render): preserve f64 precision until world_offset subtraction 2026-05-12 23:47:40 +03:00
block_cache.rs fix(scene): per-line text greek honors word-wrap subline count 2026-05-15 17:41:56 +03:00
camera.rs cargo fmt 2026-05-12 10:36:15 +03:00
complex_lt.rs cargo fmt 2026-05-12 10:36:15 +03:00
cxf.rs cargo fmt 2026-05-12 10:36:15 +03:00
dispatch.rs first commit 2026-03-22 14:56:27 +03:00
grip.rs cargo fmt 2026-05-12 10:36:15 +03:00
hatch_model.rs fix(scene): hatch boundary + pattern precision for large-WCS drawings 2026-05-16 08:41:23 +03:00
hatch_patterns.rs first commit 2026-03-22 14:56:27 +03:00
hit_test.rs fix(hit_test): correct hatch selection — NaN-aware ray-cast + block-insert resolve 2026-05-16 13:02:57 +03:00
image_model.rs perf(scene): extend viewport scissor to hatch / image / wipeout passes (Phase 1.4) 2026-05-15 23:13:16 +03:00
mesh_model.rs chore: drop dead scene/IO helpers + simplify XATTACH command state 2026-05-16 00:10:20 +03:00
mod.rs fix(scene): emit entities with degenerate bbox from the quadtree path 2026-05-17 16:02:09 +03:00
object.rs first commit 2026-03-22 14:56:27 +03:00
paper_canvas.rs fix(scene): hatch boundary + pattern precision for large-WCS drawings 2026-05-16 08:41:23 +03:00
properties.rs refactor: deduplicate entity type name mapping 2026-04-24 01:44:33 +03:00
quadtree.rs chore(quadtree): silence dead-code warnings on planned API 2026-05-17 19:34:56 +03:00
render.rs feat(pipeline): per-instance visibility for batched hatches (Phase 4-B, step 4) 2026-05-17 20:11:28 +03:00
selection.rs Split large files: ribbon widgets and scene render/selection 2026-03-22 23:07:43 +03:00
solid3d_tess.rs perf(scene): multi-resolution mesh LOD (Phase 3.4) 2026-05-15 23:30:13 +03:00
tessellate.rs perf(scene): zoom-adaptive arc tessellation for hatch boundary outlines 2026-05-16 07:55:46 +03:00
transform.rs cargo fmt 2026-05-12 10:36:15 +03:00
truck_tess.rs perf(scene): zoom-adaptive arc tessellation for hatch boundary outlines 2026-05-16 07:55:46 +03:00
viewport_pane.rs cargo fmt 2026-05-12 10:36:15 +03:00
wire_model.rs cargo fmt 2026-05-12 10:36:15 +03:00