v0.1.0 — pre-normative — frozen 2026-04-30

KVG — Universal Vector Graphics Format

2D static, animation, and 3D PBR in one declarative scene graph.

KVG is a self-hosted-first universal vector format. A single document carries 2D primitives, motion graphs, 3D geometry, and procedural extensions — composable through four additive profiles. No external CDN refs, no proprietary dependencies, fully editable in plain text. Designed for icons today and cinema-grade content tomorrow.

Design Philosophy

Five principles that shape every choice in the spec.

Self-hosted-first

Zero external URL refs. Every font, texture, and asset is embedded. A document is byte-distributable and offline-executable.

Purpose-built syntax

KSS — KVG Source Syntax — designed for scene graphs. Not TOML, not JSON, not KDL. Native hierarchy, positional shorthands, three embedded notations (paths, colors, vectors).

Y-up Cartesian

Math-class native. Aligns with 3D industry (glTF, Blender, Maya, Unity) and engineering. SVG's Y-down is left at the import boundary.

Long-term thinking

Files written in 2026 must render in 2036. Major bumps come with mandatory upgrade tooling. Legacy primitives never disappear in minor or patch.

Sandboxed extensibility

The kgen DSL embeds procedural generation directly in the document. No closures, no recursion, no I/O — deterministic, bounded, sub-100 KB.

Profiles

Additive capability tiers. Renderers declare what they support; documents declare what they need.

Core

2D static. Paths, gradients including Coons mesh, filters, masks, text.

Animated

Core + timeline + state machine + constraints (look-at, follow-path, IK 2-bone).

Spatial

Core + 3D meshes, PBR materials, lighting, cameras. glTF-equivalent capability.

Full

Animated + Spatial. Cinema-grade scene description in a single document.

Status

Specification freeze, implementation in progress.

Version: 0.1.0
Stage: pre-normative — open for redesign before ratification
Frozen: 2026-04-30
Implementation: in progress (Core in active development)
Decisions cravadas: 10 of 10 fundamental design questions resolved

Specification

The full v0.1.0 spec — 19 sections, ~1300 lines.

The HTML render of the complete specification will be served at kvg.koder.dev/spec once the rendering pipeline is live. In the interim, an excerpt of the structure:

SectionTopic
§0–0.5Why a new format · Development philosophy · Principles
§1–3Goals · Non-goals · Profile architecture
§4File format — KSS source syntax · binary serialization · versioning
§5–7Coordinate system · Object model · Embedded notations (KPN, KCN, KVN)
§8–10Color & material · Animation · 3D solids
§11–13Extensions (kdef, kgen) · Self-hosted constraints · kgen language reference
§14–18Profile conformance · Reference toolchain · Migration paths · Open questions · Roadmap

Versioning Policy

Semantic versioning with hard rules about legacy preservation.

BumpMeaning
majorBreaking change. Mandatory kvg upgrade migration tool ships with the new major.
minorAdditive only. v0.1 documents render unchanged in v0.2 renderers.
patchClarification or bugfix to the spec text. Zero observable capability change.

Capability strings on individual nodes (requires=["ik-2bone"]) provide graceful degradation within a profile, with optional fallback subtrees.

Related Specifications

Adjacent formats and standards consulted in the design.

SpecRelationship
SVG (W3C)Static 2D ancestor. KVG's KPN path notation is intentionally compatible with SVG path data.
glTF 2.0 (Khronos)3D PBR alignment. KVG's Spatial profile mirrors glTF's metallic-roughness model.
Lottie / RiveAnimation prior art. KVG's Motion profile draws from Rive's state-machine API.
USDA (Pixar)Scene graph conventions and textual format ergonomics.
KDL Document LanguageInfluence on KSS syntax shape (hierarchical, bareword-friendly).