Skip to content

v0.5.0 - cross-plane links

Choose a tag to compare

@0xLeif 0xLeif released this 24 Jun 03:56
· 74 commits to main since this release

Cross-plane links

  • A plane body can reference another plane by its z with [[z=N]] or [[z=N|link text]].
  • Both parsers expose extraction in lockstep, pinned by 6 shared conformance vectors: Swift Document.links() and TypeScript links(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 matching id, so threemd html output 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")