Open draft · .vmd

VMD

An intent-readable visual-lossless format: AI edits the compact source layer, while the renderer uses the replay layer to restore the browser output.

2 pathsAI source layer plus renderer replay layer.
100%Complete restoration is required before claiming visual-lossless.
84.0%Slot source reduction in the Open Design experiment.
ToolsCLI, Chrome polyfill, VS Code preview, and static renderer.

Live shape

Edit the slots. Restore the visual output.

VMD treats the source as the editable AI surface and replay as the browser restoration contract. HTML and CSS remain the output layer, not the only authoring layer.

Sourcevisual-lossless-dashboard.vmd
@doc "Pulse Analytics Overview" {
  spec: vmd@0.1
  fidelity: visual-lossless
  intent: analytics-dashboard
  surfaces: browser-page deck pdf
}

@lock {
  renderer: vmd-web@0.3.0
  renderer-hash: sha256:renderer-placeholder
  dictionary: dashboard-system@1.0.0
  dictionary-hash: sha256:dictionary-placeholder
  browser: chromium
  viewport: 1440x1200
  dpr: 1
  font-pack: inter@4.0.0
  asset-map-hash: sha256:asset-placeholder
  source-hash: sha256:source-placeholder
  render-hash: sha256:render-placeholder
}

@edit_state {
  source: clean
  replay: current
  dirty: none
  on-source-edit: mark affected slots stale,
...
Rendered outputDeck mode

dashboard-overview

Revenue - 30 days

value: $842k
change: +14.6%

New accounts

value: 42
change: +8

TokenValueNote
AccountLinearTeam plan, active
AccountCursorPro plan
AccountNotionTrial
AccountVercelEnterprise

timeline

  1. 12:14 pm - Acme Co upgraded to Team
  2. 21:48 pm - Northwind connected GitHub
  3. 31:32 pm - Globex cancelled subscription

title: Overview - April 2026

Source principles

The web needs a visual source format that AI can edit without losing fidelity.

The browser already renders. The missing layer is a compact source that exposes intent and slots while replay data preserves exact output.

Restoration

Lossless is a contract.

A VMD file can claim visual-lossless only after the renderer restores the locked visual output.

Source

AI edits slots.

Intent, tokens, frames, and components keep the editable surface smaller than generated HTML.

Replay

Renderers carry detail.

Lock, recipes, replay, residual, and raw fallback preserve what slots cannot express.

Renderer

The browser remains the target.

The reference renderer produces browser-native HTML/CSS from a locked source and replay contract.

Constraints

Residuals stay indexed.

AI can ignore residual payloads while still respecting the slots and limits they affect.

VMD is not a styled Markdown dialect. It is a restorable visual document container with an AI-readable editing path.

Visual-lossless anatomy

VMD separates editable source from restoration data.

That separation is the point: the AI edits intent and slots, while the renderer uses replay data to recover browser-level detail.

01

Intent

Audience, purpose, editable slots, and constraints for AI editing.

02

Slots

Frames, components, tables, metrics, and visual patterns that map to renderer recipes.

03

Tokens

Controlled style values that can be edited without rewriting the page.

04

Replay

Lock, residual, and fallback data used to restore the original visual output.

Use it today

A format draft with real rendering surfaces.

Open .vmd in the playground, render it from the CLI, load the Chrome polyfill, or preview it inside VS Code.

VMD static gallery screenshot

Install and render

Small enough for local workflows, explicit enough for AI agents.

CLI and static HTML

The npm package is named vmd-format; the installed binary is vmd.

npm install
node bin/vmd.mjs validate samples/source-layer-brief.vmd
node bin/vmd.mjs render samples/source-layer-brief.vmd --out dist/source-layer-brief.html
node bin/vmd.mjs gallery --out dist/site

Reference extensions

Chrome renders local or web-served .vmd files. VS Code provides highlighting, snippets, diagnostics, and live preview.

npm run package:chrome
npm run package:vscode
npm run test:extensions