Loading inventory…
Category
Pass preview
Layout
Preview · 9×8 print bed
Print Jobs
Loading jobs…
PDF Extract (canva_extract)
Upload a Canva-exported PDF; the extractor produces one PNG per unique tile page (deduped). Once extracted, click "Continue to Assignment" to organize tiles into boards, sets, or a loose bucket.
Extracted tiles
Assignment Tool (inventory browser)
Browse and organize the whole image inventory — pool tiles, committed boards & sets, and recent extractions. Focus a source on the left, build boards in the workspace, and roll them into sets. New to it? Click ? for a walkthrough.
BG Tuner (bg_conditioning / Gradio)
Launcher for the existing Gradio background-removal tuner. First launch takes 5–8s (rembg + torch import).
BG Batch (bg_conditioning / batch)
Apply a saved tuner params profile to every image in a folder. Per-file status streams as the worker runs.
Batch progress
Image Proof (3 templates · customer-facing PNG)
Pick a template + source + variant. Live preview updates client-side; gradient placeholder cells become real thumbnails as you pick. Generate writes the full-fidelity PNG to production/assets/proofs/ with the variant's corner_radius + optional watermark applied.
Recent proofs
No proofs yet — generate one above.
Calibration Templates (per-variant PNG / SVG)
Render alignment templates with divider walls, image-area outlines, cell labels (R#C#), and rounded image-area corners. Click any variant card to focus the cell close-up preview.
Loading variants…
Click a variant card to focus.
Profiles (saved calibration · list + editor)
Saved calibration profiles with CD0–CD9 column / RD0–RD8 row divider offsets. Live SVG preview tracks the editor inputs in real time. Click ★ to set your default profile for this jig — it's per-operator (your own ★, baseline until you set one).
Loading profiles…
Dimension Profiles (Δ-overlays on the variant baseline · per jig instance)
Sparse Δ-overlays layered on the committed TOML baseline (effective = baseline + Δ), scoped per jig instance — mirrors Calibration Profiles. Definitions are shared; which overlay is active is local to this machine. The active overlay flows into Calibration Templates and Set Picker compose automatically.
Loading…
Promote overlay → new baseline variant
Writes the overlay's effective geometry (baseline + Δ) as a new
first-class variant in the source variant's family TOML — a permanent,
committed edit (same as Tile Specs → Save to TOML).
—
New short name *
→ —
New code *
3 uppercase letters
OCP Viewer (ocp-vscode subprocess on :3938)
Launch / stop the OCP viewer. Send variants to the running viewer for inspection.
Variants
Build a variant from libs/dimensions/profiles/*.toml and push it into the running viewer. Variant geometry uses default cols/rows; for custom grids use the Jig Instances sub-tool's Register new jig flow.
Recently sent
Each Send-to-viewer click appends here so the operator can re-send without scrolling back to the card grid.
- (nothing sent yet this session)
Jig Instances (physical 3D-printed jigs · STL exports keyed by instance ID)
Register a new physical jig (next <CODE>-NN ID auto-allocated; STL written with sibling .params.json). Retire / un-retire actions toggle status; retired jigs stay visible for historical reference but production jobs reject them.
Register new jig
Tile Specs (variant browser + editor · libs/dimensions/profiles/*.toml)
Browse + edit variant dimensions. Defaults to View mode (fields locked); click Edit to unlock + reveal Save actions. Save-to-TOML triggers a cascade-confirm modal that lists every downstream variant the change would affect.
—
—
Cascade impact — confirm before saving
STLs already on disk are NOT regenerated until you re-export. Calibration templates and downstream consumers will pick up the new dims on next render.
Render Audit (verify PNG dims + alpha against filename + spec)
Walks a render-output dir and checks each PNG against the
<W>x<H>mm token in its filename. OK = file's
pixel dims match the expected px at 600 DPI within tolerance.
MISMATCH = real bug to investigate. NO_MM =
filename has no mm token (can't check dims, alpha still reported).
Also surfaces alpha mode + α distribution so transparency-vs-flat-white
questions get a definitive yes/no without a viewer round-trip — the same
audit pattern that settled SP-10 and SP-12.
Turn on Flag suspect flatten to also flag RGBA renders
that came out (near-)fully opaque — a likely botched transparency
(e.g. the SP-18 black-background bug). These show as a SUSPECT
pill in the Flatten column.
| Check | File | Mode | Size (px) | Expected (px) | Δ | Alpha | Flatten | Embedded DPI |
|---|
Settings (app preferences)
Production Hub configuration: ports, compose defaults, watermark, paths display, and future stubs (Backups / Logging / Display). Stored in production/data/settings.json (local, not git-tracked). Note: API keys and server host/port live in .env — not surfaced here.
production/data/settings.json.
Per-row modified badges flip on edit; defaults can be reverted per-row.
Save changes from the bar at the top of this pane.
OCP / CAD — viewer subprocess + STL/STEP export defaults
OCP viewer settings + per-export defaults. The viewer port is set via the OCP_VIEWER_PORT env var (avoid 3939 — VSCodium ocp-vscode). Changes apply on next launch (viewer) or next export (STL/STEP).
BG Tuner — Gradio popout subprocess port
Port the BG Tuner subprocess listens on. Change applies on the next Launch (stop + relaunch from Tools → BG Tuner if the tuner is already running). Avoid common dev ports (3000, 5173, 8080, 8081).
Compose defaults — pre-selected values in Set Picker
Initial values shown in Set Picker when you start a new compose session. Overridden per-job in the UI without affecting these defaults.
SVG export — eufyMake "SVG·eufy" download scaling
Only affects the SVG·eufy download on Calibration → Templates (and the print_layout --eufymake CLI). The regular SVG and all PNGs are unchanged.
eufyMake DPI ÷ 96 to cancel that. The regular SVG stays correct for Inkscape / Illustrator / browsers.
How to (re)calibrate — if an SVG·eufy file imports at the wrong size:
- Download the PNG for the same variant; note its correct W (mm).
- Drag the SVG·eufy into eufyMake; read the W it lands at.
- New DPI =
current DPI × (correct W ÷ measured W).
Image Proofs — watermark + customer-facing PNG render defaults
Defaults applied when generating customer proof PNGs. Operator can override the watermark toggle per-job in Tools → Image Prep → Proof; the file path + opacity + position + scale + composite-order settings here are global defaults used by every render that has watermarking enabled.
Paths — derived at startup; shown for confirmation
Computed from libs/paths.py at startup. Read-only here.
Backups — scheduled snapshots of TOMLs / overlays / profiles
Will eventually: periodic snapshot of libs/dimensions/ (baselines + overlays), the per-operator production/data/*.local.json stores, and print_layout/profiles/ to a backup directory. Phase 2 territory; section header reserves the spot.
Logging — retention policy + log level
The sync_log table and future audit-trail log will gain a retention/rotation policy here. Configurable log level for uvicorn + integration clients.
Display — theme, font size, sidebar default
UI preferences: theme (dark today), base font size, sidebar default-collapsed-on-load toggle. Mostly polish.