-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Where 4H-Unfolder is headed. Items are drawn from the internal tech-debt log; this page is the public version. Priorities: 🔴 High · 🟡 Medium · 🟢 Low.
Want to help with any of these? See CONTRIBUTING and open an issue to claim it.
Delivered in v0.3.0.A (Windows) / v0.0.0.6-alpha (macOS) — the "papercraft-parity" effort, learned from studying rodrigorc/papercraft and osresearch/papercraft; on both platforms unless noted:
- ✅ Coplanar fold-line hide — suppress fold lines between near-flat faces
- ✅ Edge-matching labels — cut-edge pair numbers on canvas + export, for assembly guidance
- ✅ Merge adjacent flaps on macOS — ported without Clipper2 (dependency-free polygon union)
- ✅ Auto-arrange tries a 90° rotation per piece on macOS — already on Windows, now matched
- ✅ Overlap-reducing unfold retry — automatically tries alternate near-minimal spanning trees
when the default unfold overlaps, keeping the least-overlap result (epsilon-bounded tie-break —
real meshes almost never have exact-tied dihedral angles, so this needed care to be effective;
see
PARITY-PROGRESS.md)
Delivered in Windows v0.1.1.A:
- ✅ Outline padding — polygon-offset outline around pieces
- ✅ Merge adjacent flaps — union of neighbouring tab polygons
- ✅ Join connected cut edges — reconnect adjacent isolated cut edges
(macOS outline padding is computed but not yet wired to export/canvas; join connected cut edges isn't ported yet — tracked under macOS parity below.)
| Priority | Item | Notes |
|---|---|---|
| 🟢 | Select symmetrical pair | Pick an edge/piece and auto-select its mirror |
| 🟢 | Split window | Detachable / side-by-side 3D + 2D panes |
| 🟢 | Change coordinates | Re-origin / re-orient the model interactively |
| 🟢 | Settings wiring |
EditFlapsViewModel hardcodes 5 mm / 45° — fall back to AppSettings
|
| 🟢 | Corrupt-data warning |
FlapOverride.Deserialize silently ignores bad data — surface a warning |
| 🟢 | Configurable retry budget | Overlap-reducing unfold retry currently fixed at 8 attempts — consider exposing as a setting for very large meshes |
Goal: reach feature parity with Windows, then graduate from alpha → beta.
| Priority | Item |
|---|---|
| 🔴 | Wire outline padding into export/canvas (the offset math already exists — PolygonOffset) |
| 🟡 | Port "join connected cut edges" from Windows v0.1.1.A |
| 🟡 | Verify full feature parity — resolve the ❔ rows |
| 🟡 | Extra import formats (Assimp equivalent) |
| 🟡 | Notarized, signed distribution (Developer ID) |
| Priority | Item | Notes |
|---|---|---|
| 🟢 | Performance | Overlap detection now uses a spatial grid; profile meshes > 2000 faces for remaining hotspots |
| 🟢 | Docs | Fill wiki placeholders (demo GIF, per-step screenshots); add a Glossary — see Glossary |
| 🟡 | Interactive Edge/Face mode | rodrigorc-style: click edge to cut/join, drag/rotate piece, all in one polished 2D workflow — both platforms already have partial edge-toggle + drag/rotate; this unifies them. Large item, own task. |
For released versions and their changes, see the git tags
(v0.0.1.A … v0.3.0.A) and
4h-unfolder-win/BUGS_HISTORY.md in the repo.
This roadmap reflects intent, not commitment — priorities may shift.
4H-Unfolder — Windows v0.3.0.A · macOS v0.0.0.6-alpha · MIT License
👤 Using 4H-Unfolder
- Installation
- Quick Start
- Editing Edges & Flaps
- Export & Printing
- Project Files (.4hu)
- FAQ & Troubleshooting
🛠 Development
📖 Reference
🔗 Links