Glossary

Authoritative definitions for the Rho ecosystem. All docs unify their term references here.


A

AINP

AI-Native Interaction Protocol — the open protocol behind these guides, defining the standard for AI-generated declarative interactive content.

  • License: CC BY 4.0
  • Vendor-neutral; anyone can implement an AINP-conformant reader
  • ⚠️ AINP ≠ Rho MD — AINP is the protocol; Rho MD 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 §1.2.

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 an AINP reader's pipeline — markdown source parsed into static structure. Compare Runtime.


C

Callout

Capability: single-passage semantic highlight block (INFO / WARN / ZEN / GFM types). See Callout.

Capability

A feature defined by the AINP protocol — charts, interact scenes, structural blocks, and more.

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 §1.5.

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 §11.1.

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 §2 Article 4.

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 §8.1.2.


H

Hydration

The runtime stage — turning parsed output into live interactive components (sliders / charts / animations).


I

Implementation

A specific reader / library / app implementing AINP protocol.

  • Reference implementation: Rho MD (this app)
  • Anyone can build a new implementation — the protocol is open

Inner processor

The mechanism enabling nested DSL — the inner content of a container block runs through the complete markdown + AINP pipeline again.

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.

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 Appendix A.

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 §7.


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 §4.4.

Reader (AINP-conformant)

A reader / library / app implementing AINP. Vendor-/language-agnostic.

Rho

scos-lab's AINP reference implementation — the Rho MD app you are reading this in (desktop + Android), plus the rho.md cloud for publishing and reading.

⚠️ Rho MD ≠ AINP — Rho MD 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 §10.2.

scos-lab

The maintaining organization of the AINP protocol + the Rho MD reference implementation.

Slider

One of AINP's interact controls: slider name range=A..B step=S default=V label="...".

Spec

AINP's early versions were called the "Markview Display Spec" (Markview was Rho MD's open-source predecessor); later unified under the AINP name.

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 spec
  • template svg: — SVG scene

See Interact text template.

Timeline

Capability: vertical timeline display of event sequences. See Timeline.

Timer

Capability: auto-stepping value that drives animation, with Play/Pause/Reset controls. loop=true|false and speed= (ticks per second) tune its behavior. 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

Open in Rho MD →