The open-source, high-performance standard for interconnected TTRPG campaign mapping.
The UVTT v2 specification provides a modern, robust, and extensible framework for TTRPG map data. Designed to replace the legacy 2D-only flat formats (.dd2vtt / .df2vtt), UVTT v2 enables verticality, complex spatial triggers, hardware-accelerated rendering, and multi-file campaign networking.
Legacy V1 standards were ground-breaking, but they suffer from significant architectural bottlenecks. UVTT v2 solves these by treating maps not as static images, but as nodes within a Topological Spatial Network.
uvtt-v2-workspace/ # Open the parent folder directly in VS Code
βββ .github/ # Automated repository workflows and templates
β βββ workflows/
β βββ validate-uvtt2-ci.yml # GitHub Actions automated CI validation pipeline
βββ .git/ # Hidden directory (created automatically by 'git init')
β βββ hooks/
β βββ pre-commit # Git Hook: Blocks commits on test/schema failure
βββ schemas/ # Machine-readable standards validation files
β βββ manifest.schema.json # Standard validation rules for global manifest properties
β βββ geometry.schema.json # Standard validation rules for vector coordinates and walls
β βββ entities.schema.json # Standard validation rules for lighting, weather, and triggers
βββ reference-parsers/ # Zero-dependency reference parsing files
β βββ go/
β β βββ uvtt2_parser.go # Backend reference parser suite (zero-dependency)
β βββ typescript/
β βββ uvtt2_parser.ts # Client-side parser with Web Crypto decryption and curve math
βββ clearinghouse/ # Zero-Knowledge-Storage serverless edge infrastructure
β βββ zks-clearinghouse-worker.js # Cloudflare Worker edge key-derivation script
β βββ wrangler.toml # Deployment environment & database configurations
β βββ seed_revocations.js # Utility script to bulk hash and seed revoked transactions
β βββ manage_revocations.js # Node.js command-line tool to manage revoked transaction IDs
βββ tests/ # Programmatic validation & security checking engines
β βββ master-test-suite.py # Consolidated master test runner (verifies schemas, geometry, & ZKS handshakes)
β βββ validate_conformance.go # Go-based high-concurrency binary validation suite
β βββ webgpu-purge-test.ts # TypeScript unit tests validating WebGPU volatile RAM scrubbing
βββ tools/ # Repository automation and campaign asset creators
β βββ verify-all.sh # Unified Bash script coordinating all tests & environment audits
β βββ generate-mock-uvtt2z.py # Dynamic script to generate conforming signed test maps
βββ samples/ # Compliant testing files to feed into validators
β βββ tavern_three_story.uvtt2z # Multi-story sample campaign archive conforming to standard
βββ RFCs/ # Request for Comments proposal directory
β βββ rfc-template.md # Standard proposal template for community extensions
βββ CHANGELOG.md # Detailed ledger of version milestones & technical fixes
βββ CONTRIBUTING.md # Open-source developer rules of engagement & standards
βββ README.md # Landing page, feature matrices, and getting-started guide
| Feature | Legacy v1 | UVTT v2 |
|---|---|---|
| Asset Delivery | Base64-in-JSON | Zipped Directory (.uvtt2z) |
| Grid Logic | Square Only | Square, Hex, Isometric |
| Verticality | Flat Plane | 3D Bounds (Bottom/Top Z) |
| Curves | Jagged Line Segments | Native SVG BΓ©zier Paths |
| Visibility | Symmetrical | Directional (Right-Hand Rule) |
| Interoperability | Disconnected Islands | Topological Spatial Network |
| Weather | None | Bounded Particle Emitters |
| Graphics Baseline | WebGL 1.0 / Canvas | WebGL 2.0 / WebGPU (PixiJS v8 Native) |
The UVTT v2 specification is a Living Document. We welcome contributions from VTT engine developers and map-making tool authors.
To propose a new feature (e.g., new atmospheric shaders, advanced lighting physics), please follow these steps:
Core featuresβincluding basic walls, portals, and landing zonesβare immutable. Any new functionality (e.g., advanced WebGPU compute shaders) must be implemented as additive, optional properties within the extensions block to ensure that existing engines remain compliant.