printhive/test
dlawler489 ba3bb415bb Track the filament you have, and what each model asks for
A Bambu Studio or OrcaSlicer 3MF names the filaments its plates use, but
reading that means shelling out to Python, so it can't be done per page load.
A background pass — in the same loop as thumbnails and fingerprints — reads it
once per model into models.filaments, which turns "what can I print now" into
a comparison of two lists.

Adds a Filament page for the spools on hand: material, colour, brand and grams
left, edited in place. Matching is on material only; a project's exact colours
would make almost nothing printable, and a different colour still prints.

Measured on the dev library: 10 models read with no errors, the two Bambu
projects resolving to four PLA colours each, and no plate images written
because the reader skips --images and queues behind anything interactive.

Not done yet: nothing in the library view uses this — no "printable now" badge
or filter — and the Filament page itself has not been seen rendered, because
the local preview browser has no session.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 11:18:54 +10:00
..
fixtures Show 3MF projects plate by plate in their filament colours 2026-09-15 07:49:58 +10:00
ai.test.js Sturdier AI replies: format example, more retries, and errors that show the reply 2026-09-15 20:26:42 +10:00
archives.test.js Browse archives, preview companion files, and view FBX/STEP/3DM/OBJ+MTL 2026-09-15 07:36:47 +10:00
autotag.test.js AI tags and descriptions, search by meaning, and automatic tags 2026-09-15 11:12:58 +10:00
duplicates.test.js Add duplicate finder, trash, notes, and library search/filters 2026-09-14 23:06:09 +10:00
filaments.test.js Track the filament you have, and what each model asks for 2026-09-17 11:18:54 +10:00
geometry.test.js Stream-parse 3MF files so Bambu projects don't exhaust memory 2026-09-15 07:02:00 +10:00
handoff.test.js Open models in your slicer and drag files out 2026-09-15 09:15:37 +10:00
makerworld.test.js Retry MakerWorld's anti-bot check, and flag imports that got no files 2026-09-16 12:34:04 +10:00
project.test.js Open models in your slicer and drag files out 2026-09-15 09:15:37 +10:00
thumbnail.test.js Make thumbnails on the server in the background 2026-09-15 07:54:26 +10:00