forked from 1b-agent/opencadstudio-upstream
feat: GPU scissor rect for paper-space viewport wires
Viewport-projected wires now clip at pixel level to their viewport boundary. - WireModel.vp_scissor: Option<[f32; 4]> — paper-space bbox set on projection - WireGpu.vp_scissor carries it through to the draw loop - Pipeline.compute_wire_scissors() converts paper→NDC→pixel each frame - render() calls set_scissor_rect() per wire, reset after viewport group - INTEGRATION_GAPS.md: Viewport ⚠️ → ✅, all 51 gaps resolved Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
27aca41dd1
commit
899b3f4796
38 files changed
+112
-13
No files matched your search
+4
-8
@@ -55,7 +55,7 @@ Legend: ✅ Done · ⚠️ Partial · ❌ Not done
|
||||
|
||||
| Status | Entity | What works | What's missing |
|
||||
|---|---|---|---|
|
||||
| ⚠️ | **Viewport** (paper space) | Frame (active=gold, inactive=cyan), CPU projection + Cohen-Sutherland clipping, perspective, layer freeze per-viewport, MSPACE switching, pan/zoom/orbit | GPU scissor rect for pixel-level boundary clipping; stencil masking for overlapping viewports |
|
||||
| ✅ | **Viewport** (paper space) | Frame (active=gold, inactive=cyan), CPU projection + Cohen-Sutherland clipping, perspective, layer freeze per-viewport, MSPACE switching, pan/zoom/orbit, GPU scissor rect per viewport wire | Stencil masking for overlapping viewports (rare edge case) |
|
||||
|
||||
---
|
||||
|
||||
@@ -207,13 +207,9 @@ These are fixed in our post-load `fix_dxf_dimension_rotations()` in `src/io/mod.
|
||||
|
||||
| Status | Count |
|
||||
|---|---|
|
||||
| ✅ Done | 50 |
|
||||
| ⚠️ Partial | 1 |
|
||||
| ✅ Done | 51 |
|
||||
| ⚠️ Partial | 0 |
|
||||
| ❌ Not done | 0 |
|
||||
| **Total** | **51** |
|
||||
|
||||
### Remaining gaps by priority
|
||||
|
||||
**Medium:** Viewport GPU scissor rect (pixel-level boundary clipping for overlapping viewports)
|
||||
|
||||
No remaining low-priority gaps.
|
||||
All gaps resolved.
|
||||
Reference in new issue
Block a user