895 B
895 B
Architecture
Label Tools separates untrusted input from rendering:
labels/data.tsuses toolbox helpers for bounded CSV/JSON parsing and the browser cryptographic RNG for optional virtual fields.labels/stocks.tsstores canonical millimetre geometry and validates every preset/custom grid before rendering.labels/render.tsmaps scalar fields into three fixed layouts, escapes XML, embeds validated local raster data, and places reviewed bwip-js output.labels/export.tsexports exact SVG pages, deterministic fflate ZIPs, or locally rasterized pdf-lib documents.
The React workbench retains the last valid data model after parse errors and limits interactive preview to the first 12 pages. Complete SVG export remains available for all bounded rows. The shared toolbox shell owns theme and portal navigation; all app URLs are relative for nested deployment.