Skip to content

Limiti e sviluppo

lukethehawk edited this page Jul 13, 2026 · 3 revisions

Limits and Development

Current Limits

  • STL is a triangle mesh, not a parametric CAD format.
  • Booleans need reasonably clean closed meshes.
  • Deleting faces can leave holes.
  • Repair mesh does not automatically close every hole.
  • Applied 3D text becomes mesh and is not editable as text.
  • Gear is appended as a separate body for browser stability.
  • Shorten now caps middle-cut profiles before closing the gap, but very dirty or non-manifold curved sections can still need slicer validation.
  • Hollow is an approximate mesh shell, not a parametric CAD offset.
  • Undo/redo stores geometry, not the full UI state.

Decisions

  • Do not edit src/main.js; edit src/main.parts.
  • Keep English as primary UI/documentation language.
  • Update README, diary and wiki when behavior changes.
  • Prefer pure logic in src/geometry.js or src/primitives.js when possible.
  • After checks pass, commit and push unless the user says not to.

Recent Behavior Notes

  • Ctrl+Y and Ctrl+Shift+Z both redo.
  • Joint profiles support in-plane rotation.
  • Shorten can work on the selected body or the whole file.
  • Split can export either side without applying the split to the scene.
  • Large STL files are allowed; complexity information warns when some operations may be simplified for responsiveness.

Future Ideas

  • Hole filling with preview.
  • 3D transform gizmo.
  • More snaps: perpendiculars, intersections, persistent constraints.
  • Bridge/loft between open cut loops for smoother repair of complex rounded shorten cuts.
  • Internal JSON project format beyond STL.
  • Browser/Electron end-to-end tests.
  • Refactor main controller into smaller modules.

Limiti e sviluppo

Limiti attuali

  • STL e' una mesh triangolare, non un formato CAD parametrico.
  • Le booleane richiedono mesh chiuse e abbastanza pulite.
  • Cancellare facce puo lasciare buchi.
  • Repair mesh non chiude automaticamente tutti i buchi.
  • Il testo 3D applicato diventa mesh e non resta editabile come testo.
  • Gear viene aggiunto come corpo separato per stabilita del browser.
  • Accorcia ora chiude i profili del taglio mediano prima di richiudere il vuoto, ma sezioni curve molto sporche o non-manifold possono ancora richiedere validazione nello slicer.
  • Svuota e' un guscio mesh approssimato, non un offset CAD parametrico.
  • Undo/redo salva geometrie, non tutto lo stato UI.

Decisioni

  • Non modificare src/main.js; modificare src/main.parts.
  • Mantenere inglese come lingua primaria UI/documentazione.
  • Aggiornare README, diario e wiki quando cambia il comportamento.
  • Preferire logiche pure in src/geometry.js o src/primitives.js quando possibile.
  • Dopo controlli verdi, fare commit e push salvo richiesta contraria.

Note recenti di comportamento

  • Ctrl+Y e Ctrl+Shift+Z fanno entrambi redo/ripristina.
  • I profili Incastro supportano rotazione nel piano.
  • Accorcia puo lavorare sul corpo selezionato o su tutto il file.
  • Separa puo esportare un lato senza applicare il taglio alla scena.
  • I file STL grandi non vengono bloccati; le informazioni di complessita avvisano quando alcune operazioni possono essere semplificate per mantenere reattiva l'app.

Idee future

  • Chiusura buchi con anteprima.
  • Gizmo 3D per Transform.
  • Snap piu ricchi: perpendicolari, intersezioni, vincoli persistenti.
  • Bridge/loft tra loop aperti per riparare in modo piu morbido tagli complessi su raccordi arrotondati.
  • Formato progetto JSON interno oltre a STL.
  • Test end-to-end browser/Electron.
  • Refactor del controller principale in moduli piu piccoli.

Clone this wiki locally