An interactive cell architecture gallery built with React, Vite, Three.js, and staged GLB or procedural 3D cell assets. The project recreates a premium educational biology interface with selectable cell types, organelle details, comparison mode, responsive layout, and visual verification coverage.
Open the live Vercel deployment
- Seven specimen views: plant cell, white blood cell, neuron, epithelial cell, bacteria cell, animal cell, and muscle cell.
- High fidelity Plant Cell and White Blood Cell GLB rendering with native texture preservation.
- Mesh first experience with 3D canvas rendering as the default view.
- AI Tutor panel with learning prompts, lesson focus, and mastery tracking.
- Model loading overlay for large GLB assets on slower networks.
- Procedural fallback geometry for specimens that do not yet have production GLB assets.
- Detail panel for organelles, microscope modes, specimen metadata, and comparison workflow.
- Responsive desktop, compact, and mobile layouts with browser screenshot verification.
| Mode | Purpose |
|---|---|
| Mesh | Loads available GLB models or procedural Three.js geometry. |
| Focus | Emphasizes selected organelles and supporting biological details. |
| Layer | Tools |
|---|---|
| App | React 19, TypeScript, Vite |
| 3D | Three.js, React Three Fiber, Drei |
| UI | CSS modules in src/styles.css, Lucide icons |
| Assets | GLB models, transparent PNG thumbnails, NIH previews |
| Verification | Playwright Core, PNG pixel metrics |
.
|-- docs/
| |-- media/
| `-- ASSETS.md
|-- public/
| |-- cell-renders/
| |-- cell-renders-transparent/
| |-- models/
| `-- nih-previews/
|-- scripts/
| `-- verify.mjs
`-- src/
|-- App.tsx
|-- components/
|-- data/
`-- styles.css
Install dependencies:
npm installRun the local development server:
npm run devOpen the app:
http://127.0.0.1:5173/
Build for production:
npm run buildRun visual verification:
npm run verifyThe highest fidelity specimens are loaded from public/models/ and configured in src/data/cells.ts.
| Specimen | Current asset |
|---|---|
| Plant Cell | public/models/plant-cell-first001.glb |
| White Blood Cell | public/models/white-blood-cell-user.glb |
| Animal Cell | public/models/animal-cell-nih.glb |
| Neuron | public/models/neuron-nih.glb |
| Bacteria Wall | public/models/bacteria-wall-nih.glb |
Transparent PNG references in public/cell-renders-transparent/ are used for thumbnails and model previews. Detailed provenance is tracked in docs/ASSETS.md.
npm run verify launches the local app, captures desktop, compact, mobile, and interaction screenshots, then checks canvas pixel metrics to catch blank renders or major layout regressions.
Current coverage includes:
- Desktop, compact, and mobile smoke checks.
- Plant Cell GLB render check.
- White Blood Cell GLB render check.
- Bacteria mesh interaction check.
- Comparison modal check.
- Add production quality GLB models for the remaining specimens.
- Add lazy loading and route level code splitting for 3D bundles.
- Expand educational annotations for each organelle.
- Add screenshot export and 3D export workflows.
- Add asset license metadata directly into the UI.
The application code is licensed under the MIT License. Included GLB models and image assets retain their documented provenance in docs/ASSETS.md.
