Repository navigation
Commit 6b40e47
committed
v1.4.7 — 3D printer integration + Snapmaker live + rack schema migration
Major release introducing 3D printer management as a first-class feature
alongside the inventory:
- "Printers" tab with drag-and-drop grid, 5 supported brands
(Bambu Lab / Creality / Elegoo / FlashForge / Snapmaker), per-brand
model catalog with photos, online/offline indicator via HTTP ping
- Side card with editable connection / credentials, gear button →
Printers Settings modal (add + edit), inline edit on every field
with serverTimestamp updatedAt
- Snapmaker U1 live integration over Moonraker WebSocket: WebRTC
camera, live extruder + bed temperatures, filament data per slot
with click-to-edit, active-print job card (slicer thumbnail +
progress + state pill + layer counter), reconnect with backoff
- Inline filament editor as a stacked bottom-sheet with 3 sub-screens
(summary, two-column filament picker, 24+1 colour grid). Sub-type
drives a select populated from data/id_aspect.json defaulting to
"Basic" so SET_PRINT_FILAMENT_CONFIG is always sent with all 5
expected args (firmware ignores the call when one is missing)
- Custom colour picker uses an inline transparent <input type=color>
overlaid on the slot so the OS-native picker anchors correctly to
the click position instead of the top-left of the window
- Debug-only request log with pause/resume, clear, and a JSON paste
zone for hand-crafted Moonraker calls
Storage schema migration:
- Spool inventory docs: rack_id / level / position top-level fields
repackaged into a single nested rack: { id, level, position }
object. Twin-aware (every write mirrors the location to the linked
twin tag), schema-agnostic reads (normalizeRow + state.rows fallback
keep the rack queries working through the migration window)
- Generic migration UX (consent modal → progress modal → silent done
state) reused from the v1.4.5 UID migration with new generic copy
so future schema upgrades can plug in without rewording
Other:
- Debug-mode now gates the developer-facing UI: the printer raw JSON,
the Snapmaker request log, and the spool raw JSON only render when
users/{uid}.Debug === true. Toggling the switch re-renders any open
panel so the sections appear/disappear immediately.
- ~80 new i18n keys × 9 locales (en, fr, de, es, it, pl, pt, pt-pt, zh)
- Brand catalog data committed under data/printers/ + brand photos
under assets/img/{bbl,cre,eleg,ffg,snap}_printers/. New SVG icons:
icon_pause.svg, icon_printer.svg
- id_brand.json: small catalog tweak (added CaiLab + Tinmorry,
renamed Filforme casing)1 parent 15fdc6c commit 6b40e47
90 files changed
Lines changed: 6647 additions & 78 deletions
File tree
- assets
- img
- bbl_printers
- dev_mode
- serie_X
- serie_a
- serie_h2_p2
- serie_p1
- cre_printers
- eleg_printers
- ffg_printers
- lan_connect
- snap_printers
- svg/icons
- data
- printers
- renderer
- locales
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
0 commit comments