Intrinsic Labs

OpenLoom

A protocol for loom interfaces

Current Version: 2.0 (draft)

← Aspen Grove

Contents

7. Extensions

Anything not covered by the core schema goes in an extensions object, present at every level (document, tree, node, edge). Keys MUST be namespaced by reverse-DNS or product slug, e.g.:

"extensions": {
  "aspen-grove": { "localId": "a7x2" },
  "loomsidian": { "unread": false, "collapsed": true }
}

Rules:

  • Importers MUST preserve extensions they don't understand across re-export.
  • Core semantics MUST NOT depend on extension content — a reader ignoring all extensions sees a correct tree.
  • Per-viewer UI state (collapsed, unread, hoisted, scroll position) MUST NOT appear outside extensions.