forked from 1b-agent/opencadstudio-upstream
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]>
This commit is contained in:
1 parent
de520199ac
commit
f000a8acfb
5 files changed
+169
-5
No files matched your search
+5
-5
@@ -43,7 +43,7 @@ Legend: ✅ Done · ⚠️ Partial · ❌ Not done
|
||||
| Status | Entity | Notes |
|
||||
|---|---|---|
|
||||
| ✅ | **Face3D** | Full tessellation, grips, properties panel — `src/entities/mesh.rs` |
|
||||
| ❌ | **OLE2Frame** | Bounding box + X mark only; no interactivity |
|
||||
| ✅ | **OLE2Frame** | Bounding box + X mark with grips, properties panel, transform — `src/entities/ole2frame.rs` |
|
||||
|
||||
### Wire Fallback Only (no full mesh)
|
||||
|
||||
@@ -189,7 +189,7 @@ These are fixed in our post-load `fix_dxf_dimension_rotations()` in `src/io/mod.
|
||||
| ✅ | **Dimension (all)** | `text_rotation` | 53 | `src/scene/tessellate.rs::dimension_text_natural_rotation()` |
|
||||
| ✅ | **AttributeEntity** | `rotation` | 50 | `src/io/mod.rs:224` |
|
||||
| ✅ | **AttributeDefinition** | `rotation` | 50 | `src/io/mod.rs:219` |
|
||||
| ❌ | **Shape** | `rotation` | 50 | Shape not currently rendered — low priority |
|
||||
| ✅ | **Shape** | `rotation` | 50 | Fixed in `fix_dxf_dimension_rotations()` — `src/io/mod.rs` |
|
||||
|
||||
---
|
||||
|
||||
@@ -207,13 +207,13 @@ These are fixed in our post-load `fix_dxf_dimension_rotations()` in `src/io/mod.
|
||||
|
||||
| Status | Count |
|
||||
|---|---|
|
||||
| ✅ Done | 44 |
|
||||
| ✅ Done | 46 |
|
||||
| ⚠️ Partial | 3 |
|
||||
| ❌ Not done | 2 |
|
||||
| ❌ Not done | 0 |
|
||||
| **Total** | **49** |
|
||||
|
||||
### Remaining gaps by priority
|
||||
|
||||
**Medium:** Viewport GPU scissor rect (pixel-level boundary clipping for overlapping viewports)
|
||||
|
||||
**Low:** LWPolyline plinegen (GPU shader change needed) · OLE2Frame improvement · Shape rotation
|
||||
**Low:** LWPolyline plinegen (GPU shader change needed)
|
||||
Reference in new issue
Block a user