Technology
A deterministic core, one shared across runtimes.
RVA is implemented infrastructure. A portable container feeds a deterministic resolver; the resulting ResolvedScene reaches web, native and server renderers, and conformance keeps them identical.
How RVA thinks
Structure → Intent → Resolve → Render
A small, legible pipeline turns one creative into any shape without losing design intent.
Structure
Resources become semantic elements — images, vectors, text, groups.
Intent
Roles, focal & protected regions, constraints and priorities declare what matters.
Resolve
rva-core selects a topology and resolves exact geometry for the viewport W×H.
Render
The same resolved scene reaches web, native or server renderers.
Engineering proof
Not a concept. An engineered system.
RVA is implemented infrastructure: a portable container, a deterministic resolver shared by every runtime, and adapters that prove it across web, native and server.
- .rva
- binary container
- deterministic Rust core
- ResolvedScene
- WASM · C ABI · native
- web · mobile · server
- Deterministic resolution — identical output for identical input
- One shared core behind Rust, WASM and the C ABI
- Cross-runtime conformance fixtures
- Platform-independent layout semantics
- A real adapter surface, not a mockup
Adapter surface
The RVA ecosystem
A coherent technology, not a single app.
RVA is a set of interoperating pieces — a core, tools, SDKs and a specification — held together by cross-runtime conformance.
RVA Core
A deterministic resolution engine: parse, validate, select a topology, resolve geometry.
RVA Studio
The professional authoring environment for scenes, topologies, targets and export.
RVA Viewer
A lightweight viewer to inspect any .rva and watch it recompose as you resize.
SDKs
Web, native and server integration over one shared core and one primitive surface.
Specification
A portable container and model: structured scenes, topologies and semantics.
Conformance
Cross-runtime fixtures that hold Rust, WASM and the C ABI to identical output.
CTA Regions
Resolved geometry. Host-owned behavior.
A CTA Region is semantic geometry: RVA resolves where it is for every viewport and exposes a stable id. Your application maps that id to an action — no scripts or behavior live in the asset.
Two labelled regions. Behavior is supplied by the host, not embedded in the file.
// Web family
el.ctaHandlers = {
"shop-now": () => go("/product"),
"learn-more": () => go("/details"),
};
// Any host: resolve, then bind the ids it wants
scene.ctaRegions
.filter((region) => region.visible)
.forEach((region) => bind(region.id, region.normalizedBounds));