Skip to content

HoloScript Platform Architecture

The Complete Picture

╔═══════════════════════════════════════════════════════════════════════╗
║                         HoloScript Platform                            ║
║                    "Unity for Holographic Computing"                   ║
╚═══════════════════════════════════════════════════════════════════════╝

                              ┌─────────────┐
                              │ .holo Files │
                              └──────┬──────┘


                           ┌──────────────────┐
                           │  Parser (Core)   │
                           │  HSPlus → AST    │
                           └────────┬─────────┘


                          ┌───────────────────┐
                          │ HoloComposition   │
                          │ (Intermediate IR) │
                          └────────┬──────────┘

                    ┌──────────────┴──────────────┐
                    │                              │
         ┌──────────▼──────────┐        ┌─────────▼──────────┐
         │   PATH 1: EXPORT    │        │  PATH 2: RUNTIME   │
         │    (Compilation)    │        │   (Execution)      │
         └──────────┬──────────┘        └─────────┬──────────┘
                    │                              │
                    │                              │
         ┌──────────▼──────────┐        ┌─────────▼──────────┐
         │  Compiler Registry  │        │  Runtime Registry  │
         │  25+ targets        │        │  Runtimes + Render │
         └──────────┬──────────┘        └─────────┬──────────┘
                    │                              │
                    │                              │
       ┌────────────┼────────────┐      ┌─────────┼──────────┐
       │            │            │      │         │          │
       ▼            ▼            ▼      ▼         ▼          ▼
  ┌────────┐  ┌────────┐  ┌────────┐ ┌────────┐┌────────┐┌────────┐
  │ Unity  │  │Unreal  │  │ WebXR  │ │Demolit.││ Three  ││Future  │
  │  C#    │  │  C++   │  │  JS    │ │Runtime ││.js     ││Runtimes│
  └────────┘  └────────┘  └────────┘ │Executor││Renderer││        │
                                     └────┬───┘└────┬───┘└────────┘
                                          │         │
                                     ┌────▼─────────▼────┐
                                     │ Physics + Visuals │
                                     │ Real-time Render  │
                                     └────────┬──────────┘


                                      ┌────────────────┐
                                      │ WebGL Canvas   │
                                      │ 60 FPS + PBR   │
                                      └────────────────┘

Dual-Path Architecture

Path 1: Compilation (Original)

Purpose: Export to production engines

.holo → Parser → HoloComposition → Compiler → Unity C# Code
                                            → Unreal C++ Code
                                            → WebXR JavaScript
                                            → 12+ other targets

Targets (15 total):

  • Unity (C#)
  • Unreal Engine (C++)
  • Godot (GDScript)
  • Babylon.js (JS)
  • OpenXR (C++)
  • WebGPU (JS)
  • URDF (XML - Robotics)
  • SDF (XML - Robotics)
  • PlayCanvas (JS)
  • DTDL (JSON - IoT)
  • VisionOS (Swift)
  • VRChat (C#)
  • Android (Kotlin)
  • iOS (Swift)
  • WASM (C++)

Path 2: Runtime Execution (NEW!)

Purpose: Standalone platform execution

.holo → Parser → HoloComposition → RuntimeRegistry → Runtime Executor

                                                 Physics Systems
                                                 (Demolition, etc.)

                                                RuntimeRenderer
                                                 (Three.js)

                                                WebGL Canvas
                                                (Real-time)

Runtimes:

  • ✅ Demolition Runtime (physics + fracture + particles)
  • 🚧 Avalanche Runtime (snow + terrain)
  • 🚧 Erosion Runtime (fluids + erosion)
  • 🚧 Cloth Runtime (soft body)
  • 🚧 Fire Runtime (combustion)

Renderers:

  • ✅ ThreeJSRenderer (80+ PBR materials, 120K particles)
  • 🚧 BabylonRenderer (alternative backend)
  • 🚧 WebGPURenderer (next-gen)

Component Breakdown

Core Systems

1. Parser (packages/core/src/parser/)

  • Input: .holo files (HSPlus language)
  • Output: HoloComposition (intermediate representation)
  • Features: Traits, entities, behaviors, timelines
  • Status: ✅ Complete

2. Trait System (packages/core/src/parser/traits/)

  • Purpose: Extensible behavior system
  • Traits: Visual, audio, physics, AI, robotics
  • Pattern: Decorator pattern
  • Status: ✅ Complete

3. Compiler Registry (packages/core/src/compiler/)

  • Purpose: Code generation for 25+ targets
  • Size: compilers (verify via find *Compiler.ts), ~50,000 lines
  • Knowledge Base: Material presets, type mappings, platform APIs
  • Status: ✅ Complete

4. Runtime Registry (packages/core/src/runtime/)

  • Purpose: Dynamic runtime discovery and execution
  • Features: Capability querying, tag filtering, auto-routing
  • Status: ✅ Complete (261 lines)

5. Runtime Renderer (packages/core/src/runtime/)

  • Purpose: Visual output for runtime execution
  • Implementation: Three.js (679 lines)
  • Materials: 80+ PBR presets from R3FCompiler
  • Status: ✅ Complete (NEW!)

Specialized Runtimes

Demolition Runtime

  • Location: packages/core/src/demos/demolition/
  • Size: 4,698 implementation lines, 5,923 test lines
  • Features:
    • Physics simulation (gravity, collision, constraints)
    • Structural integrity (load distribution, progressive collapse)
    • Fracture mechanics (Voronoi, impact forces)
    • Particle systems (120K particles, dust, debris)
    • Shock waves (spherical expansion, force application)
    • Camera effects (shake, auto-follow)
  • Tests: 430 tests passing
  • Status: ✅ Complete

Material System

R3F Material Presets (80+)

Extracted from R3FCompiler.ts and reused at runtime:

Basic Materials (7):

  • plastic, metal, glass, wood, rubber, stone, marble

Realistic Fabrics (9):

  • cotton, polyester, silk, satin, linen, wool, denim, canvas, burlap

Skin & Organic (8):

  • skin (3 variants), wax, jade, milk, leaf, honey

Mud & Earth (8):

  • clay, sandy, wet, dry, peat, red clay, volcanic ash, sand (wet/dry)

Brushed Metals (8):

  • brushed steel/aluminum/copper, cast iron, bronze, silver, platinum, rust

Hair & Fibers (3):

  • dark, blonde, red (all with anisotropy)

Wet Surfaces (3):

  • wet stone, wet wood, wet concrete (clearcoat simulation)

Food & Organic (4):

  • fruit, cheese, bread, chocolate

Coated Surfaces (5):

  • car paint, lacquer, varnished wood, glazed ceramic, enamel

Iridescent (5):

  • soap bubble, oil slick, beetle shell, pearl, abalone

Gemstones (7):

  • diamond, ruby, sapphire, emerald, amber, opal, amethyst

Special Effects (13):

  • hologram, neon, emissive, xray, toon, wireframe, velvet, gradient, matte, crystal, water, shiny

Total: 80+ materials with full PBR properties

Statistics

Codebase Size

  • Total Project: ~100,000+ lines
  • Core Parser: ~10,000 lines
  • Compilers: ~50,000 lines (25+ targets)
  • Runtimes: ~10,000 lines (demos + registry)
  • Rendering: ~1,000 lines (renderer interface + Three.js)
  • Tests: ~30,000 lines

Test Coverage

  • Total Tests: 800+ tests
  • Demolition Tests: 430 tests
  • Coverage: 80%+ (Codecov enforced)

Performance Targets

  • Particles: 120,000+
  • Objects: 10,000+
  • FPS: 60
  • Shadow Quality: 2048x2048
  • Material Presets: 80+

Compiler Targets

  • Total Compilers: 15
  • String Output: 12 (Unity, Godot, Babylon, OpenXR, WebGPU, URDF, SDF, PlayCanvas, DTDL, VisionOS)
  • Object Output: 3 (Unreal, VRChat, Android, iOS, WASM)

Platform Capabilities

What HoloScript Can Do Now

Parse - .holo declarative language ✅ Validate - Type checking, trait validation ✅ Execute - Runtime platform execution ✅ Render - Real-time 3D rendering with PBR ✅ Simulate - Physics, particles, structural mechanics ✅ Export - Code generation for 25+ targets ✅ Test - 800+ automated tests ✅ Secure - Security sandbox, hallucination detection ✅ Benchmark - Performance comparisons vs Unity/glTF ✅ Extend - Trait system, runtime registry

Comparison to Unity

FeatureUnityHoloScript
Declarative Language❌ C# scripting✅ .holo language
Runtime Execution✅ Game engine✅ Web runtime
Visual Editor✅ Unity Editor🚧 Hololand (planned)
Physics✅ PhysX✅ Custom physics
Rendering✅ Built-in RP✅ Three.js/WebGL
Export Targets❌ Unity only✅ 25+ targets
Web Native❌ WebGL export✅ Native web
Material Library✅ Standard Assets✅ 80+ PBR presets
Particle Systems✅ Shuriken✅ 120K particles
Open Source❌ Proprietary✅ Open source

Architecture Strengths

1. Dual-Path Strategy

  • Runtime for development (fast iteration, instant feedback)
  • Compilation for production (optimized, platform-specific)

2. Knowledge Reuse

  • R3FCompiler material presets → Runtime materials
  • Type mappings shared between compiler and runtime
  • Single source of truth for rendering knowledge

3. Extensibility

  • Runtime Registry for dynamic discovery
  • Abstract renderer for multiple backends
  • Trait system for custom behaviors

4. Platform Independence

  • HoloComposition as universal IR
  • Works in browser (runtime) or exports to engines
  • Future-proof architecture

Current Status

✅ Complete (Path 2 Rendering)

  • RuntimeRenderer interface
  • ThreeJSRenderer implementation
  • Material preset extraction (80+)
  • Geometry mapping
  • Lighting system
  • Particle systems
  • Camera control
  • Statistics monitoring
  • Standalone demo

🚧 In Progress

  • Physics → Renderer sync
  • Particle → Renderer sync
  • Post-processing effects

📋 Planned

  • HololandEngine (complete platform wrapper)
  • Babylon.js renderer backend
  • WebGPU renderer backend
  • Additional runtimes (Avalanche, Erosion, Cloth, Fire)
  • Visual editor integration

HoloScript is now a complete runtime platform 🎉

Both Path 1 (compilation) and Path 2 (runtime) are operational!

"Path 2 was always the plan"

Released under the MIT License.