chore(architecture): enforce layer boundaries

This commit is contained in:
syntaxbullet
2026-07-03 09:34:21 +02:00
parent a8dbd26474
commit d7406e803a
14 changed files with 354 additions and 17 deletions

24
input/pointer.ts Normal file
View File

@@ -0,0 +1,24 @@
import type { Vec2D } from "@core/geometry";
export type PointerInputEvent = {
pointerId: number;
pointerType: "mouse" | "pen" | "touch";
position: Vec2D;
buttons: number;
altKey: boolean;
ctrlKey: boolean;
metaKey: boolean;
shiftKey: boolean;
};
export type WheelInputEvent = {
position: Vec2D;
delta: Vec2D;
altKey: boolean;
ctrlKey: boolean;
metaKey: boolean;
shiftKey: boolean;
};
export type GlobalPointerConsumer = (event: PointerInputEvent) => boolean;
export type GlobalWheelConsumer = (event: WheelInputEvent) => boolean;