vizzy changelog
0.0.13
Section titled “0.0.13”Improvements
Section titled “Improvements”- Added interactive checkboxes when using
- [ ]and- [x], in prose and in table cells. Click one to tick it. - Updated print styles, so you can print a vizzy document or export it to PDF from the browser.
cellstylelinter improvements.
Sharing
Section titled “Sharing”- Published workspaces are private by default, and can be shared publicly or with a password. Republishing keeps whichever you picked.
vizzy publish --publicpublishes straight to a public link.
- Table cells no longer overflow into the next column on the web; a cell too long for its column is cut with an ellipsis, and hovering shows it in full.
- On the web, a card pinned to a canvas position no longer draws its title over the first block in canvas mode.
0.0.12
Section titled “0.0.12”Improvements
Section titled “Improvements”- New Workspace no longer leaves you staring at an empty window: the workspace opens and immediately asks which folder to watch, so a new workspace starts with its diagrams already in the sidebar. Cancel to keep it empty and add folders later.
0.0.11
Section titled “0.0.11”Improvements
Section titled “Improvements”- Double-click labels on a diagram to edit them inline — nodes, edges, sequence messages and participants, timeline periods, journey steps, table cells, and (finally) mind-map nodes — no experimental toggle needed.
- Prose is editable in place on the canvas and in document mode alike: double-click to edit, Esc cancels, ⌘-Return or clicking away commits.
- Jump to source reveals in the window that asked for it, not whichever window happened to be focused by the time the source pane opened.
- Two journey steps or timeline
periods with the same title keep distinct, stable identities, and auto-numbered
git-graph commits no longer collide with an explicit
id:.
vizzy gotowith a path outside the current workspace no longer fails — it opens (or reuses) the workspace for that file, scoped to and named after its git repo.- Comment pins anchor to what they annotate. Prose comments float in their card’s right margin — Google-Docs style, stacking when quotes share a line — and pins dropped on a diagram stick to that exact spot on the card.
- Flowchart: an unterminated edge label (
A -->|broken B) no longer mints a phantom node named after the leftover text — the edge is dropped and the source node still renders. - Charts: an unparseable value no longer shifts later entries onto the wrong category, breaks JSON export, or crashes rendering; pie slices reject non-finite values outright.
- A file emptied or deleted externally now updates the open document instead of leaving a stale render on screen (a transient empty read mid-write is still tolerated).
vizzy renderreports unreadable input and exits non-zero instead of writing a blank image and exiting 0.- A shorter backtick run inside a fenced block no longer closes it early — fence scanning
follows CommonMark’s indent and length rules, and
vizzy lintparses by the same rules (it also warns on chart values that don’t parse as numbers). - An edge label with an arrow inside quotes (
A["use -- fallback --> retry"]) is no longer corrupted before parsing. - Architecture
<->edges render both arrowheads instead of silently dropping one. - Table cells treat only
\|and\\as escapes, so backslashes in Windows paths pass through verbatim. - Gantt date arithmetic no longer traps on extreme spans or
chained
afterdependencies.
0.0.10
Section titled “0.0.10”Canvas editing — experimental
Section titled “Canvas editing — experimental”Turn on Edit ▸ Enable Canvas Edit (Experimental) and diagrams become directly editable on the canvas. Every gesture writes the change straight back into the Markdown source — undoable, and mirrored live in the source pane — so you can rearrange a diagram by hand while your agent keeps working on the same file.
- Double-click to edit text inline: node labels on flowcharts, concept maps, and architecture diagrams; edge labels on class / state and ER diagrams; sequence message text (including adding text to a bare arrow); timeline period and journey step titles.
- Drag to restructure — every diagram type gets structural drags with a live preview of where things will land:
- Sequence: reorder messages, move a whole
loop/altfragment as a unit, reorder participants, and move notes. - Flowchart & architecture: drag a group by its header to move the whole cluster, or drag a node across a group boundary to reparent it.
- Class / ER / state: reorder member and attribute rows, or drag either end of a relationship onto a different node to retarget it.
- Mind map: drag a branch to a new parent — siblings part to show where it will land.
- Timeline & journey: drag periods / steps sideways to reorder them; drag a journey step’s marker up or down to change its score.
- Gantt: drag a bar to reschedule it, or its ends to resize it, snapping to whole days.
- Sequence: reorder messages, move a whole
- Tables: double-click a cell of a data table to edit it in place, and click the ghost Add row pinned to the bottom to append a row and start typing in it straight away.
- Dragging any card, node, or group to reposition it writes a position pin into the source, so hand-placed layouts survive reloads and republishing.
Interactive document mode
Section titled “Interactive document mode”The scrolling Document view — toggle it from the toolbar — now shares the canvas’s live cards instead of a static rendering: prose is editable in place, images render inline as their own blocks, and diagrams are the same interactive cards you get on the canvas. Scrolling long documents is markedly faster and smoother.
Diff diagrams
Section titled “Diff diagrams”Paste git diff output into a ```diff fence and it renders as a first-class
diff diagram — one card per file with a path + +N −M stats
header, old/new line-number gutters, green/red row washes, and word-level highlights
on changed line pairs. A vizzy fence opts into layout split (side-by-side columns)
and collapse N (fold long unchanged runs into a pill). Renders natively, in PNG/HTML
exports, and on published web pages; on GitHub the same fence degrades to the familiar
red/green code block.
Treemap diagrams
Section titled “Treemap diagrams”New treemap diagram (treemap-beta) — proportional-area
breakdowns, disk-usage style. Sections nest by indentation, leaves carry
"Label": value, tile area tracks value via a squarified layout, and each top-level
section gets its own color (descendants fade with depth). Renders natively, in
PNG/HTML exports, and on published web pages; since treemap-beta is real Mermaid,
the same fence renders on GitHub too.
- The app now installs the
vizzycommand automatically on first launch when/usr/local/binis writable without admin rights — no menu trip needed. (It still never raises an admin prompt uninvited; the menu item remains for that path.) - New
vizzy install-clisubcommand installs the launcher headlessly — no app window, no dialogs — so scripts and coding agents can set up the CLI. If the folder needs admin rights it prints the exactsudocommand and exits non-zero instead of prompting. - New agent setup prompt at usevizzy.com/prompt.md: tell a coding agent to fetch it and it installs the app, the CLI, and the vizzy skill (globally) in one go.
Workspace sidebar
Section titled “Workspace sidebar”- Documents created or updated on disk mid-session — say, by your coding agent — tint
their sidebar icon blue until you click them, so you can see at a glance what changed
while you were looking elsewhere. A collapsed folder hiding unseen changes shows a blue
dot. The doc you’re already viewing never tints (you’re watching it live-reload), and a
git checkoutdeliberately doesn’t light up the whole tree. - Folders that are git repos now show the checked-out branch in their trailing badge (short commit hash when detached), refreshing live when you switch branches.
Improvements
Section titled “Improvements”- Sequence-diagram
Notelines render as quiet italic captions instead of yellow sticky cards (notes on every other diagram type keep the sticky look) — in the app, exports, and published pages alike.vizzy lintgains asequence-notesuggestion nudging sequence notes towarddesc/payload/hint. - Mind-map branch colours are now keyed to each branch’s label rather than its position, so rearranging branches no longer reshuffles the palette.
- Cards placed at negative canvas coordinates are normalized back into view instead of being clipped.
- Fixed drag drift: nodes, groups, quadrant points, and comment pins could jitter during a drag and land somewhere other than where you released them.
- Fixed a race where dragging two cards in quick succession with the source pane open could misdirect a position write and make a diagram seem to disappear (it was rendered far off-canvas).
- Hint badges now fade out while a diagram is being dragged or edited instead of hovering at stale positions, and ease back in after the drop.
Under the hood
Section titled “Under the hood”A large audit-and-hardening pass across the whole app this release: faithful parsing of
tricky Markdown (labels containing arrows or quotes, CRLF files, unclosed and 4+-backtick
fences), safer canvas-edit write-backs (an edit can no longer land in the wrong diagram or
drop your last keystrokes), smoother panning, dragging, scrolling, and live reload on large
documents, and exports that match the app — including your workspace’s vizzy.config theme.
To keep all of this fast and regression-proof, the test suite grew a lot this release. The engine’s parsing and layout unit tests now number over 780, and a brand-new app-level suite locks down the things you actually see and feel:
- Golden-image snapshot tests that fail on any unintended change to how a diagram lays out or renders — the layout-regression safety net.
- Drag-keyframe tests that pin the exact geometry mid-drag and right after every drop, so interactive edits land precisely where released.
- A document-scroll performance suite that guards fast, smooth scrolling on large files.
- An end-to-end gesture harness that synthesises real mouse drags in real windows and asserts the Markdown that gets committed.
- An undo/redo matrix exercising every edit across every diagram type.
vizzy skill install/vizzy skill update— install or update the Vizzy authoring skill for your coding agents straight from the terminal, no copy-pasting from the docs.vizzy publish,vizzy login, andvizzy logoutnow run in the terminal as intended (they could previously bounce to the app instead).vizzy versionnow reports the installed app version.
Improvements
Section titled “Improvements”vizzy publish <folder>publishes a whole folder as a workspace — the same doc set and link as the app’s Publish this workspace, so agents and scripts can republish without opening the app. New--name,--dry-run, and--tokenoptions.vizzy login/vizzy logout— sign in with GitHub from the terminal. The app and CLI share one account: sign in on either and the other is signed in too.- Published links now open in Document mode by default on the web; the report button in the reader header is now a flag icon.
Improvements
Section titled “Improvements”- Select prose to add a comment directly on those words — the quote gets a highlight and a numbered pin, and the anchor survives edits to the rest of the file.
- Double-click a prose block to edit its Markdown inline; click away or ⌘-Return to commit, Esc to cancel.
- A new prose renderer on the canvas to support all of this (selectable text, highlights, inline editing).
- Hovering over a comment pin showed the wrong cursor.
Web publishing — experimental
Section titled “Web publishing — experimental”A new Publish app menu shares your diagrams on usevizzy.com.
Sign in with GitHub, then Copy link to this document publishes the open document to a
public link, and Publish this workspace publishes the whole workspace — every document
across all of its watched folders and attached single files — as one browsable site with a
collapsible file-tree sidebar and a document switcher. Republishing updates the same link
(Copy link to workspace re-copies it), cross-file links between published documents
resolve and open in a new tab, and your vizzy.config theme travels with the workspace.
Everything you publish is public. Links live under your GitHub handle
(usevizzy.com/@you/…) and anyone with a link can view the content — published pages are
excluded from search-engine indexing (noindex), but that is not privacy: don’t publish
anything confidential. Private, access-controlled publishing options are in the works.
Manage what you’ve published from
your library, where delete fully removes a workspace’s
published content.
- Reading mode: published plain-Markdown documents render as a scrollable reading document — readable column, full block markdown (lists, quotes, tables, code), embedded diagrams, and a floating heading outline — with a view-mode dropdown in the reader header that mirrors into a shareable
?mode=document/?mode=canvasURL. Embedders get it too, viamount(el, doc, { mode: 'reading' }). - Every published diagram gets an expand button: the diagram opens alone in a full-screen pan/zoom modal, centered and fitted, for close inspection.
Improvements
Section titled “Improvements”- Conditional table formatting: a
cellstyledirective tints a data table’s matching cells (cellstyle Status = Done: green) — exact /contains/ numeric><matching against a column named by its header, with palette-token colors that adapt to light and dark mode. Works in the app, PNG/HTML export, and published workspaces;vizzy lintflags rules that would silently format nothing (bad-cellstyle). 2x2/2-upnow parse as aliases forquadrantChart, and quadrant axis labels wrap to multiple lines instead of truncating.
- Review comments: pins now drop on every part of the canvas — clicks over diagram and prose cards used to be silently swallowed, so pins only landed on empty background — and closing a pin’s editor without writing anything discards the pin instead of saving an empty comment. Click-drag panning now also works over cards.
- Web renderer parity fixes: long message/edge labels wrap inside their chips, sequence phase-band labels sit centered in the left gutter (with a breathing gap below the participant heads — in the app too), combined-fragment tabs size to their keyword, pie legends keep a clear gap from the chart, prose paragraphs/lists get proper spacing, and inline
coderenders red-on-wash.
- Open individual files: File ▸ Open (⌘O) or drag a
.vizzy.md/.mdfile onto the window. In a workspace you can choose to add the file’s whole folder or attach just that one file — single files appear at the bottom of the sidebar and can be removed at any time.
- New diagram types: a quadrant chart for prioritisation grids (impact vs effort) and a git graph for branching, merging history.
- Flowcharts gain the reversed flow directions
BT(upward) andRL(leftward) alongsideTB/LR, plus explicitsubgraph id[Title]ids so adesc/pos/styledirective can target a group by name. - Unsupported diagram types render a labelled ”⚠ Unsupported” placeholder card instead of a blank one, and
vizzy lintgains anignored-initrule that flags dropped%%{init}%%theme directives. - Now runs on macOS 14 Sonoma and later, with Liquid Glass styling where the OS supports it.
- A portable rendering core (Foundation / CoreGraphics shims) lays the groundwork for running vizzy in the browser via WebAssembly.
- Refreshed first-run onboarding and project launcher, a new acknowledgements page, and reorganised bundled examples.
- New diagram types: pie, XY chart, data table, timeline, user journey, and concept maps.
- Sequence diagrams: combined fragments (loop / alt / opt / par / critical) and colour-coded phase swimlanes.
- Workspaces — group multiple folders per window, with Open Recent in the File menu.
- A side-by-side source editor and a built-in agent terminal in the document window.
- Present mode for stepping through diagrams full-screen.
- Sidebar: create, rename, move, and trash diagrams; git-repo markers and a name filter.
vizzy lintflags common authoring mistakes the renderer would otherwise ignore.- Render CLI gains
--format/--quality, opens the current folder, and self-updates its launcher. - First-run setup checklist and a redesigned launcher.
- Light / dark appearance throughout, including image export and present mode.
Initial release.