One bookmark for everything that needs printing across the gf.cx and dogwood stacks. Print is the verb — labels, plastic-tags, apparel, photographs, signs, and service-design maps are sibling outputs of the same workshop, not tabs of one category. Each tab below is its own pipeline: local printing for the small stuff, partner-API ordering (Pwinty, Prodigi, Printful) for the wide-format and POD work. Live tabs ship; planned tabs show their roadmap.
BRAND_REGISTRY in ~/Code/svc.gf.cx/src/index.ts. Scheme: 1xxx vehicles · 2xxx outdoor power · 3xxx tools · 4xxx leisure. URL hint off = label shows brand only — the QR carries the URL. Roadmap: per-label scan trace + aggregated analytics (sketched in panel below).
/api/records; filter by shipment via the Manifest dropdown. URL hint off = label shows brand name only, since the QR carries the URL — cleaner on small physical surfaces. Roadmap: per-label scan trace + aggregated analytics (sketched in panel below).
1.5 × 2.5" white plastic hang-tags (MECCANIXITY-style) with an integrated one-way locking cable-tie. The goldilocks substrate between paper labels (cheap, indoor, fall apart) and metal-stamped (industrial, expensive, overkill) — rigid enough for outdoor + grip use, ~$0.15/tag at 100-count, and the single-use lock means a tag is hard to swap without destroying it (deters casual tampering).
Use cases: pa.gf.cx equipment (mowers, generators, blower, snowblower, chainsaw — survives the tool shed) · io.gf.cx/found tags (lost-and-found durable attachment, weather-tolerant) · svc.gf.cx outdoor service records (HVAC, valves, breakers) · abbeyroad.gf.cx guest-key fobs (post-booking welcome QR) · asset re-sale theft-recovery stubs (io.gf.cx/asset/<slug>).
@page) · live preview per tag · ⌘P → print to label sheet → peel + stick on the plastic tag faces → attach via the locking tie. Hookpoints (data-tag-id, data-tag-slug, data-qr-url) for re-print history + scan analytics.pa.gf.cx/equipment/<slug>. Batch of 8 fills one Letter sheet — efficient against the per-sheet-vs-per-tag waste curve.Wide-format printed references pinned in the workshop / utility room / panel cupboard. Each map is a spatial or relational diagram of a system you need to reference while your hands are dirty — service network with vendor contacts, electrical-panel circuit map, irrigation zone schematic, MVHR airflow diagram, lawn-equipment maintenance flowchart.
A1 paper (594 × 841 mm) is the sweet spot — large enough to read from across the room, small enough to fit on most workshop walls without dominating. A3 / A2 / Letter fallbacks for smaller spaces.
svc.gf.cx/maps/z665-service-network, pa.gf.cx/electrical/panel-map). Map registry in maps/index.json per Worker. Diagrams version-controlled in git alongside the data they describe.sandbox.gf.cx/print/ with the order-spec prefilled. Headline / Subhead inputs override the sample text across all cards — useful for testing one phrase against every size. Prices shown in USD (≈ from Prodigi's GBP wholesale display · they're UK-based, multi-currency via API). Confirmed wholesale: 12×18 corrugated ≈ $12, metal 18×24 ≈ $57. Mid-sizes TBD on first sandbox order — sandbox returns the authoritative US-fulfilled USD price. Hookpoints: data-sign-sku · data-sign-size · data-sign-material.
Selected images from the Audrey photo library and the gf.cx / pa.gf.cx / audrey-archive substrates → photo-grade print partners for fine-art paper, canvas, framed, metal, acrylic. Scale ladder: 8×10″ desk-print · 11×14″ small wall · 16×20″ standard wall · 24×36″ statement · 36×48″ centerpiece.
This is the highest-quality-bar tab on the cockpit — color reproduction, paper choice, ICC profile matter. Browser-side soft-proofing before commit prevents the "print arrived wrong color" round-trip.
r2://gfcx-print-masters/. Per-image sidecar JSON: native aspect ratio, recommended max size, ICC profile, color notes, photographer/era tags. Curated subset of the broader Audrey library (only print-grade images live here).Prodigi svc.gf.cx API) · sandbox first via sandbox.gf.cx/print/ · drop-ship direct to recipient. Alternative partners pluggable per-image: Whitewall (gallery-grade fine art, manual upload), Bay Photo (US Pro), Theprintspace (UK, used previously for dare.co.uk).feedback_prodigi_color_spec_2026-XX-XX.mdExisting Dogwood / audreyinc product surface — T-shirts, totes, sweatshirts, postcards, greeting cards — managed through this same cockpit instead of jumping between vendor dashboards. Print-on-demand workflow with no inventory, no fulfillment overhead.
Partner candidates already wired: Pwinty / Prodigi (Dogwood account, API enabled — credential in 1P as Prodigi svc.gf.cx API). Alternatives to evaluate: Printful (broader catalog, slightly higher cost), Printify (multiple supplier-network, lowest cost / variable quality).
Pre-print and post-stick instrumentation. Each rendered label already carries data-qr-url + data-tag-id + data-tag-slug attributes so future scripts can hook in without touching the render code. Today's Test ↗ button is the manual entry point — opens the first label's URL in a new tab for an eyeball check. Below is the planned arc.
data-qr-url in the active tab (HEAD request, sibling-origin so CORS is open) → render a colored dot on each label (✓ green = 200, ⚠ amber = 3xx, ✗ red = 4xx/5xx/network). Pre-print sanity check that no label ships pointing at a 404. ~2 hr.pa.gf.cx/service-records/ — could live at print.gf.cx/analytics or merge into the operator dashboard. ~6 hr after trace lands.data-qr-url = the URL the QR encodes · data-tag-id = svc numeric id where applicable · data-tag-slug = canonical slug. validateTab(tabId) is the seed function — extend to validateAllTabs() + traceScan(tagId) + analyticsForTag(tagId) as each feature lands.