/** * RuntimeBridge.ts * * The top-level orchestrator that wires all engine subsystems together. * Provides a single API surface for: * parse → run → update → serialize * * Owns the ECS World, EventBus, ThemeEngine, and SystemScheduler. */ import { World } from '../ecs'; import { ComponentRegistry } from '../ecs'; import { SystemScheduler } from '../ecs'; import type { SystemPhase } from '../ecs'; import { EventBus } from '@holoscript/core'; import { ThemeEngine } from '@holoscript/core'; import { StyleResolver } from '@holoscript/core'; import { SceneRunner } from './SceneRunner'; import { TraitBinder } from './TraitBinder'; import type { HSPlusNode } from '@holoscript/core'; import type { UIEntity as Entity } from '@holoscript/core'; export interface SystemConfig { name: string; execute?: (dt: number) => void; update?: (dt: number) => void; phase?: SystemPhase; priority?: number; enabled?: boolean; dependencies?: string[]; group?: string; requiredComponents?: string[]; } export interface RuntimeConfig { theme?: string; systems?: SystemConfig[]; } export declare class RuntimeBridge { readonly world: World; readonly eventBus: EventBus; readonly themeEngine: ThemeEngine; readonly styleResolver: StyleResolver; readonly componentRegistry: ComponentRegistry; readonly systemScheduler: SystemScheduler; readonly traitBinder: TraitBinder; readonly sceneRunner: SceneRunner; private running; private totalTime; constructor(config?: RuntimeConfig); /** * Load and execute parsed AST. */ loadScene(root: HSPlusNode): Entity; /** * Run one frame of the simulation. */ update(delta: number): void; /** * Start the update loop. */ start(): void; /** * Stop the update loop. */ stop(): void; /** * Unload the current scene. */ unloadScene(): void; /** * Check if running. */ isRunning(): boolean; /** * Get total elapsed time. */ getTotalTime(): number; /** * Reset everything. */ reset(): void; private countNodes; } //# sourceMappingURL=RuntimeBridge.d.ts.map