The repo was scaffolded from the vinext starter and a good deal of that scaffolding is still present but unreferenced. Removing it drops three npm advisories and roughly 600 KB of shipped assets.
Database scaffolding — unused
drizzle is not imported anywhere in app/, and .openai/hosting.json has "d1": null, so no binding is ever created.
Shipped but never loaded
- public/basis/ — ~576 KB. No
KTX2Loader is ever registered; loaders.ts sets only the meshopt decoder.
- Keep public/draco/ — also unloaded today, but it is exactly what segmented-asset work would need, and registering
DRACOLoader is on the roadmap.
Dead modules
- app/lib/three/tsl-materials.ts —
medicalRimNode is never imported
- app/chatgpt-auth.ts — starter SIWC helper, never called
AnatomyViewer.prefetch() and the AnatomyAssetManager.prefetch() it delegates to — AnatomyApp does its own fetch warm-up on pointer enter, so neither is reachable
Documentation
README.md is still the untouched vinext starter readme — it documents D1 bindings and ChatGPT sign-in, and says nothing about Anatomy Atelier.
Deliberately out of scope
The non-functional nav items (Systems, Library, Notes) and the quiz answer buttons are dead UI, not dead code. Removing visible features is a product decision, not cleanup, so they are left alone here.
The repo was scaffolded from the vinext starter and a good deal of that scaffolding is still present but unreferenced. Removing it drops three npm advisories and roughly 600 KB of shipped assets.
Database scaffolding — unused
drizzleis not imported anywhere inapp/, and.openai/hosting.jsonhas"d1": null, so no binding is ever created.drizzle-kit(devDependency) — pulls the@esbuild-kit/*chain, 3 of the 18 advisories in Security: 18 npm advisories, incl. 10 reaching production via next and react-server-dom-webpack #12schema.tsis explicitly "intentionally empty"drizzle/,drizzle.config.ts, and thedb:generatescriptShipped but never loaded
KTX2Loaderis ever registered; loaders.ts sets only the meshopt decoder.DRACOLoaderis on the roadmap.Dead modules
medicalRimNodeis never importedAnatomyViewer.prefetch()and theAnatomyAssetManager.prefetch()it delegates to —AnatomyAppdoes its ownfetchwarm-up on pointer enter, so neither is reachableDocumentation
README.md is still the untouched vinext starter readme — it documents D1 bindings and ChatGPT sign-in, and says nothing about Anatomy Atelier.
Deliberately out of scope
The non-functional nav items (Systems, Library, Notes) and the quiz answer buttons are dead UI, not dead code. Removing visible features is a product decision, not cleanup, so they are left alone here.