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, 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(); } }