| [ Web Proxy ] |
| Viewing: https://solid-panes.github.io/ | [Back] [Original] |
A pane-and-schema registry for urn:solid types bridges LOSOS panes to solid-schema contracts.
One manifest per type, mapping a urn:solid: identifier to a pane URL plus an optional schema URL. LOSOS apps that opt in get auto-form rendering for any data tagged with a known type no per-file $schema declaration needed.
/spec/ says what a pane is (label, icon, canHandle(subject, store),
render(subject, store, container, rawData)), where a host finds panes (local, the nodes ui:view, this registry)
and in what order it chooses, written down from LOSOS and the datawiki shim.
{
"term": "urn:solid:Note",
"termRegistry": "https://urn-solid.com/Note/",
"pane": "https://losos.org/panes/schema-pane.js",
"schema": "https://solid-schema.github.io/Note/index.json",
"label": "Note",
"icon": "",
"status": "stable",
"added": "2026-04-19"
}
Thats it its a pointer registry, not an implementation registry. The actual pane code lives in LOSOS (or wherever the pane URL points). The actual schema lives in solid-schema. solid-panes just wires the two together by urn:solid: type.
One line in the apps HTML, before shell.js boots:
<script type="module">
import { autoSchema } from 'https://solid-panes.github.io/auto-schema.js'
await autoSchema()
</script>
<script type="module" src="../../losos/shell.js"></script>
Thats it. autoSchema() walks every JSON-LD data island in the page, looks up @type in the solid-panes reverse-index, and populates $schema with the matching solid-schema URL. The existing LOSOS schema-pane then triggers off $schema and auto-renders the form no LOSOS changes required.
Apps that dont import the helper get exactly the LOSOS behaviour they had before.
<Name>/index.json Source pane+schema manifest for one urn:solid type
<Name>/index.html Generated wrapper page
schema/manifest.schema.json Meta-schema enforcing manifest shape
scripts/validate.js Validate every manifest
scripts/build.js Generate HTML wrappers, index.json, reverse-index.json, corpus.jsonl
auto-schema.js Opt-in helper for LOSOS apps
index.json Generated: type manifest summary
reverse-index.json Generated: urn:solid:Type manifest URL
corpus.jsonl Generated: every manifest, one per line
LION wire format (just JSON)
urn-solid vocabulary (term names + owl:sameAs)
solid-schema contracts (per-type JSON Schemas)
solid-panes (this repo) manifests (urn:solid type pane + schema)
LOSOS runtime (panes consume schemas)
Each layer is independently consumable. solid-panes is configuration only it never ships pane code or schema code. It just points.
mkdir Profile
# write Profile/index.json with { term, pane, schema, label, status, added }
npm run validate
npm run build
git commit -am "add Profile manifest"
| Web Proxy Viewer | New URL | Original Page |