The dynamic attention format — text as substrate, reader-led narration, sovereign ambient music.
Resonant is a way to make sustained text-based attention possible in a media environment that has stopped supporting it. Long-form writing is bleeding readers to short-video and audio-first formats — not because the writing is worse, but because the substrate hasn't evolved. You read a 4,000-word essay on essentially the same surface as a 2010 blog. Resonant is what happens when a long piece of text gets a substrate that competes for attention on its own terms.
This repository is the open-source home for the format spec, the reference runtime, the importers that turn existing long-form text into resonants, and the reference reader application. It is Apache 2.0 licensed. The format is the moat; everything else is an interchangeable implementation.
A conformant Resonant implementation honors three layers:
- Soundtrack — sovereign over time. Plays uninterrupted regardless of clicks, scroll, narration state, or tab focus.
- Narration — reader-led. Plays as ambient sound by default; snaps to a paragraph on click. No karaoke highlight.
- Text — primary substrate. Reader-paced scroll. Selectable, accessible, copyable. Always fully functional in silence.
The rule is normative. Implementations that violate it are non-conformant and must not claim the subframe-v1 label. The full normative definition lives in spec/subframe-v1.md (forthcoming).
git clone <your-fork-or-mirror>/resonant.git
cd resonant
pnpm install
pnpm devpnpm dev fans out to every workspace package and app. The reference reader runs locally; open the URL it prints.
| Path | Contents |
|---|---|
spec/subframe-v1.md |
Normative spec for the subframe-v1 composition format. |
spec/subframe-v1.schema.json |
JSON Schema for composition.json documents. |
spec/conformance-suite/ |
Fixtures and assertions every conformant implementation must pass. |
packages/subframe-core |
Parser, validator, and TypeScript types. Runs in Node and browser. |
packages/subframe-engine-live |
Browser runtime: mounts a composition to a DOM root and drives the three sovereignty layers. |
packages/resonant-import-markdown |
Markdown → composition.json transform plus a CLI binary. |
apps/resonant-reader |
Reference reader application that consumes the packages end-to-end. |
docs/ |
Long-form documentation, design notes, and RE-Gap recon. |
.github/workflows/ |
CI: package builds, conformance suite, lint, typecheck. |
The packages/ and apps/ directories are intentionally empty in this scaffold step. Downstream sequence steps populate them.
Launch 1 in progress. The format spec, reference runtime, markdown importer, conformance suite, and reference reader are being extracted from a working prototype (24 chapters of Manual sobre el Despertar rendering live with the full sovereignty stack). Launch 1 publishes the open format and a public proof of the form the same week.
Subsequent launches add a Reader-Mode-style browser surface for arbitrary long-form text on the web, and an open authoring toolchain so writers other than the prototype's author can publish in the format.
Apache License 2.0. See LICENSE for the full text. Copyright © 2026 Rashid Azarang and Resonant contributors.
See CONTRIBUTING.md. The short version: the sovereignty rule is non-negotiable, and PRs that break it get bounced. Everything else is up for discussion.