Commit Graph
11 Commits
Author SHA1 Message Date
Hakan SevenandClaude Sonnet 4.6 899b3f4796 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 <[email protected]>
2026-05-06 07:12:05 +03:00
Hakan SevenandClaude Sonnet 4.6 27aca41dd1 feat: plinegen + SAB parsing for Solid3D/Region/Body
LwPolyline PLINEGEN=0 (DXF default): emit SegmentedLines with NaN
separators between vertex-to-vertex segments; wire_gpu resets
arc-length to 0 after each NaN so linetype pattern restarts per vertex.
PLINEGEN=1: existing Contour path unchanged (continuous pattern).
WireModel gains plinegen field propagated through tessellate pipeline.

Solid3D/Region/Body: call SabReader::read() when parse_sat() returns
None due to binary SAB format (DWG files / newer AutoCAD exports).

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-06 06:55:28 +03:00
Hakan SevenandClaude Sonnet 4.6 63b17547f9 fix: warn on missing non-ASCII CXF glyphs; close ellipse snap gap
cxf.rs: missing non-ASCII glyphs now emit eprintln! once per font+char
pair via a global Mutex<HashSet> dedup set. ASCII chars silent (expected).

INTEGRATION_GAPS.md: ellipse partial arc snap marked done — endpoints are
correctly emitted via key_vertices → SnapType::Endpoint in snap engine.
Unicode warning gap closed. plinegen behaviour documented.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-05 20:20:16 +03:00
Hakan SevenandClaude Sonnet 4.6 f000a8acfb feat: add OLE2Frame interactivity + fix Shape rotation from DXF
OLE2Frame: full TruckConvertible/Grippable/PropertyEditable/Transformable
impls in src/entities/ole2frame.rs — grips on corners + center, properties
panel, translate/scale transforms.

Shape: rotation (DXF code 50) now converted degrees→radians on load in
fix_dxf_dimension_rotations(), matching Dimension and Attribute behaviour.

All ❌ gaps resolved. Remaining: Viewport GPU scissor, LWPolyline plinegen.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-05 20:12:44 +03:00
Hakan SevenandClaude Sonnet 4.6 de520199ac docs: mark 5 more gaps resolved — thickness, Hatch OCS, RasterImage clip, complex lt, MLine OCS
thickness: ✅ Arc/Circle/Line/LwPolyline/Polyline2D all extrude along WCS normal
Hatch OCS→WCS: ✅ all boundary edge types transformed
RasterImage clip_boundary: ✅ polygonal + rectangular implemented
Complex linetype text: ✅ already done in complex_lt.rs (gap was wrong)
MLine/Leader OCS: ✅ N/A — vertices already in WCS per DXF spec

Remaining: Viewport GPU scissor, LWPolyline plinegen, OLE2Frame, Shape rotation

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-05 20:06:35 +03:00
Hakan SevenandClaude Sonnet 4.6 3ca038bec8 docs: remove Iced 0.14 batch reference from viewport gap description
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-02 20:18:28 +03:00
Hakan SevenandClaude Sonnet 4.6 654b8d579b docs: correct viewport status — compositing largely works, GPU scissor and multi-viewport 3D missing
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-02 20:16:16 +03:00
Hakan SevenandClaude Sonnet 4.6 ba063db617 docs: final gap status update — 39 done, 2 partial, 2 remaining
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-02 20:06:46 +03:00
Hakan SevenandClaude Sonnet 4.6 4da32eb320 docs: update gap status — mark 8 more items resolved, correct inaccuracies
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-02 20:03:40 +03:00
Hakan SevenandClaude Sonnet 4.6 62b179e33e docs: update INTEGRATION_GAPS.md to reflect 8 completed integrations
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-02 19:57:54 +03:00
Hakan SevenandClaude Sonnet 4.6 cda8078905 docs: add acadrust integration gaps audit
Comprehensive backlog of acadrust entity fields, behaviors, and subsystems
not yet integrated into H7CAD rendering, snap, grip, and properties systems.
Covers tessellation gaps, OCS→WCS transform, ByBlock style resolution,
snap/grip point gaps, text rendering, and DXF reader unit bugs.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-04-26 21:58:22 +03:00