<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>cat/diagramzip</title>
<subtitle>a browser-first diagram editor with live svg previews, local drafts and encrypted, accountless sharing</subtitle>
<id>https://src.rest/cat/diagramzip/</id>
<link href="https://src.rest/cat/diagramzip/"/>
<updated>2026-10-17T17:02:20-06:00</updated><entry>
<id>1291881cb0670ccc2d7c6426f67f1a676d8ab274</id>
<title>chore: run the release gate as src.rest CI</title>
<link href="https://src.rest/cat/diagramzip/commit/1291881cb0670ccc2d7c6426f67f1a676d8ab274/"/>
<author><name>cat</name></author>
<updated>2026-10-17T17:02:20-06:00</updated>
<content type="text">forge attest runs .forge/ci in a clean worktree of each commit and signs the result into refs/notes/ci; forge push sends it with the branch. The script runs ./release.sh --check in a throwaway clone with main at the commit, since the gate refuses a detached HEAD, and uses Node.js 24 or newer from PATH. It builds the editor first because the shell Worker&#39;s tests serve apps/editor/dist.</content>
</entry>
<entry>
<id>68515cf99182d2fc4733e14cc67a8774bcbc95d0</id>
<title>docs: build the docs site under a path when forge deploys it</title>
<link href="https://src.rest/cat/diagramzip/commit/68515cf99182d2fc4733e14cc67a8774bcbc95d0/"/>
<author><name>cat</name></author>
<updated>2026-10-17T16:59:56-06:00</updated>
<content type="text">forge site deploy sets FORGE_SITE_URL and FORGE_SITE_BASE; without them the docs still build for the root of docs.diagram.zip. Rendered examples resolve their source JSON against the base URL, so they load under a path too. .forge/sites declares the site so it deploys to https://pages.src.rest/sites/cat/diagramzip/docs/.</content>
</entry>
<entry>
<id>45d39ea0bbfd5b493e2dc3f843b359e010f546bf</id>
<title>chore: refresh edge runtime notices</title>
<link href="https://src.rest/cat/diagramzip/commit/45d39ea0bbfd5b493e2dc3f843b359e010f546bf/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T17:15:59-06:00</updated>
<content type="text">Record the Structurizr unit&#39;s shared SVG parser dependencies in the generated runtime notice.</content>
</entry>
<entry>
<id>6b3e30fec08f0ab2074e5d3991b0821e080c7a2a</id>
<title>fix: normalize Mermaid cluster borders</title>
<link href="https://src.rest/cat/diagramzip/commit/6b3e30fec08f0ab2074e5d3991b0821e080c7a2a/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T17:15:03-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>8b5cae6c1b3c3e8897211af0543edbabaae3d0b7</id>
<title>fix: normalize Mermaid cluster surfaces</title>
<link href="https://src.rest/cat/diagramzip/commit/8b5cae6c1b3c3e8897211af0543edbabaae3d0b7/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T17:14:07-06:00</updated>
<content type="text">Annotate neutral Mermaid cluster and edge-label backgrounds for themed SVGs, bump the normalizer identity, and update contract documentation.</content>
</entry>
<entry>
<id>d9483658a8694957c054906900cb4f19566a155e</id>
<title>test: update Mermaid frame contract URL</title>
<link href="https://src.rest/cat/diagramzip/commit/d9483658a8694957c054906900cb4f19566a155e/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T17:04:42-06:00</updated>
<content type="text">Keep the Browser Run executor expectation aligned with the v2 Mermaid frame URL.</content>
</entry>
<entry>
<id>05c35554c804c8b0cb077d5687759cdff3913970</id>
<title>test(mermaid): protect SVG label configuration</title>
<link href="https://src.rest/cat/diagramzip/commit/05c35554c804c8b0cb077d5687759cdff3913970/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T17:03:59-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>1588ec7b5a2e436d6b9ad602e74e2230aff4c60e</id>
<title>fix(mermaid): render labels as SVG text</title>
<link href="https://src.rest/cat/diagramzip/commit/1588ec7b5a2e436d6b9ad602e74e2230aff4c60e/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T17:03:22-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>eb348748c9c9a073e2a01309526d0ba6aab5b570</id>
<title>test: cover normalizer cache namespaces</title>
<link href="https://src.rest/cat/diagramzip/commit/eb348748c9c9a073e2a01309526d0ba6aab5b570/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T17:00:26-06:00</updated>
<content type="text">Include Structurizr in normalizer-aware cache invalidation and assert all shared renderer cache namespaces carry the normalizer build.</content>
</entry>
<entry>
<id>3f5a2986dea6329a47f2dbed6be578579ceed21d</id>
<title>fix: invalidate renderer caches on normalizer changes</title>
<link href="https://src.rest/cat/diagramzip/commit/3f5a2986dea6329a47f2dbed6be578579ceed21d/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T16:58:08-06:00</updated>
<content type="text">Include the SVG normalizer build in renderer cache keys so a normalizer upgrade cannot serve stale canonical SVG output.</content>
</entry>
<entry>
<id>482971b8151308f04d9c285d566f450b69974e33</id>
<title>feat: generalize block transforms and normalize dark SVGs</title>
<link href="https://src.rest/cat/diagramzip/commit/482971b8151308f04d9c285d566f450b69974e33/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T16:50:37-06:00</updated>
<content type="text">Add the generic block transform endpoint while retaining the legacy tiny route, update SVG normalization for Mermaid dark and transparent output, and document the integration contract.</content>
</entry>
<entry>
<id>92f4e4963b028ee61b8e19bbf7e02951fe475cc8</id>
<title>fix: accept only fenced blocks in the tiny transform body</title>
<link href="https://src.rest/cat/diagramzip/commit/92f4e4963b028ee61b8e19bbf7e02951fe475cc8/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T15:39:47-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>438f90ad102789364ce5a463dafe8875e869a59e</id>
<title>docs: describe the tiny transform endpoint</title>
<link href="https://src.rest/cat/diagramzip/commit/438f90ad102789364ce5a463dafe8875e869a59e/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T15:38:06-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>b17032316c724aa39687f17674f44639df93e475</id>
<title>test: cover the tiny transform endpoint</title>
<link href="https://src.rest/cat/diagramzip/commit/b17032316c724aa39687f17674f44639df93e475/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T15:38:06-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>ed32e765fac7231eb7062717a3736290c98a235f</id>
<title>feat: add the tiny transform endpoint to the shell worker</title>
<link href="https://src.rest/cat/diagramzip/commit/ed32e765fac7231eb7062717a3736290c98a235f/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T15:38:06-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>8dada911fdcece1be97e56dce4b610028b9ecc38</id>
<title>fix: declare supportedAppearances in the shared svg types</title>
<link href="https://src.rest/cat/diagramzip/commit/8dada911fdcece1be97e56dce4b610028b9ecc38/"/>
<author><name>Dami</name></author>
<updated>2026-09-09T15:38:06-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>6b7e26ec2daa0377f1164862f54d47b159576819</id>
<title>feat: Squaring sketches, battery search, polyhedra, and partial rendering</title>
<link href="https://src.rest/cat/diagramzip/commit/6b7e26ec2daa0377f1164862f54d47b159576819/"/>
<author><name>Dami</name></author>
<updated>2026-09-01T19:11:50-06:00</updated>
<content type="text">Sides can be named unknowns or expressions; groups say what they hang under
and the sketch is solved exactly. Networks accept faces, polyhedron presets,
and battery any, which tries every wire and lists the candidates. Incomplete
dissections render with hatched gaps, and ? sides fill the gap they land in.</content>
</entry>
<entry>
<id>2a0487f4ca500a855d3897e57836256df0d433f6</id>
<title>test: expect the squaring@2 renderer version</title>
<link href="https://src.rest/cat/diagramzip/commit/2a0487f4ca500a855d3897e57836256df0d433f6/"/>
<author><name>Dami</name></author>
<updated>2026-09-01T18:52:06-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>8792e678d57b5d8a74514bddcefea954f70db5c9</id>
<title>feat: give Squaring dedicated light and dark palettes</title>
<link href="https://src.rest/cat/diagramzip/commit/8792e678d57b5d8a74514bddcefea954f70db5c9/"/>
<author><name>Dami</name></author>
<updated>2026-09-01T18:51:43-06:00</updated>
<content type="text">Add a squaring-semantic normalization profile with voltage bands for squares
and nodes, an indigo wire color in dark mode, and themed labels and block
outlines. Replace interpunct separators with bars.</content>
</entry>
<entry>
<id>8847c5d8e8bea5a0a9ff055adeecc50d2cee218c</id>
<title>chore: add -y flag to release.sh to skip the interactive confirmation</title>
<link href="https://src.rest/cat/diagramzip/commit/8847c5d8e8bea5a0a9ff055adeecc50d2cee218c/"/>
<author><name>Dami</name></author>
<updated>2026-09-01T18:41:20-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>d2db1a821449d2e9c2425bdfafac6db205d2620a</id>
<title>chore: regenerate edge runtime license notice for the squaring unit</title>
<link href="https://src.rest/cat/diagramzip/commit/d2db1a821449d2e9c2425bdfafac6db205d2620a/"/>
<author><name>Dami</name></author>
<updated>2026-09-01T18:35:10-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>5ae47fd59098b97a92099e95f99aec98be43cff7</id>
<title>feat: add Squaring diagrams for squared rectangles and Smith diagrams</title>
<link href="https://src.rest/cat/diagramzip/commit/5ae47fd59098b97a92099e95f99aec98be43cff7/"/>
<author><name>Dami</name></author>
<updated>2026-09-01T18:31:31-06:00</updated>
<content type="text">Add an edge renderer unit that draws a squared rectangle beside its Smith
diagram. Bouwkamp codes are placed and converted into the circuit; planar
networks with a battery are solved exactly with Kirchhoff and Ohm and
arranged back into squares. The caption reports simple and perfect status
and compound blocks are outlined.

Register the engine across the catalog, editor, normalization profiles,
smoke scripts, docs, and the diagramming skill.</content>
</entry>
<entry>
<id>7eea6d2be8a8c770788227bb550290899188a9db</id>
<title>fix: make packed SVG palettes data-driven</title>
<link href="https://src.rest/cat/diagramzip/commit/7eea6d2be8a8c770788227bb550290899188a9db/"/>
<author><name>Dami</name></author>
<updated>2026-08-23T20:43:46-06:00</updated>
<content type="text">Embed every shared palette behind root appearance selectors and synchronize packed SVG output with the editable document. Document the CSS-controlled palette contract and the separate export-time geometry boundary for agents and users.</content>
</entry>
<entry>
<id>b3c92c7027619e10e42274ac96128f19095f2d82</id>
<title>fix: remove failed TRN test layout</title>
<link href="https://src.rest/cat/diagramzip/commit/b3c92c7027619e10e42274ac96128f19095f2d82/"/>
<author><name>Dami</name></author>
<updated>2026-08-23T20:13:35-06:00</updated>
<content type="text">Delete the experimental layout from syntax, renderer geometry, and tests. Document dependency-based column behavior and publish an agent-facing authoring contract that keeps geometry changes in source rather than generated SVG internals.</content>
</entry>
<entry>
<id>3d50aae5905eaefea06ba9e4f9e46dff65b1fb13</id>
<title>feat: improve TRN layouts and render freshness</title>
<link href="https://src.rest/cat/diagramzip/commit/3d50aae5905eaefea06ba9e4f9e46dff65b1fb13/"/>
<author><name>Dami</name></author>
<updated>2026-08-23T18:55:33-06:00</updated>
<content type="text">Wrap long instruction rows with dynamic SVG geometry and retain the experimental test layout.

Refresh stale published render heads automatically on clean writable opens, and bump the TRN renderer build to 15.</content>
</entry>
<entry>
<id>eff59d537ebc92256a780bc22576f50d4b2d79f1</id>
<title>fix: order combined TRN inputs FIFO</title>
<link href="https://src.rest/cat/diagramzip/commit/eff59d537ebc92256a780bc22576f50d4b2d79f1/"/>
<author><name>Dami</name></author>
<updated>2026-08-23T12:34:33-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>4267864e5541c2591bee683269a7f49f6035b1a0</id>
<title>test: include TRN in catalog smoke</title>
<link href="https://src.rest/cat/diagramzip/commit/4267864e5541c2591bee683269a7f49f6035b1a0/"/>
<author><name>Dami</name></author>
<updated>2026-08-23T10:34:19-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>62c445c5da076bfbb904d5dd384adcc42ed7d7d7</id>
<title>chore: update TRN runtime license notice</title>
<link href="https://src.rest/cat/diagramzip/commit/62c445c5da076bfbb904d5dd384adcc42ed7d7d7/"/>
<author><name>Dami</name></author>
<updated>2026-08-23T10:28:11-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>b7f3a8b4d196566a46636cc442b5c37121aef601</id>
<title>feat: add Tabular Recipe Notation diagrams</title>
<link href="https://src.rest/cat/diagramzip/commit/b7f3a8b4d196566a46636cc442b5c37121aef601/"/>
<author><name>Dami</name></author>
<updated>2026-08-23T10:26:16-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>dc7cd2538bf29b7317dd6cf0a0fb92b7b89ebcc8</id>
<title>fix: remediate dependency security alerts</title>
<link href="https://src.rest/cat/diagramzip/commit/dc7cd2538bf29b7317dd6cf0a0fb92b7b89ebcc8/"/>
<author><name>Dami</name></author>
<updated>2026-08-22T02:30:01-06:00</updated>
<content type="text">Upgrade vulnerable npm and Go transitive dependencies, update pytest constraints and locks, and add scoped Dependabot update groups.</content>
</entry>
</feed>
