Search for What You Need
-
Logos, colors, fontsAll brand assets live in the Brand Library. Use the logo studio to download a logo in any color and background as a PNG with transparency.
-
Master vs saved copiesAnyone can save personal copies of a document; admins (BX team) edit the original master. Saved copies are immutable snapshots — share via the 🔗 Share button.
-
DoC exportUse Export PDF for digital review. CMYK/Pantone export with print-grade color profiles is on the roadmap; the color mode selector is already in the editor's left panel.
-
Adding types, templates, colorsAdmins can add / rename / duplicate / hide / delete document types and templates inline from Documents. Color tokens are similarly editable directly from the Brand Library. Edits commit to the repo and Cloudflare auto-deploys in ~60 s.
Shareable version URLs and new filename format ▾
Every saved copy of a document now has a permanent URL. The original master lives at /documents/<type>/<doc>/og/; each saved copy lives at /documents/<type>/<doc>/<yymmddhhmmss>/ where the slug is the timestamp the copy was saved.
The editor's address bar updates automatically as you switch between master and saved versions in the History panel. A new 🔗 Share button copies the current view's URL to the clipboard so you can paste it into Slack, email, etc. — the recipient lands on the exact version you were looking at.
Filenames also got a precise new shape: {doctype}_{product}_yymmddhhmmss_{user-prefix} — so declaration-of-conformity_nxt-rngd-server_260508094530_bx-team tells you who saved which copy when, at a glance.
DB change: migration 0009 adds versions.slug with a unique-per-document constraint and backfills existing rows from saved_at.
Signature pad — sign with mouse, finger, or stylus ▾
The DoC signature block is now a clickable pad. Clicking opens a drawing modal with a 600 × 200 canvas; Pointer Events capture strokes from mouse, finger (touch), or pen on a stylus-enabled device. touch-action: none stops mobile/tablet from scrolling while you're signing.
On Save, the strokes are converted to inline <svg> with one <path> per stroke and stroke="currentColor" — so the signature scales cleanly to any print size and inherits the rendered ink color from CSS. Stored on the version as signatureSvg; no PNG upload, no fuzziness.
Clear wipes the canvas mid-modal. Cancel keeps any existing signature; Save with no strokes clears it.
Logo studio with PNG export ▾
The Logos section of the Brand Library is now an interactive tool: large viewport on the left, controls on the right. Pick the logo variant (Full, Wordmark, Vertical, Symbol — anything in brand-tokens.json), pick a logo color from any brand color, pick a background (Transparent, White, Furiosa Red, Furiosa Red Dark, or Black).
Click ↓ Download PNG to save a 2000-pixel-wide PNG. The export substitutes currentColor with the chosen hex before rasterizing, computes width/height from the SVG's viewBox, and either fills the chosen background or leaves real alpha-zero pixels for Transparent. File is named {logo}_{color}_{bg}.png.
Admins now also see + Add color at the top of the Colors section and ✏ / 🗑 icons on every color card. Edits commit the entire tokens.json to GitHub via the existing Pages Function and Cloudflare auto-deploys in ~60 s. Slugs are locked on rename so existing var(--brand-...) references never break.
Editor side panel: color mode + frame size ▾
A sticky 220-pixel control panel sits to the left of the document canvas. Two controls today, both stored on the document and persisting across reloads:
Color mode — RGB / CMYK / Pantone segmented control. Stored on documents.color_mode; will drive the CMYK PDF export pipeline once the server-side conversion ships.
Frame size — dropdown populated from the brand library's layout presets (A4, Letter, Legal, …). Picking a size actually changes the page: width and height in CSS pixels are computed from each preset's width_mm / height_mm at 96dpi, applied inline to every .page, and the paginator's available height is recalculated so blocks redistribute across pages correctly.
Admin CRUD for document types and templates ▾
Admins can now manage document types and templates without leaving the list views. Top of Documents gets a + New type button; top of each type's docs list gets + New document. Per-row icon buttons offer Rename, Duplicate, Hide / Show, and Delete.
Hiding is a soft-delete: hidden rows disappear from non-admin views but remain visible to admins with a Hidden tag. Deleting a type with active documents is refused; deleting a document cascades to its saved copies.
Inside the editor, admins also get a ★ Save to master button that updates documents.content directly — anyone opening that doc next sees the new master content. Saved copies in versions stay untouched.
DB changes: migrations 0007 (hidden flag) and 0008 (open INSERT/UPDATE/DELETE on documents and versions for V01 anon).
Editable table columns + sideways table variant ▾
The Title + Table block is now fully shape-editable, not just row-editable. The data shape moved from {rows: [{label, value}]} to {cols: [{header, width}], rows: [[c, c, …]]}. Old saved versions are migrated at read time — no manual SQL needed.
You can + Add column, drag the right edge of any column header to resize it (minimum 30 pt — about three numeric digits at 9 pt body text), and click the × on a column header to remove it. table-layout: fixed keeps widths honored even with long content.
A second variant — Table (sideways) — was added alongside the original (renamed to Table (vertical)). Sideways uses the same data, but renders the first column with the gray bold "label" styling instead of the top row. Use it for fact-sheet style tables where each row is a property.