Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions READY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Is the Project Ready?

**Yes β€” the project is ready for deployment and usage.**

## Why

1. **No build step required.** The project is pure static HTML, CSS, and JavaScript. There are no compilation, transpilation, or bundling steps needed.

2. **All vendor dependencies are already present.** `lib/three.min.js` (~600 KB) and `lib/OrbitControls.js` (~25 KB) are committed to the repository. The 3D simulations work out of the box without running `vendor-dependencies.sh`.

3. **All nine simulations are fully implemented.** Every HTML page, its paired CSS stylesheet, and its simulation JavaScript file exist and are consistent with each other:
- `hooke-2d.html` / `hooke-3d.html` β€” Hooke's Law (2D & 3D)
- `trazione.html` β€” Tensile test
- `compressione.html` β€” Compression test
- `flessione.html` β€” Bending test
- `torsione.html` β€” Torsion test
- `taglio.html` β€” Shear test
- `fatica-flessione.html` β€” Bending fatigue
- `fatica-termica.html` β€” Thermal fatigue

4. **Shared modules are integrated across all pages.** `particle-system.js`, `performance-monitor.js`, `shared-materials.js`, `chart-modal.js`, `ui-utils.js`, and `graph-renderer.js` are loaded by the correct pages and are internally consistent.

5. **GitHub Pages deployment is already configured.** A `CNAME` file (`sim.lucazani.com`) is present, and the `.gitignore` explicitly allows `lib/*.js` to be committed so the hosted site has everything it needs.

6. **Data export works.** Every mechanical-test simulation has a working CSV download button that serialises recorded data to a file.

## What To Do To Deploy

- **Locally:** `python3 -m http.server 8080`, then open `http://localhost:8080`.
- **GitHub Pages:** push the repository and enable Pages in Settings β†’ Pages. The `CNAME` and `lib/` files are already committed, so no additional steps are required.
- **Any static host (Netlify, Vercel, S3, etc.):** upload the repository as-is; no build command needed.

## Caveats

- There are **no automated tests**. The simulations are physics visualisations; correctness relies on manual verification of the rendered output and the exported CSV data.
- Opening `index.html` directly via `file://` can cause WebGL failures in Chrome/Edge. Always use a local HTTP server for development.
- Requires a modern browser with WebGL support (Chrome 120+, Firefox 120+, Safari 17+, Edge 120+).
Loading