Add various runtime-three components

This commit is contained in:
2026-03-31 03:04:15 +02:00
parent 8c21debc44
commit b672ba9b10
8 changed files with 1215 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
import type { PerspectiveCamera } from "three";
import type { Vec3 } from "../core/vector";
import type { RuntimeNavigationMode, RuntimeSceneDefinition, RuntimeSpawnPoint } from "./runtime-scene-build";
export interface FirstPersonTelemetry {
feetPosition: Vec3;
eyePosition: Vec3;
grounded: boolean;
pointerLocked: boolean;
spawn: RuntimeSpawnPoint;
}
export interface RuntimeControllerContext {
camera: PerspectiveCamera;
domElement: HTMLCanvasElement;
getRuntimeScene(): RuntimeSceneDefinition;
setRuntimeMessage(message: string | null): void;
setFirstPersonTelemetry(telemetry: FirstPersonTelemetry | null): void;
}
export interface NavigationController {
id: RuntimeNavigationMode;
activate(ctx: RuntimeControllerContext): void;
deactivate(ctx: RuntimeControllerContext): void;
update(dt: number): void;
}