Glossary
Authoritative definitions for the Rho ecosystem. All docs unify their term references here.
A
AINP
AI-native Interaction Protocol — the open protocol behind this documentation, defining the standard for AI-generated declarative interactive content.
- License: CC BY 4.0
- Vendor-neutral; anyone can implement an AINP-conformant reader
- Protocol document: AINP protocol
- ⚠️ AINP ≠ Rho — AINP is the protocol; Rho is its reference implementation
AI-native
The protocol's primary design goal — reliable LLM generation. Concretely: compact syntax, unambiguous, machine-validatable, errors recover gracefully, safe (no eval). See AINP §3.5.
Anchor (STL)
Bracketed node [NodeName] in STL syntax. Used to express knowledge graph nodes.
See STL syntax.
Annotate
Capability: in-line multi-color annotation (label + color per fragment). See Annotate.
B
Blockquote (markdown)
Markdown blockquote, prefixed with >. AINP uses it for callout markers (> [!INFO]).
Build-time
The first half of AINP's pipeline — markdown source → HTML string (with marker classes). Runs in Node / build pipeline; doesn't require a browser. Compare Runtime.
C
Callout
Capability: single-passage semantic highlight block (INFO / WARN / ZEN / GFM types). See Callout.
Capability
A feature defined by AINP protocol. v1 has 15 capabilities total. See AINP Part III.
Card (layout)
A single card inside a layout grid. Declared :::card accent=COLOR.
Carrier
AINP protocol's serialization format. v1 standard = Markdown. Other carriers (HTML / JSON) may come via future extensions. See AINP §3.1.
Computed
Capability: derived value declaration computed name = expression. Auto-recomputes when source controls change.
See Computed.
Conformance
A reader's degree of conformance to AINP — declares which capabilities are implemented + which fallback / safety requirements are met. 4 levels: Full / Static-only / Reader (no animation) / Partial. See AINP §19.
Container (DSL)
Capability that can contain other DSL blocks: callout / layout / tabs / stepper / modal / timeline. See Nested DSL.
Container directive
Markdown directive container syntax, :::name ... :::. AINP uses for layout cards / tabs / steps / events.
D
Declarative
AINP charter Article 4 — all interaction expressed via declaration ("here's a slider"), not imperative code. See AINP §3.2.
Directive
See Container directive.
DSL block
Domain-specific language block — a source block embodying a capability (fenced code or directive container).
F
Fallback (carrier)
AINP charter Article 3 — protocol content degrades to legal carrier in non-supporting readers (markdown carrier: plain markdown / code-block literals). See Plain-text fallback.
Fallback reader
A reader without AINP support but supporting the carrier's base format (GitHub web / VS Code default preview / cat / default Obsidian / etc.).
Fenced code block
Markdown code block syntax ```. AINP uses lang label to trigger capabilities (e.g., ```layout).
Frame budget
AINP animation sub-protocol's recommended per-frame budget < 16ms (60fps target). See AINP protocol.
H
Hydration
The runtime stage — turning build-time output (static HTML with marker classes) into interactive components in the browser (sliders / charts / animations). See Hydration utilities.
I
Implementation
A specific reader / library / app implementing AINP protocol.
- Reference impl: Rho (
@rho/md) - Other impls: see AINP protocol
- ⚠️ Distinct from Rho — anyone can build a new implementation
Inner processor
The mechanism enabling nested DSL — when parsing inner content of a container capability, re-runs the complete markdown + AINP DSL pipeline. See Inner processor.
Interact
Capability: container of interactive controls + output template. The root of all AINP dynamic behavior. See Interact controls.
L
Layout
Capability: N-column grid + cards. See Layout.
M
Marker class
CSS class on AINP output HTML (prefix rho-), used by readers to identify + hydrate.
e.g., rho-callout, rho-tabs, rho-interact.
See HTML output schema.
Mini DSL
The pure-function expression language inside AINP, used in {} placeholders + computed declarations.
Not JavaScript — no eval / no IO / no side effects.
See Computed §expression mini DSL or AINP §20.
Modal
Capability: click-to-expand overlay. See Modal.
Modifier (STL)
In STL syntax, the ::mod(key=value, key=value) part attached to an edge expressing the edge's properties.
N
Namespace
Capability: makes multiple interact blocks share state — declared namespace finance.
See Shared state.
Nested DSL
Any DSL block can embed another DSL block. See Nested DSL.
P
Plain-text fallback
See Fallback (carrier).
Profile (scenario)
AINP protocol's typical application scenario capability set (Education / Calculator / Data viz / Animation / Documentation / AI-Generated). See AINP protocol.
R
Reactive store
In-memory state container in AINP runtime, isolated by namespace. Source variables / computed all live here.
Reactive update
Source change → topological propagation to all dependent computeds → template re-renders. See AINP §7.
Reader (AINP-conformant)
A reader / library / app implementing AINP. Vendor-/language-agnostic.
Rho
scos-lab's AINP reference implementation:
- npm library
@rho/md(currently published asstl-md, rename in progress) - Desktop reader app
Rho(Tauri 2 + React 19) - Cloud SaaS
cloud.rho.md(in development) - Documentation site
rho.md/docs.html(this site)
⚠️ Rho ≠ AINP — Rho is an implementation of AINP, not the protocol itself.
Runtime
The second half of AINP's pipeline — after HTML is injected into DOM, hydrate to interactive components. Must run in a browser. Compare Build-time.
S
Sanitizer (SVG)
Strips dangerous SVG elements / attributes (<script> / on* events / javascript: URLs / etc.).
See AINP §17.3.
scos-lab
The maintaining organization of AINP protocol + Rho reference implementation.
- GitHub: scos-lab
- Email:
[email protected]
Slider
One of AINP's interact controls: slider name min max initial step.
Spec
AINP's early v0.0-v0.6 historical versions were called "Markview Display Spec"; unified into AINP v1, retained as historical reference.
State container
The only state-mutable capability in AINP: interact. All other containers are structural (don't hold state).
Stepper
Capability: sequential step display with Prev/Next. See Stepper.
STL
Semantic Tension Language — another open protocol from scos-lab, expressing knowledge-graph relations via [A] -> [B] ::mod(...) syntax.
AINP includes one capability: STL syntax highlighting (highlight only; doesn't interpret STL semantics).
T
Tabs
Capability: same-space multi-view switching. See Tabs.
Template
The output portion of an interact block, three types:
template stl:— text / STL output (actually any plain text)template vega-lite:— Vega-Lite chart spectemplate svg:— SVG scene
Timeline
Capability: vertical timeline display of event sequences. See Timeline.
Timer
Capability: auto-stepping value, drives animation. 4 modes: loop / once / pause / pingpong. See Timer.
V
Vega-Lite
External chart library — AINP integrates via template vega-lite:.
See Interact + Vega-Lite chart or Vega-Lite official site.
Acronym lookup
| Acronym | Full name |
|---|---|
| AINP | AI-native Interaction Protocol |
| BNF | Backus-Naur Form (grammar notation) |
| CC BY 4.0 | Creative Commons Attribution 4.0 |
| CSP | Content Security Policy |
| DSL | Domain-Specific Language |
| GFM | GitHub-Flavored Markdown |
| LLM | Large Language Model |
| RFC | Request for Comments (IETF) |
| SaaS | Software as a Service |
| SemVer | Semantic Versioning |
| SSR | Server-Side Rendering |
| STL | Semantic Tension Language |
| SVG | Scalable Vector Graphics |
| WCAG | Web Content Accessibility Guidelines |
| XSS | Cross-Site Scripting |
See also
- AINP v1 protocol document — Authoritative protocol definition
- Writer's Guide — For writers
- Developer Reference — For integrators
- AI/LLM Guide — For AI integration
- Comparison with other tools
- FAQ