@fi4f/hg 0.0.16 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/frames.d.ts CHANGED
@@ -1,15 +1,23 @@
1
+ import type { Scene } from "./scene.js";
1
2
  export type Frame = {
3
+ atlas: HTMLImageElement;
2
4
  sx: number;
3
5
  sy: number;
4
6
  sw: number;
5
7
  sh: number;
6
8
  };
7
9
  export declare const Frame: {
8
- "new"(sx: number, sy: number, sw: number, sh: number): {
10
+ "new"(atlas: HTMLImageElement, sx?: number, sy?: number, sw?: number, sh?: number): {
11
+ atlas: HTMLImageElement;
9
12
  sx: number;
10
13
  sy: number;
11
14
  sw: number;
12
15
  sh: number;
13
16
  };
17
+ draw({ g }: Scene.RenderContext, frame: Frame, dx?: number, dy?: number, dw?: number, dh?: number): void;
18
+ };
19
+ export declare const Frames: {
20
+ from(atlas: HTMLImageElement, w: number, h: number, n?: number): Frame[];
21
+ draw(context: Scene.RenderContext, frames: Array<Frame>, i?: number, dx?: number, dy?: number, dw?: number, dh?: number): void;
14
22
  };
15
23
  //# sourceMappingURL=frames.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../src/frames.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,eAAO,MAAM,KAAK;cAEV,MAAM,MAAM,MAAM,MAClB,MAAM,MAAM,MAAM;;;;;;CAOzB,CAAA"}
1
+ {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../src/frames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,gBAAgB,CAAA;IACvB,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,eAAO,MAAM,KAAK;iBAEP,gBAAgB;;;;;;;gBAahB,KAAK,CAAC,aAAa,SACnB,KAAK;CAYf,CAAA;AAED,eAAO,MAAM,MAAM;gBACL,gBAAgB,KAAK,MAAM,KAAK,MAAM,MAAO,MAAM;kBA0BpD,KAAK,CAAC,aAAa,UACnB,KAAK,CAAC,KAAK,CAAC;CAaxB,CAAA"}
package/dist/frames.js CHANGED
@@ -1,9 +1,40 @@
1
1
  export const Frame = {
2
- new(sx, sy, sw, sh) {
2
+ new(atlas, sx = 0, sy = 0, sw = atlas.width, sh = atlas.height) {
3
3
  return {
4
+ atlas,
4
5
  sx, sy,
5
6
  sw, sh
6
7
  };
8
+ },
9
+ draw({ g }, frame, dx = 0, dy = 0, dw = frame.sw, dh = frame.sh) {
10
+ g.drawImage(frame.atlas, frame.sx, frame.sy, frame.sw, frame.sh, dx, dy, dw, dh);
11
+ }
12
+ };
13
+ export const Frames = {
14
+ from(atlas, w, h, n) {
15
+ const frames = new Array();
16
+ const rows = Math.floor(atlas.height / h);
17
+ const cols = Math.floor(atlas.width / w);
18
+ n ??= rows * cols;
19
+ for (let i = 0; i < n; i++) {
20
+ const row = Math.floor(i / cols);
21
+ const col = Math.floor(i % cols);
22
+ if (row < 0 || row >= rows ||
23
+ col < 0 || col >= cols)
24
+ break;
25
+ frames.push({
26
+ atlas: atlas,
27
+ sx: col * w,
28
+ sy: row * h,
29
+ sw: w, sh: h
30
+ });
31
+ }
32
+ return frames;
33
+ },
34
+ draw(context, frames, i = 0, dx = 0, dy = 0, dw = frames[i]?.sw ?? 0, dh = frames[i]?.sh ?? 0) {
35
+ if (!frames[i])
36
+ return;
37
+ Frame.draw(context, frames[i], dx, dy, dw, dh);
7
38
  }
8
39
  };
9
40
  //# sourceMappingURL=frames.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"frames.js","sourceRoot":"","sources":["../src/frames.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,CACD,EAAU,EAAE,EAAU,EACtB,EAAU,EAAE,EAAU;QAEtB,OAAO;YACL,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;SACS,CAAA;IACnB,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"frames.js","sourceRoot":"","sources":["../src/frames.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,CACD,KAAuB,EACvB,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EACd,EAAE,GAAG,KAAK,CAAC,KAAK,EAChB,EAAE,GAAG,KAAK,CAAC,MAAM;QAEjB,OAAO;YACL,KAAK;YACL,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;SACS,CAAA;IACnB,CAAC;IAED,IAAI,CACF,EAAE,CAAC,EAAuB,EAC1B,KAAY,EACZ,EAAE,GAAC,CAAC,EACJ,EAAE,GAAC,CAAC,EACJ,EAAE,GAAC,KAAK,CAAC,EAAE,EACX,EAAE,GAAC,KAAK,CAAC,EAAE;QAEX,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EACrB,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAClB,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAClB,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,CAClB,CAAA;IACH,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,CAAC,KAAuB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAW;QAC7D,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAA;QACjC,MAAM,IAAI,GAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAI,CAAC,CAAC,CAAA;QAE3C,CAAC,KAAK,IAAI,GAAG,IAAI,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAG,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;YAEhC,IACE,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI;gBACtB,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI;gBACtB,MAAM;YAER,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,GAAG,GAAG,CAAC;gBACX,EAAE,EAAE,GAAG,GAAG,CAAC;gBACX,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;aACb,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,CACF,OAA4B,EAC5B,MAAqB,EACrB,CAAC,GAAE,CAAC,EACJ,EAAE,GAAC,CAAC,EACJ,EAAE,GAAC,CAAC,EACJ,EAAE,GAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EACrB,EAAE,GAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO;QACvB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAC3B,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,CACP,CAAA;IACH,CAAC;CACF,CAAA"}
package/dist/input.d.ts CHANGED
@@ -1,10 +1,50 @@
1
1
  import { Stage } from "./stage.js";
2
+ import { Vector2 } from "./vector2.js";
2
3
  export type Input = {
3
4
  stage: Stage;
5
+ keys: Map<string, boolean>;
6
+ buttons: Map<number, boolean>;
7
+ mouse: Vector2;
8
+ wheel: Vector2;
4
9
  };
5
10
  export declare const Input: {
6
11
  "new"(stage: Stage): {
7
12
  stage: Stage;
13
+ keys: Map<any, any>;
14
+ buttons: Map<any, any>;
15
+ mouse: [number, number];
16
+ wheel: [number, number];
8
17
  };
18
+ isKeyUp(input: Input, key: string): boolean;
19
+ isKeyDown(input: Input, key: string): boolean;
20
+ isMouseUp(input: Input, button: number): boolean;
21
+ isMouseDown(input: Input, button: number): boolean;
22
+ getMouse(input: Input): [number, number];
23
+ getWheel(input: Input): [number, number];
24
+ poll(input: Input): void;
25
+ };
26
+ export type KeyUp = {
27
+ key: string;
28
+ native: KeyboardEvent;
29
+ };
30
+ export type KeyDown = {
31
+ key: string;
32
+ native: KeyboardEvent;
33
+ };
34
+ export type MouseUp = {
35
+ button: number;
36
+ native: MouseEvent;
37
+ };
38
+ export type MouseDown = {
39
+ button: number;
40
+ native: MouseEvent;
41
+ };
42
+ export type MouseMove = {
43
+ where: Vector2;
44
+ native: MouseEvent;
45
+ };
46
+ export type Wheel = {
47
+ wheel: Vector2;
48
+ native: WheelEvent;
9
49
  };
10
50
  //# sourceMappingURL=input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAKlC,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,KAAK;iBACL,KAAK;;;CAgBjB,CAAA"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAI,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,KAAK,CAAA;IAEZ,IAAI,EAAK,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE7B,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,eAAO,MAAM,KAAK;iBACL,KAAK;;;;;;;mBAiCD,KAAK,OAAO,MAAM;qBAIhB,KAAK,OAAO,MAAM;qBAIlB,KAAK,UAAU,MAAM;uBAInB,KAAK,UAAU,MAAM;oBAIxB,KAAK;oBAIL,KAAK;gBAIT,KAAK;CAGlB,CAAA;AA8ED,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,aAAa,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,aAAa,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA"}
package/dist/input.js CHANGED
@@ -1,16 +1,122 @@
1
1
  import { Stage } from "./stage.js";
2
+ import { Vector2 } from "./vector2.js";
2
3
  export const Input = {
3
4
  new(stage) {
4
5
  const input = {
5
- stage
6
+ stage,
7
+ keys: new Map(),
8
+ buttons: new Map(),
9
+ mouse: [0, 0],
10
+ wheel: [0, 0],
6
11
  };
7
- window.addEventListener("keydown", ke => Stage.dispatch(stage, "input:keydown", ke));
8
- window.addEventListener("keyup", ke => Stage.dispatch(stage, "input:keyup", ke));
9
- window.addEventListener("mousedown", me => Stage.dispatch(stage, "input:mousedown", me));
10
- window.addEventListener("mouseup", me => Stage.dispatch(stage, "input:mouseup", me));
11
- window.addEventListener("mousemove", me => Stage.dispatch(stage, "input:mousemove", me));
12
- window.addEventListener("wheel", we => Stage.dispatch(stage, "input:wheel", we));
12
+ window.addEventListener("keyup", ke => Stage.dispatch(stage, "native:keyup", ke));
13
+ window.addEventListener("keydown", ke => Stage.dispatch(stage, "native:keydown", ke));
14
+ stage.logicalCanvasElement.addEventListener("mouseup", me => Stage.dispatch(stage, "native:mouseup", me));
15
+ stage.logicalCanvasElement.addEventListener("mousedown", me => Stage.dispatch(stage, "native:mousedown", me));
16
+ stage.logicalCanvasElement.addEventListener("mousemove", me => Stage.dispatch(stage, "native:mousemove", me));
17
+ stage.logicalCanvasElement.addEventListener("wheel", we => Stage.dispatch(stage, "native:wheel", we));
18
+ Stage.listen(stage, "native:keyup", native => onNativeKeyUp(input, native));
19
+ Stage.listen(stage, "native:keydown", native => onNativeKeyDown(input, native));
20
+ Stage.listen(stage, "native:mouseup", native => onNativeMouseUp(input, native));
21
+ Stage.listen(stage, "native:mousedown", native => onNativeMouseDown(input, native));
22
+ Stage.listen(stage, "native:mousemove", native => onNativeMouseMove(input, native));
23
+ Stage.listen(stage, "native:wheel", native => onNativeWheel(input, native));
24
+ Stage.listen(stage, "input:keyup", e => onKeyUp(input, e));
25
+ Stage.listen(stage, "input:keydown", e => onKeyDown(input, e));
26
+ Stage.listen(stage, "input:mouseup", e => onMouseUp(input, e));
27
+ Stage.listen(stage, "input:mousedown", e => onMouseDown(input, e));
28
+ Stage.listen(stage, "input:mousemove", e => onMouseMove(input, e));
29
+ Stage.listen(stage, "input:wheel", e => onWheel(input, e));
13
30
  return input;
31
+ },
32
+ isKeyUp(input, key) {
33
+ return !input.keys.get(key);
34
+ },
35
+ isKeyDown(input, key) {
36
+ return !!input.keys.get(key);
37
+ },
38
+ isMouseUp(input, button) {
39
+ return !input.buttons.get(button);
40
+ },
41
+ isMouseDown(input, button) {
42
+ return !!input.buttons.get(button);
43
+ },
44
+ getMouse(input) {
45
+ return [...input.mouse];
46
+ },
47
+ getWheel(input) {
48
+ return [...input.wheel];
49
+ },
50
+ poll(input) {
51
+ input.wheel = [0, 0];
14
52
  }
15
53
  };
54
+ function onNativeKeyUp(input, native) {
55
+ const key = native.key;
56
+ if (Input.isKeyUp(input, key))
57
+ return;
58
+ input.keys.set(key, false);
59
+ Stage.dispatch(input.stage, "input:keyup", { key, native }, { defer: false });
60
+ }
61
+ function onNativeKeyDown(input, native) {
62
+ const key = native.key;
63
+ if (Input.isKeyDown(input, key))
64
+ return;
65
+ input.keys.set(key, true);
66
+ Stage.dispatch(input.stage, "input:keydown", { key, native }, { defer: false });
67
+ }
68
+ function onNativeMouseUp(input, native) {
69
+ const button = native.button;
70
+ if (Input.isMouseUp(input, button))
71
+ return;
72
+ input.buttons.set(button, false);
73
+ Stage.dispatch(input.stage, "input:mouseup", { button, native }, { defer: false });
74
+ }
75
+ function onNativeMouseDown(input, native) {
76
+ const button = native.button;
77
+ if (Input.isMouseDown(input, button))
78
+ return;
79
+ input.buttons.set(button, true);
80
+ Stage.dispatch(input.stage, "input:mousedown", { button, native }, { defer: false });
81
+ }
82
+ function onNativeMouseMove(input, native) {
83
+ const where = Stage.logicalToVirtual(input.stage, [
84
+ native.offsetX,
85
+ native.offsetY
86
+ ]);
87
+ input.mouse = [...where];
88
+ Stage.dispatch(input.stage, "input:mousemove", { where, native }, { defer: false });
89
+ }
90
+ function onNativeWheel(input, native) {
91
+ const wheel = [
92
+ native.deltaX,
93
+ native.deltaY
94
+ ];
95
+ input.wheel = [...wheel];
96
+ Stage.dispatch(input.stage, "input:wheel", { wheel, native }, { defer: false });
97
+ }
98
+ function onKeyUp(input, e) {
99
+ if (input.stage.scene && input.stage.scene.onKeyUp)
100
+ input.stage.scene.onKeyUp(e.key);
101
+ }
102
+ function onKeyDown(input, e) {
103
+ if (input.stage.scene && input.stage.scene.onKeyDown)
104
+ input.stage.scene.onKeyDown(e.key);
105
+ }
106
+ function onMouseUp(input, e) {
107
+ if (input.stage.scene && input.stage.scene.onMouseUp)
108
+ input.stage.scene.onMouseUp(e.button);
109
+ }
110
+ function onMouseDown(input, e) {
111
+ if (input.stage.scene && input.stage.scene.onMouseDown)
112
+ input.stage.scene.onMouseDown(e.button);
113
+ }
114
+ function onMouseMove(input, e) {
115
+ if (input.stage.scene && input.stage.scene.onMouseMove)
116
+ input.stage.scene.onMouseMove(e.where);
117
+ }
118
+ function onWheel(input, e) {
119
+ if (input.stage.scene && input.stage.scene.onWheel)
120
+ input.stage.scene.onWheel(e.wheel);
121
+ }
16
122
  //# sourceMappingURL=input.js.map
package/dist/input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AASlC,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,CAAC,KAAY;QACd,MAAM,KAAK,GAAG;YACZ,KAAK;SACU,CAAA;QAEjB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAI,EAAE,CAAC,CAAC,CAAA;QACxF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAM,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAM,EAAE,CAAC,CAAC,CAAA;QACxF,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAA;QACxF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAI,EAAE,CAAC,CAAC,CAAA;QACxF,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAA;QACxF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAM,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAM,EAAE,CAAC,CAAC,CAAA;QAIxF,OAAO,KAAK,CAAA;IACd,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"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"}
package/dist/scene.d.ts CHANGED
@@ -1,4 +1,6 @@
1
+ import type { Input } from "./input.js";
1
2
  import type { Stage } from "./stage.js";
3
+ import type { Vector2 } from "./vector2.js";
2
4
  export type Scene = {
3
5
  doUpdate?: boolean;
4
6
  doRender?: boolean;
@@ -6,15 +8,27 @@ export type Scene = {
6
8
  onDetach?: (stage: Stage) => void;
7
9
  onUpdate?: (context: Scene.UpdateContext) => void;
8
10
  onRender?: (context: Scene.RenderContext) => void;
11
+ onKeyUp?: (key: string) => void;
12
+ onKeyDown?: (key: string) => void;
13
+ onMouseUp?: (button: number) => void;
14
+ onMouseDown?: (button: number) => void;
15
+ onMouseMove?: (where: Vector2) => void;
16
+ onWheel?: (wheel: Vector2) => void;
9
17
  };
10
18
  export declare namespace Scene {
11
19
  type UpdateContext = {
12
20
  stage: Stage;
21
+ input: Input;
22
+ w: number;
23
+ h: number;
13
24
  t: number;
14
25
  dt: number;
15
26
  };
16
27
  type RenderContext = {
17
28
  stage: Stage;
29
+ input: Input;
30
+ w: number;
31
+ h: number;
18
32
  t: number;
19
33
  dt: number;
20
34
  g: OffscreenCanvasRenderingContext2D;
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,MAAM,KAAK,GAAG;IAClB,QAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,QAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAClC,QAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAClC,QAAS,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;IAClD,QAAS,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;CACnD,CAAA;AAED,yBAAiB,KAAK,CAAC;IACrB,KAAY,aAAa,GAAG;QAC1B,KAAK,EAAE,KAAK,CAAA;QACZ,CAAC,EAAG,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IAED,KAAY,aAAa,GAAG;QAC1B,KAAK,EAAE,KAAK,CAAA;QACZ,CAAC,EAAG,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;QACV,CAAC,EAAG,iCAAiC,CAAA;KACtC,CAAA;IAED,KAAY,UAAU,GAAG;QACvB,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;KACvC,CAAA;IAED,KAAY,UAAU,GAAG;QACvB,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;KACvC,CAAA;CACF;AAED,eAAO,MAAM,KAAK;kBACF,KAAK,GAAG,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU;kBAIzC,KAAK,GAAG,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU;CAGxD,CAAA"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,MAAM,KAAK,GAAG;IAClB,QAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,QAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAClC,QAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAClC,QAAS,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;IAClD,QAAS,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;IAElD,OAAY,CAAC,EAAE,CAAC,GAAG,EAAK,MAAM,KAAK,IAAI,CAAA;IACvC,SAAY,CAAC,EAAE,CAAC,GAAG,EAAK,MAAM,KAAK,IAAI,CAAA;IACvC,SAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,WAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,WAAY,CAAC,EAAE,CAAC,KAAK,EAAG,OAAO,KAAK,IAAI,CAAA;IACxC,OAAY,CAAC,EAAE,CAAC,KAAK,EAAG,OAAO,KAAK,IAAI,CAAA;CACzC,CAAA;AAED,yBAAiB,KAAK,CAAC;IACrB,KAAY,aAAa,GAAG;QAC1B,KAAK,EAAE,KAAK,CAAA;QACZ,KAAK,EAAE,KAAK,CAAA;QACZ,CAAC,EAAG,MAAM,CAAA;QACV,CAAC,EAAG,MAAM,CAAA;QACV,CAAC,EAAG,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IAED,KAAY,aAAa,GAAG;QAC1B,KAAK,EAAE,KAAK,CAAA;QACZ,KAAK,EAAE,KAAK,CAAA;QACZ,CAAC,EAAG,MAAM,CAAA;QACV,CAAC,EAAG,MAAM,CAAA;QACV,CAAC,EAAG,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;QACV,CAAC,EAAG,iCAAiC,CAAA;KACtC,CAAA;IAED,KAAY,UAAU,GAAG;QACvB,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;KACvC,CAAA;IAED,KAAY,UAAU,GAAG;QACvB,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;KACvC,CAAA;CACF;AAED,eAAO,MAAM,KAAK;kBACF,KAAK,GAAG,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU;kBAIzC,KAAK,GAAG,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU;CAGxD,CAAA"}
package/dist/scene.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scene.js","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAmCA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,UAAU,CAAC,CAAoB;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;IAED,UAAU,CAAC,CAAoB;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"scene.js","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAkDA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,UAAU,CAAC,CAAoB;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;IAED,UAAU,CAAC,CAAoB;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;CACF,CAAA"}
package/dist/sprite.d.ts CHANGED
@@ -1,13 +1,26 @@
1
- import type { Frame } from "./frames.js";
1
+ import { Frame } from "./frames.js";
2
2
  import type { Scene } from "./scene.js";
3
3
  export type Sprite = {
4
4
  frames: Array<Frame>;
5
- atlas: HTMLImageElement;
6
5
  state: "playing" | "stopped" | "looping";
7
6
  frame: number;
8
7
  speed: number;
8
+ x: number;
9
+ y: number;
10
+ w: number;
11
+ h: number;
9
12
  };
10
13
  export declare const Sprite: {
14
+ "new"(frames: Array<Frame>, w?: number, h?: number): {
15
+ frames: Frame[];
16
+ state: "stopped";
17
+ frame: number;
18
+ speed: number;
19
+ x: number;
20
+ y: number;
21
+ w: number;
22
+ h: number;
23
+ };
11
24
  /** Check if a sprite is playing. Returns `true` if the sprite is *not* stopped. */
12
25
  isPlaying(sprite: Sprite): boolean;
13
26
  /** Check if a sprite is stopped. Returns `true` if the sprite is stopped. */
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../src/sprite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAEpB,KAAK,EAAE,gBAAgB,CAAA;IACvB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAID,eAAO,MAAM,MAAM;IACjB,mFAAmF;sBACjE,MAAM;IAIxB,6EAA6E;sBAC3D,MAAM;IAIxB,6EAA6E;sBAC3D,MAAM;iBAIX,MAAM,MAAO;QAAE,KAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAM,CAAC,EAAE,MAAM,CAAA;KAAE;iBAIjD,MAAM,MAAO;QAAE,KAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAM,CAAC,EAAE,MAAM,CAAA;KAAE;iBAKjD,MAAM,MAAO;QAAE,KAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAM,CAAC,EAAE,MAAM,CAAA;KAAE;kBAIhD,KAAK,CAAC,aAAa,UAAU,MAAM;CAElD,CAAA"}
1
+ {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../src/sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAU,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAG,MAAM,YAAY,CAAA;AAExC,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACpB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IAEb,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CAAA;AAED,eAAO,MAAM,MAAM;kBACL,KAAK,CAAC,KAAK,CAAC,MAAO,MAAM,MAAO,MAAM;;;;;;;;;;IAclD,mFAAmF;sBACjE,MAAM;IAIxB,6EAA6E;sBAC3D,MAAM;IAIxB,6EAA6E;sBAC3D,MAAM;iBAIX,MAAM,MAAO;QAAE,KAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAM,CAAC,EAAE,MAAM,CAAA;KAAE;iBAUjD,MAAM,MAAO;QAAE,KAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAM,CAAC,EAAE,MAAM,CAAA;KAAE;iBAUjD,MAAM,MAAO;QAAE,KAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAM,CAAC,EAAE,MAAM,CAAA;KAAE;kBAUhD,KAAK,CAAC,aAAa,UAAU,MAAM;CAoBlD,CAAA"}
package/dist/sprite.js CHANGED
@@ -1,4 +1,18 @@
1
+ import { Frame, Frames } from "./frames.js";
1
2
  export const Sprite = {
3
+ new(frames, w, h) {
4
+ w ??= frames[0]?.sw ?? 0;
5
+ h ??= frames[0]?.sh ?? 0;
6
+ return {
7
+ frames,
8
+ state: "stopped",
9
+ frame: 0,
10
+ speed: 1,
11
+ x: 0,
12
+ y: 0,
13
+ w, h,
14
+ };
15
+ },
2
16
  /** Check if a sprite is playing. Returns `true` if the sprite is *not* stopped. */
3
17
  isPlaying(sprite) {
4
18
  return sprite.state !== "stopped";
@@ -12,11 +26,44 @@ export const Sprite = {
12
26
  return sprite.state === "looping";
13
27
  },
14
28
  stop(sprite, o) {
29
+ if (o?.frame !== undefined)
30
+ sprite.frame = wrap(o.frame, sprite.frames.length);
31
+ if (o?.speed !== undefined)
32
+ sprite.speed = o.speed;
33
+ sprite.state = "stopped";
15
34
  },
16
35
  play(sprite, o) {
36
+ if (o?.frame !== undefined)
37
+ sprite.frame = wrap(o.frame, sprite.frames.length);
38
+ if (o?.speed !== undefined)
39
+ sprite.speed = o.speed;
40
+ sprite.state = "playing";
17
41
  },
18
42
  loop(sprite, o) {
43
+ if (o?.frame !== undefined)
44
+ sprite.frame = wrap(o.frame, sprite.frames.length);
45
+ if (o?.speed !== undefined)
46
+ sprite.speed = o.speed;
47
+ sprite.state = "looping";
19
48
  },
20
- draw(context, sprite) { }
49
+ draw(context, sprite) {
50
+ if (sprite.state !== "stopped")
51
+ sprite.frame += sprite.speed * context.dt;
52
+ if (sprite.state === "playing") {
53
+ sprite.frame = clamp(sprite.frame, sprite.frames.length);
54
+ if (sprite.frame <= 0 ||
55
+ sprite.frame >= sprite.frames.length)
56
+ sprite.state = "stopped";
57
+ }
58
+ if (sprite.state === "looping")
59
+ sprite.frame = wrap(sprite.frame, sprite.frames.length);
60
+ Frames.draw(context, sprite.frames, Math.floor(sprite.frame), sprite.x, sprite.y, sprite.w, sprite.h);
61
+ }
21
62
  };
63
+ function wrap(n, m) {
64
+ return (n % m + m) % m;
65
+ }
66
+ function clamp(n, m) {
67
+ return Math.max(0, Math.min(n, m));
68
+ }
22
69
  //# sourceMappingURL=sprite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.js","sourceRoot":"","sources":["../src/sprite.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,mFAAmF;IACnF,SAAS,CAAC,MAAc;QACtB,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,CAAA;IACnC,CAAC;IAED,6EAA6E;IAC7E,SAAS,CAAC,MAAc;QACtB,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,CAAA;IACnC,CAAC;IAED,6EAA6E;IAC7E,SAAS,CAAC,MAAc;QACtB,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,CAAA;IACnC,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,CAAyC;IAE9D,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,CAAyC;IAE9D,CAAC;IAGD,IAAI,CAAC,MAAc,EAAE,CAAyC;IAE9D,CAAC;IAED,IAAI,CAAC,OAA4B,EAAE,MAAc,IAAG,CAAC;CAEtD,CAAA"}
1
+ {"version":3,"file":"sprite.js","sourceRoot":"","sources":["../src/sprite.ts"],"names":[],"mappings":"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"}
package/dist/stage.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Event } from "./event.js";
2
+ import { Input } from "./input.js";
2
3
  import { Scene } from "./scene.js";
3
4
  import { Vector2 } from "./vector2.js";
4
5
  export type Stage = {
@@ -17,6 +18,7 @@ export type Stage = {
17
18
  event: Event.Tree;
18
19
  debug: Map<string, string | undefined>;
19
20
  scene: Scene | undefined;
21
+ input: Input;
20
22
  measuredFramesPerSecond: number;
21
23
  measuredAverageFrame: number;
22
24
  measuredMinimumFrame: number;
@@ -67,6 +69,7 @@ export declare const Stage: {
67
69
  };
68
70
  debug: Map<any, any>;
69
71
  scene: undefined;
72
+ input: Input;
70
73
  measuredFramesPerSecond: number;
71
74
  measuredAverageFrame: number;
72
75
  measuredMinimumFrame: number;
@@ -1 +1 @@
1
- {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,MAAM,KAAK,GAAG;IAElB,QAAQ,CAAC,cAAc,EAAc,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;IAChE,QAAQ,CAAC,UAAU,EAAkB,MAAM,CAAA;IAC3C,QAAQ,CAAC,UAAU,EAAkB,MAAM,CAAA;IAC3C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAA;IAC3C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAA;IAC3C,QAAQ,CAAC,uBAAuB,EAAK,MAAM,GAAkB,SAAS,CAAA;IACtE,QAAQ,CAAC,uBAAuB,EAAK,qBAAqB,GAAG,SAAS,CAAA;IAGtE,oBAAoB,EAAE,iBAAiB,CAAA;IACvC,oBAAoB,EAAE,eAAe,CAAA;IACrC,oBAAoB,EAAE,wBAAwB,CAAA;IAC9C,oBAAoB,EAAE,iCAAiC,CAAA;IACvD,YAAY,EAAE,MAAM,CAAA;IAGpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAA;IACjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACtC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IAGZ,uBAAuB,EAAG,MAAM,CAAA;IAEhC,oBAAoB,EAAG,MAAM,CAAA;IAC7B,oBAAoB,EAAG,MAAM,CAAA;IAC7B,oBAAoB,EAAG,MAAM,CAAA;IAE7B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,CAAA;IAE7B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,yBAAiB,KAAK,CAAC;IACrB,KAAY,OAAO,GAAG;QACpB,MAAO,CAAC,EAAE,iBAAiB,CAAA;QAC3B,KAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;QACrC,CAAO,CAAC,EAAE,MAAM,CAAA;QAChB,CAAO,CAAC,EAAE,MAAM,CAAA;QAChB,GAAO,CAAC,EAAE,MAAM,CAAA;QAChB,GAAO,CAAC,EAAE,MAAM,CAAA;QAChB,EAAO,CAAC,EAAE,MAAM,CAAA;QAChB,EAAO,CAAC,EAAE,qBAAqB,CAAA;KAChC,CAAA;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK;cACP,KAAK,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;eAwDW,KAAK;;;;;;;;;;;;0BAwChB,KAAK;0BAOL,KAAK;2BAOJ,KAAK;4BAIJ,KAAK,UAAU,OAAO;4BAUtB,KAAK,UAAU,OAAO;eAUnC,KAAK,SAAS,KAAK,GAAG,SAAS;WAInC,CAAC,SAAS,KAAK,QAAU,MAAM,YAAc,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAO;QAAE,IAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAM,CAAC,EAAE,OAAO,CAAA;KAAE;WAIzG,CAAC,SAAS,KAAK,SAAU,MAAM,aAAc,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAO;QAAE,IAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAM,CAAC,EAAE,OAAO,CAAA;KAAE;aAIvG,CAAC,SAAS,KAAK,QAAQ,MAAM,SAAS,CAAC,MAAO;QAAE,IAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAM,CAAC,EAAE,OAAO,CAAA;KAAE;gBAI/E,KAAK;wBAIG,KAAK,MAAM,MAAM;wBAIjB,KAAK,MAAM,MAAM,QAAQ,MAAM,GAAG,SAAS;CAGhE,CAAA"}
package/dist/stage.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Canvas } from "./canvas.js";
2
2
  import { Event } from "./event.js";
3
+ import { Input } from "./input.js";
3
4
  import { Scene } from "./scene.js";
4
5
  import { Vector2 } from "./vector2.js";
5
6
  /**
@@ -49,6 +50,8 @@ export const Stage = {
49
50
  event: Event.Tree.new(),
50
51
  debug: new Map(),
51
52
  scene: undefined,
53
+ // hack to defer module initialization
54
+ input: undefined,
52
55
  // metrics
53
56
  measuredFramesPerSecond: 0,
54
57
  measuredAverageFrame: 0,
@@ -68,6 +71,7 @@ export const Stage = {
68
71
  new ResizeObserver(() => resize(stage)).observe(logicalCanvasElement);
69
72
  Stage.listen(stage, "stage:resize", resize => onResize(stage, resize));
70
73
  Stage.listen(stage, "stage:change", change => onChange(stage, change));
74
+ stage.input = Input.new(stage);
71
75
  requestAnimationFrame(firstFrame => requestAnimationFrame(lastFrame => requestAnimationFrame(thisFrame => animate(stage, firstFrame, lastFrame, thisFrame))));
72
76
  return stage;
73
77
  },
@@ -155,8 +159,9 @@ function onChange(stage, scene) {
155
159
  }
156
160
  function update(stage, t, dt) {
157
161
  Stage.poll(stage);
162
+ const [w, h] = Stage.getVirtualSize(stage);
158
163
  if (Scene.doesUpdate(stage.scene))
159
- stage.scene.onUpdate({ stage, t, dt });
164
+ stage.scene.onUpdate({ stage, w, h, t, dt, input: stage.input });
160
165
  }
161
166
  function render(stage, t, dt) {
162
167
  const f = stage.logicalCanvasContext;
@@ -172,8 +177,9 @@ function render(stage, t, dt) {
172
177
  const vs = Stage.getVirtualScale(stage);
173
178
  f.translate(lw / 2 - vw * vs / 2, lh / 2 - vh * vs / 2);
174
179
  f.scale(vs, vs);
180
+ const [w, h] = Stage.getVirtualSize(stage);
175
181
  if (Scene.doesRender(stage.scene))
176
- stage.scene.onRender({ stage, t, dt, g });
182
+ stage.scene.onRender({ stage, w, h, t, dt, g, input: stage.input });
177
183
  f.drawImage(stage.virtualCanvasElement, 0, 0);
178
184
  if (stage.configureDebug && stage.configureDebug !== "print")
179
185
  paintDebugInfo(stage);
package/dist/stage.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stage.js","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAG,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,KAAK,EAAI,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,KAAK,EAAI,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAqDtC;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,CAAC,CAAkB;QACpB,MAAM,cAAc,GAAe,CAAC,EAAE,KAAK,IAAI,KAAK,CAAA;QACpD,MAAM,UAAU,GAAmB,CAAC,EAAE,CAAC,IAAQ,CAAC,CAAA;QAChD,MAAM,UAAU,GAAmB,CAAC,EAAE,CAAC,IAAQ,CAAC,CAAA;QAChD,MAAM,0BAA0B,GAAG,CAAC,EAAE,GAAG,IAAM,MAAM,CAAA;QACrD,MAAM,0BAA0B,GAAG,CAAC,EAAE,GAAG,IAAM,MAAM,CAAA;QACrD,MAAM,uBAAuB,GAAM,CAAC,EAAE,EAAE,CAAA;QACxC,MAAM,uBAAuB,GAAM,CAAC,EAAE,EAAE,CAAA;QAExC,MAAM,oBAAoB,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;QAC1D,MAAM,oBAAoB,GAAG,IAAI,eAAe,CAC9C,UAAU,IAAI,oBAAoB,CAAC,KAAK,EACxC,UAAU,IAAI,oBAAoB,CAAC,MAAM,CAC1C,CAAA;QACD,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAE,CAAA;QACnE,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAE,CAAA;QAEnE,4BAA4B;QAC5B,oBAAoB,CAAC,qBAAqB,GAAG,CAAC,CAAC,uBAAuB,CAAA;QACtE,oBAAoB,CAAC,qBAAqB,GAAG,CAAC,CAAC,uBAAuB,CAAA;QACtE,IAAI,uBAAuB,EAAE,CAAC;YAC5B,oBAAoB,CAAC,qBAAqB,GAAG,uBAAuB,CAAA;YACpE,oBAAoB,CAAC,qBAAqB,GAAG,uBAAuB,CAAA;QACtE,CAAC;QAED,0BAA0B;QAC1B,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CACzB,oBAAoB,CAAC,KAAK,GAAI,oBAAoB,CAAC,KAAK,EACxD,oBAAoB,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAC1D,CAAA;QACD,IAAI,uBAAuB;YACzB,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,uBAAuB,CAAC,GAAG,uBAAuB,CAAA;QAE7F,MAAM,KAAK,GAAG;YACZ,gBAAgB;YAChB,cAAc;YACd,UAAU;YACV,UAAU;YACV,0BAA0B;YAC1B,0BAA0B;YAC1B,uBAAuB;YACvB,uBAAuB;YAEvB,SAAS;YACT,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,YAAY;YAEZ,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACvB,KAAK,EAAE,IAAI,GAAG,EAAE;YAChB,KAAK,EAAE,SAAS;YAEhB,UAAU;YACV,uBAAuB,EAAG,CAAC;YAE3B,oBAAoB,EAAG,CAAC;YACxB,oBAAoB,EAAG,CAAC;YACxB,oBAAoB,EAAG,CAAC;YAExB,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YAExB,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;SACT,CAAA;QAEjB,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAG,SAAS,CAAC,CAAA;QACxD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAA;QACxD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAA;QACxD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAA;QAExD,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;QACrE,KAAK,CAAC,MAAM,CAAoB,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;QACzF,KAAK,CAAC,MAAM,CAAoB,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;QAEzF,qBAAqB,CACnB,UAAU,CAAC,EAAE,CAAC,qBAAqB,CACjC,SAAS,CAAC,EAAE,CAAC,qBAAqB,CAChC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAC9D,CACF,CACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,cAAc,CAAC,KAAY;QACzB,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAChC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAClC,CAAA;IACH,CAAC;IAED,cAAc,CAAC,KAAY;QACzB,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAChC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAClC,CAAA;IACH,CAAC;IAED,eAAe,CAAC,KAAY;QAC1B,OAAO,KAAK,CAAC,YAAY,CAAA;IAC3B,CAAC;IAED,gBAAgB,CAAC,KAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAU;QAC5C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAE,KAAK,CAAC,CAAA;QAC7C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAE,KAAK,CAAC,CAAA;QAC7C,MAAW,EAAE,GAAI,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAC7C,OAAO;YACL,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;YAC1B,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SACT,CAAA;IACrB,CAAC;IAED,gBAAgB,CAAC,KAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAU;QAC5C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAE,KAAK,CAAC,CAAA;QAC7C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAE,KAAK,CAAC,CAAA;QAC7C,MAAW,EAAE,GAAI,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAC7C,OAAO;YACL,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;YAC1B,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SACT,CAAA;IACrB,CAAC;IAED,GAAG,CAAC,KAAY,EAAE,KAAwB;QACxC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,CAAI,KAAY,EAAE,IAAc,EAAE,QAA6B,EAAE,CAAyC;QAC9G,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,CAAI,KAAY,EAAE,IAAc,EAAE,QAA6B,EAAE,CAAyC;QAC9G,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,QAAQ,CAAI,KAAY,EAAE,IAAY,EAAE,KAAQ,EAAE,CAAyC;QACzF,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,KAAY;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,YAAY,CAAC,KAAY,EAAE,EAAU;QACnC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED,YAAY,CAAC,KAAY,EAAE,EAAU,EAAE,IAAwB;QAC7D,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAC3B,CAAC;CACF,CAAA;AAED,SAAS,MAAM,CAAC,KAAY;IAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAA;IAClE,MAAM,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAA;IACnE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAU;IAC7C,2BAA2B;IAC3B,KAAK,CAAC,oBAAoB,CAAC,KAAK,GAAI,CAAC,CAAA;IACrC,KAAK,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAA;IACrC,KAAK,CAAC,oBAAoB,GAAG,IAAI,eAAe,CAC9C,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,oBAAoB,CAAC,KAAK,EACpD,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,oBAAoB,CAAC,MAAM,CACtD,CAAA;IAED,sBAAsB;IACtB,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAE,CAAA;IACzE,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAE,CAAA;IAEzE,4BAA4B;IAC5B,KAAK,CAAC,oBAAoB,CAAC,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAA;IAClF,KAAK,CAAC,oBAAoB,CAAC,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAA;IAClF,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;QAClC,KAAK,CAAC,oBAAoB,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAA;QAChF,KAAK,CAAC,oBAAoB,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAA;IAClF,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,KAAK,CAAC,oBAAoB,CAAC,KAAK,GAAI,KAAK,CAAC,oBAAoB,CAAC,KAAK,EACpE,KAAK,CAAC,oBAAoB,CAAC,MAAM,GAAG,KAAK,CAAC,oBAAoB,CAAC,MAAM,CACtE,CAAA;IACD,IAAI,KAAK,CAAC,uBAAuB;QAC/B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,uBAAuB,CAAA;IAErH,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAY,EAAE,KAAwB;IACtD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ;QACrC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;IACnB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ;QACrC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,MAAM,CAAC,KAAY,EAAE,CAAS,EAAE,EAAU;IACjD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,MAAM,CAAC,KAAY,EAAE,CAAS,EAAE,EAAU;IACjD,MAAM,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAA;IACpC,MAAM,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAA;IAEpC,CAAC,CAAC,cAAc,EAAE,CAAA;IAClB,CAAC,CAAC,cAAc,EAAE,CAAA;IAElB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,0BAA0B,CAAA;IAC9C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAExB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,0BAA0B,CAAA;IAC9C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAExB,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC,CAAC,SAAS,CACT,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACpB,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACrB,CAAA;IACD,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAEf,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;IAE3C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE7C,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,KAAK,OAAO;QAC1D,cAAc,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC;AAoBD,MAAM,OAAO,GAAG;IACd,GAAG;QACD,OAAO;YACL,0BAA0B,EAAE,CAAC;YAE7B,uBAAuB,EAAK,CAAC;YAC7B,uBAAuB,EAAK,QAAQ;YACpC,uBAAuB,EAAK,CAAC;YAE7B,wBAAwB,EAAI,CAAC;YAC7B,wBAAwB,EAAI,QAAQ;YACpC,wBAAwB,EAAI,CAAC;YAE7B,wBAAwB,EAAI,CAAC;YAC7B,wBAAwB,EAAI,QAAQ;YACpC,wBAAwB,EAAI,CAAC;YAE7B,oBAAoB,EAAQ,CAAC;SACZ,CAAA;IACrB,CAAC;CACF,CAAA;AAED,SAAS,OAAO,CAAC,KAAY,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,CAAY;IAC7E,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,CAAA;IAEnB,MAAM,CAAC,GAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAA;IAE3B,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IAC3B,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IACpB,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IAC3B,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IACpB,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IAE3B,MAAM,UAAU,GAAI,CAAC,GAAG,CAAC,CAAA;IACzB,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAA;IAEzB,CAAC,CAAC,0BAA0B,IAAI,CAAC,CAAA;IAEjC,CAAC,CAAC,uBAAuB,IAAM,UAAU,CAAA;IACzC,CAAC,CAAC,uBAAuB,GAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAG,CAAC,CAAC,uBAAuB,CAAE,CAAA;IAChF,CAAC,CAAC,uBAAuB,GAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAG,CAAC,CAAC,uBAAuB,CAAE,CAAA;IAEhF,CAAC,CAAC,wBAAwB,IAAK,WAAW,CAAA;IAC1C,CAAC,CAAC,wBAAwB,GAAK,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAChF,CAAC,CAAC,wBAAwB,GAAK,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAEhF,CAAC,CAAC,wBAAwB,IAAK,WAAW,CAAA;IAC1C,CAAC,CAAC,wBAAwB,GAAK,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAChF,CAAC,CAAC,wBAAwB,GAAK,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAEhF,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAA;IAE5B,IAAI,CAAC,CAAC,oBAAoB,IAAI,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,uBAAuB,GAAI,CAAC,CAAC,0BAA0B,CAAA;QAE7D,KAAK,CAAC,oBAAoB,GAAI,CAAC,CAAC,uBAAuB,GAAG,CAAC,CAAC,0BAA0B,CAAA;QACtF,KAAK,CAAC,oBAAoB,GAAI,CAAC,CAAC,uBAAuB,CAAA;QACvD,KAAK,CAAC,oBAAoB,GAAI,CAAC,CAAC,uBAAuB,CAAA;QAEvD,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,0BAA0B,CAAA;QACvF,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,wBAAwB,CAAA;QACxD,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,wBAAwB,CAAA;QAExD,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,0BAA0B,CAAA;QACvF,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,wBAAwB,CAAA;QACxD,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,wBAAwB,CAAA;QAExD,qBAAqB;QACrB,CAAC,CAAC,0BAA0B,GAAI,CAAC,CAAA;QAEjC,CAAC,CAAC,uBAAuB,GAAK,CAAC,CAAA;QAC/B,CAAC,CAAC,uBAAuB,GAAK,QAAQ,CAAA;QACtC,CAAC,CAAC,uBAAuB,GAAK,CAAC,CAAA;QAE/B,CAAC,CAAC,wBAAwB,GAAI,CAAC,CAAA;QAC/B,CAAC,CAAC,wBAAwB,GAAI,QAAQ,CAAA;QACtC,CAAC,CAAC,wBAAwB,GAAI,CAAC,CAAA;QAE/B,CAAC,CAAC,wBAAwB,GAAI,CAAC,CAAA;QAC/B,CAAC,CAAC,wBAAwB,GAAI,QAAQ,CAAA;QACtC,CAAC,CAAC,wBAAwB,GAAI,CAAC,CAAA;QAE/B,CAAC,CAAC,oBAAoB,GAAQ,CAAC,CAAA;QAE/B,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAG,YAAY,CAAE,KAAK,CAAC,CAAC,CAAA;QACnE,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;QACnE,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;QACnE,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,KAAK,OAAO;YAC1D,cAAc,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,KAAY;IAChC,OAAO,SAAS,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;AACnM,CAAC;AAED,SAAS,aAAa,CAAC,KAAY;IACjC,OAAO,UAAU,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;AACnJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAY;IACjC,OAAO,UAAU,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;AACnJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAY;IACjC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAE,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAE,KAAK,CAAC,CAAA;IAC7C,MAAM,EAAE,GAAS,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,KAAY;IAClC,IAAI,KAAK,GAAG,iBAAiB,CAAA;IAC7B,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAA;IACtB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,4BAA4B,GAAG,OAAO,CAAA;AAC5C,MAAM,4BAA4B,GAAG,OAAO,CAAA;AAC5C,MAAM,0BAA0B,GAAK,EAAW,CAAA;AAChD,MAAM,0BAA0B,GAAK,EAAW,CAAA;AAChD,MAAM,0BAA0B,GAAK,EAAW,CAAA;AAChD,MAAM,0BAA0B,GAAK,EAAW,CAAA;AAChD,MAAM,yBAAyB,GAAO,CAAU,CAAA;AAChD,MAAM,sBAAsB,GAAS,gBAAyB,CAAA;AAE9D,SAAS,cAAc,CAAC,KAAY;IAClC,MAAM,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAA;IAEpC,CAAC,CAAC,cAAc,EAAE,CAAA;IAClB,CAAC,CAAC,IAAI,GAAG,sBAAsB,CAAA;IAE/B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,SAAQ;QAEnB,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,IAAI,CACH,EAAE,CAAC,qBAAqB;YACxB,EAAE,CAAC,sBAAsB;YACzB,yBAAyB,CAC1B,CAAA;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,CAAC,IAAI,0BAA0B,GAAG,0BAA0B,CAAA;QAC5D,CAAC,IAAI,0BAA0B,GAAG,0BAA0B,CAAA;QAC5D,CAAC,IAAI,yBAAyB,CAAA;IAChC,CAAC;IAED,kBAAkB;IAClB,CAAC,CAAC,SAAS,GAAG,4BAA4B,CAAA;IAC1C,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAEtB,kBAAkB;IAClB,CAAC,CAAC,SAAS,GAAG,4BAA4B,CAAA;IAC1C,IAAI,CAAC,GAAG,0BAA0B,CAAA;IAClC,IAAI,CAAC,GAAG,0BAA0B,CAAA;IAClC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,SAAQ;QAEnB,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;QACjD,CAAC,IAAI,CACH,EAAE,CAAC,qBAAqB;YACxB,EAAE,CAAC,sBAAsB;YACzB,yBAAyB,CAC1B,CAAA;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"stage.js","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fi4f/hg",
3
- "version": "0.0.16",
3
+ "version": "0.0.18",
4
4
  "description": "A tiny 2d game engine for the web.",
5
5
  "homepage": "https://github.com/fi4f/hg#readme",
6
6
  "bugs": {
@@ -15,7 +15,9 @@
15
15
  "type": "module",
16
16
  "main": "dist/hg.js",
17
17
  "types": "dist/hg.d.ts",
18
- "files": [ "dist" ],
18
+ "files": [
19
+ "dist"
20
+ ],
19
21
  "scripts": {
20
22
  "build": "tsc"
21
23
  },