printhive/lib
dlawler489 d4b7e29348 Browse archives, preview companion files, and view FBX/STEP/3DM/OBJ+MTL
Archives
- ZIP, 7Z, RAR and TAR/.tar.gz uploads are indexed in the background into
  archive_entries (7-Zip compiled to WASM in a worker thread; node-tar for
  tar). macOS/Windows clutter and paths that could escape the extraction
  folder are skipped.
- Models inside archives are extracted once per archive to hash and
  geometry-fingerprint them, so duplicates are found inside packs too.
  Pictures, PDFs and readmes are listed but never matched.
- New routes list an archive's entries and serve/convert a single entry,
  extracted on first use and cached under extracted/.

Viewer
- Model detail lists what's inside each archive with view/download links;
  opening an entry adds a viewer tab.
- New 3D formats: FBX (with sibling textures), OBJ with its MTL and
  textures, STEP/STP via occt-import-js, and Rhino 3DM via rhino3dm — the
  WASM readers are served from node_modules, loaded on first use.
- Pictures, PDFs and text files (jpg/png/gif/webp/bmp/svg, pdf, txt/md)
  can be uploaded and preview in the viewer; a model without an embedded
  3MF preview uses its first picture as the card thumbnail.
- Inline file responses send nosniff, and SVGs are sandboxed.
- GLB conversions write to a temp file and rename, so a half-written
  preview is never served; a later tab can't be overdrawn by a slow load.
- Better 3MF card image: the project thumbnail or plate 1 render, not a
  slicer pick map.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 07:36:47 +10:00
..
importers Initial commit: Printhive 3D-print file library 2026-06-22 13:15:17 +10:00
archives.js Browse archives, preview companion files, and view FBX/STEP/3DM/OBJ+MTL 2026-09-15 07:36:47 +10:00
archiveWorker.js Browse archives, preview companion files, and view FBX/STEP/3DM/OBJ+MTL 2026-09-15 07:36:47 +10:00
auth.js Add email/password auth + SMTP password resets 2026-06-22 22:33:11 +10:00
converter.js Stream-parse 3MF files so Bambu projects don't exhaust memory 2026-09-15 07:02:00 +10:00
db.js Initial commit: Printhive 3D-print file library 2026-06-22 13:15:17 +10:00
duplicates.js Add duplicate finder, trash, notes, and library search/filters 2026-09-14 23:06:09 +10:00
fileProcessor.js Browse archives, preview companion files, and view FBX/STEP/3DM/OBJ+MTL 2026-09-15 07:36:47 +10:00
fingerprint.js Browse archives, preview companion files, and view FBX/STEP/3DM/OBJ+MTL 2026-09-15 07:36:47 +10:00
flaresolverr.js Initial commit: Printhive 3D-print file library 2026-06-22 13:15:17 +10:00
licenses.js Add per-license commercial-use rules (settings + auto-register) 2026-06-23 10:20:28 +10:00
mailer.js Add email/password auth + SMTP password resets 2026-06-22 22:33:11 +10:00
python.js Stream-parse 3MF files so Bambu projects don't exhaust memory 2026-09-15 07:02:00 +10:00
store.js Browse archives, preview companion files, and view FBX/STEP/3DM/OBJ+MTL 2026-09-15 07:36:47 +10:00