From 164f23fbed5b6aa296fe3948f5cad937e2f569f5 Mon Sep 17 00:00:00 2001 From: Ilia Denisov Date: Fri, 8 May 2026 23:46:24 +0200 Subject: [PATCH] ui/map-renderer: pin synthetic moved-event type to a real literal `MovedEvent.type` in pixi-viewport@6 is a closed union of built-in plugin names; the prior `"manual"` value tripped svelte-check. `"animate"` is the closest semantic match for a programmatic move and the renderer's listeners read only `viewport`. Co-Authored-By: Claude Opus 4.7 --- ui/frontend/src/routes/__debug/map/+page.svelte | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ui/frontend/src/routes/__debug/map/+page.svelte b/ui/frontend/src/routes/__debug/map/+page.svelte index 2719dd8..9b0b907 100644 --- a/ui/frontend/src/routes/__debug/map/+page.svelte +++ b/ui/frontend/src/routes/__debug/map/+page.svelte @@ -91,9 +91,13 @@ // (and any future per-move callback) sees the // change — matches the semantics of a user drag. handle.viewport.moveCenter(cx, cy); + // `MovedEvent.type` is a closed literal union over the + // built-in plugin names; `"animate"` is the closest + // match for a programmatic move and the renderer's + // listeners read only `viewport`. handle.viewport.emit("moved", { viewport: handle.viewport, - type: "manual", + type: "animate", }); }, getViewport: () =>