-
Notifications
You must be signed in to change notification settings - Fork 1
Architettura
lukethehawk edited this page Jul 9, 2026
·
3 revisions
- Vite per build/dev server.
- Electron per app desktop locale.
- Three.js per scena 3D, camera, materiali e STL.
-
three-bvh-csgper booleane. -
node --testper test unitari. - GitHub Actions + GitHub Pages per deploy web.
-
index.html: markup UI. -
src/style.css: stile e layout. -
src/main.parts/*.js: controller principale diviso in parti. -
src/main.js: generato dascripts/assemble-main.cjs, non editare a mano. -
src/geometry.js: funzioni mesh pure. -
src/primitives.js: primitive solide, piani, testo e ingranaggi. -
src/snapping.js: snap a griglia, punti e inferenze. -
src/measurement.js: misure. -
src/hole-detection.js: riconoscimento fori. -
test/*.test.js: test.
-
model: mesh STL principale. -
selected: faccia o corpo selezionato. -
activeTool: strumento attivo. -
undoStack/redoStack: storia geometrie. -
snapPoints: punti strutturali e centri faccia. - stati temporanei: box, cilindro, cono, piramide, gear, piano, testo, taglio, foro, linea e misura.
La selezione faccia usa findCoplanarRegion().
La selezione oggetto usa findConnectedComponent(), partendo dal triangolo
cliccato. Questo permette di modificare un corpo separato dentro la stessa mesh
STL senza prendere tutto il modello.
fitView() usa bounding box, FOV verticale/orizzontale e margine di sicurezza
per inquadrare il modello senza zoom eccessivo.
STL non contiene feature CAD, vincoli, cronologia o unità. Forma 3D interpreta le unità come millimetri e lavora direttamente sui triangoli.