Releases: CorvidLabs/3md
v1.0.0 - the format is stable
3md is 1.0: the grammar is frozen and stable.
Spec freeze (SPEC.md 1.0)
- The frontmatter is now a precisely specified, named flat key/value mini-format (it looks like YAML but is not: no nesting, lists, or anchors).
- Added a "Relation to prior art" section (YAML frontmatter, CommonMark directives, reveal.js, MDX) and a Stability section: the 1.0 grammar is frozen; additive features come in future minor versions; the shared conformance suite is the contract.
- Format marker is now
3md: 1.0. The parser is version-lenient, so existing3md: 0.1documents remain valid; a conformance vector pins both.
Three implementations in lockstep (Swift ThreeMD, TypeScript @corvidlabs/threemd, Rust threemd), proven equivalent by a 43-vector conformance suite. Plus a CLI, an HTML renderer with Markdown + cross-plane links, VS Code syntax highlighting, nine examples, and two live demos.
Verified: swift-format lint clean, 122 Swift tests, 76 TypeScript tests, 43 conformance vectors green in all three languages, spec-sync 7/7.
SwiftPM:
.package(url: "https://github.com/CorvidLabs/3md", from: "1.0.0")v0.6.0 - Rust implementation + VS Code highlighting
Third implementation: Rust
- A std-only
threemdcrate (rust/) withparse,serialize, andlinks, a faithful port of the Swift and TypeScript implementations. It passes the same 42-vector conformance suite, so Swift, TypeScript, and Rust are all provably in sync.cargo fmt+clippyclean; the verify lane now runs all three.
VS Code syntax highlighting
- A highlighting extension (
editor/vscode/): a TextMate grammar for frontmatter,@planedirectives,[[z=N]]cross-plane links, and Markdown bodies, with headless grammar tests. Install the packaged.vsixwithcode --install-extension threemd-0.1.0.vsix.
Tooling
- The npm publish workflow now derives the package version from the release tag, so
@corvidlabs/threemdcan no longer lag the git tag.
Verified: swift-format lint clean, 122 Swift tests, 74 TypeScript tests, Rust conformance + clippy + fmt, all 42 conformance vectors green in all three languages, spec-sync 7/7.
SwiftPM:
.package(url: "https://github.com/CorvidLabs/3md", from: "0.6.0")v0.5.0 - cross-plane links
Cross-plane links
- A plane body can reference another plane by its
zwith[[z=N]]or[[z=N|link text]]. - Both parsers expose extraction in lockstep, pinned by 6 shared conformance vectors: Swift
Document.links()and TypeScriptlinks(document), each returning{ sourceZ, targetZ, text, targetExists }in document order. - The HTML renderer resolves links to
<a href="#plane-z-N">and gives each plane<section>a matchingid, sothreemd htmloutput is navigable. - SPEC.md section 8 specifies the syntax, regex, and extraction semantics.
- The dungeon example now uses real cross-plane links for its room exits.
Verified: swift-format lint clean, 122 Swift tests, 74 TypeScript tests, 42 conformance vectors (including 6 link vectors) green in both languages, spec-sync 7/7.
This release also bumps the npm package to 0.5.0.
SwiftPM:
.package(url: "https://github.com/CorvidLabs/3md", from: "0.5.0")v0.4.0 - Markdown rendering + npm on GitHub Packages
Markdown rendering
threemd htmlnow renders each plane's Markdown body (and the preamble) to real HTML via a new dependency-freeMarkdownRenderer(a CommonMark subset: headings, ordered/unordered/task lists, fenced code, blockquotes, bold, italic, inline code, links). The CLI is now a true preview, not a raw<pre>dump.
Distribution
@corvidlabs/threemdnow publishes to GitHub Packages (npm.pkg.github.com), matching the CorvidLabs convention. A release workflow publishes automatically using the built-in token; no manualnpm loginneeded. Consumers add@corvidlabs:registry=https://npm.pkg.github.comto.npmrc, thenbun add @corvidlabs/threemd.
Project
- Added ROADMAP.md.
Verified: swift-format lint clean, 92 Swift tests, 58 TypeScript tests, 36 conformance vectors green in both languages, spec-sync 7/7.
SwiftPM:
.package(url: "https://github.com/CorvidLabs/3md", from: "0.4.0")v0.3.0 - hardened, conformance-backed, dual-language
A hardening release driven by a multi-agent review of the format, both parsers, the conformance suite, the docs, and real-world dogfooding.
Parser correctness (Swift and TypeScript, in lockstep, pinned by shared conformance vectors)
- Directives are code-block-aware:
@planeis a directive only at column 0 and never inside a fenced (``` /~~~) or indented code block. You can now document 3md in 3md. - Quoted values escape and unescape
\\and\", so titles/labels/attributes with quotes and backslashes round-trip exactly. An unterminated quote is now an error. z,x, andymust be finite decimals; hex,inf, andnanare rejected. This also closes thez=nanduplicate-detection bypass.- A leading UTF-8 BOM is stripped.
Tooling and DX
threemd infonow prints x, y, and attributes; a path of-reads stdin; missing-file and non-UTF-8 give distinct errors.- HTML renderer uses
<pre><code>; serializer escaping aligned with the parser.
Project
LICENSE(MIT),js/README.md, and README sections for the CLI, the JavaScript/TypeScript package, and SwiftPM install.- Conformance suite grew to 36 shared vectors, run by both the Swift and TypeScript suites.
- SPEC.md now specifies the numeric grammar, escaping, code-block safety, and BOM handling.
Verified: swift-format lint clean, 53 Swift tests, 58 TypeScript tests, all 36 conformance vectors green in both languages, spec-sync 7/7.
SwiftPM:
.package(url: "https://github.com/CorvidLabs/3md", from: "0.3.0")TypeScript:
bun add @corvidlabs/threemd
v0.2.0 - renderer, CLI, and a JS twin
Tooling and a second implementation for 3md (Markdown with a Z axis).
New
- HTMLRenderer (Swift): render a
Documentto a standalone, accessible HTML5 page, one<section>per plane. threemdCLI:validate,info, andhtmlsubcommands. The library target stays zero-dependency.@corvidlabs/threemd(js/): a strict-TypeScript parser and serializer that mirrors the Swift implementation.- Shared conformance suite (
conformance/): 21 JSON vectors (12 valid, 9 invalid) run by BOTH the Swift and TypeScript test suites, so the two parsers are provably in sync.
Verified: swift-format lint clean, 53 Swift tests, spec-sync 7/7, 34 TypeScript tests, all conformance vectors green in both languages.
SwiftPM:
.package(url: "https://github.com/CorvidLabs/3md", from: "0.2.0")v0.1.0 - first cut
The first release of 3md: Markdown with a Z axis.
A .3md file is plain Markdown extended along one free axis you name yourself (time, frame, layer, depth, space, or anything). Frontmatter declares the axis; @plane directives slice the document along Z.
This release
- The 0.1 format specification (
SPEC.md). ThreeMD: a cross-platform Swift parser and serializer (Sendable value types, no force unwrap), 32 tests.- Example documents and an interactive web demo (
web/). - Wired to the CorvidLabs trust toolchain (fledge, spec-sync, augur, attest) with a green CI gate.
Add via SwiftPM:
.package(url: "https://github.com/CorvidLabs/3md", from: "0.1.0")