feat(viewer): add Vue-based HUD, ops strip, and history window

This commit is contained in:
2026-03-19 13:49:56 -04:00
parent 710addf1f5
commit 3ca568c05d
36 changed files with 2648 additions and 1017 deletions

View File

@@ -1,13 +1,27 @@
import type { ViewerHudBindings } from "./viewerHudState";
import type { Selectable, CameraMode } from "./viewerTypes";
import { ViewerAppController } from "./ViewerAppController";
export class GameViewer {
private readonly controller: ViewerAppController;
constructor(container: HTMLElement) {
this.controller = new ViewerAppController(container);
constructor(container: HTMLElement, hud: ViewerHudBindings) {
this.controller = new ViewerAppController(container, hud);
}
async start() {
await this.controller.start();
}
focusSelection(selection: Selectable, cameraMode?: CameraMode) {
this.controller.focusSelection(selection, cameraMode);
}
openHistoryWindow(selection: Selectable) {
this.controller.openHistoryWindow(selection);
}
dispose() {
this.controller.dispose();
}
}