@fi4f/hg 0.0.0

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.
Files changed (74) hide show
  1. package/.gitattributes +2 -0
  2. package/.github/workflows/publish.yml +23 -0
  3. package/dist/asset.d.ts +111 -0
  4. package/dist/asset.d.ts.map +1 -0
  5. package/dist/asset.js +188 -0
  6. package/dist/asset.js.map +1 -0
  7. package/dist/event.d.ts +69 -0
  8. package/dist/event.d.ts.map +1 -0
  9. package/dist/event.js +133 -0
  10. package/dist/event.js.map +1 -0
  11. package/dist/hg.d.ts +18 -0
  12. package/dist/hg.d.ts.map +1 -0
  13. package/dist/hg.js +19 -0
  14. package/dist/hg.js.map +1 -0
  15. package/dist/math.d.ts +6 -0
  16. package/dist/math.d.ts.map +1 -0
  17. package/dist/math.js +6 -0
  18. package/dist/math.js.map +1 -0
  19. package/dist/matrix2.d.ts +91 -0
  20. package/dist/matrix2.d.ts.map +1 -0
  21. package/dist/matrix2.js +178 -0
  22. package/dist/matrix2.js.map +1 -0
  23. package/dist/matrix3.d.ts +146 -0
  24. package/dist/matrix3.d.ts.map +1 -0
  25. package/dist/matrix3.js +255 -0
  26. package/dist/matrix3.js.map +1 -0
  27. package/dist/matrix4.d.ts +219 -0
  28. package/dist/matrix4.d.ts.map +1 -0
  29. package/dist/matrix4.js +352 -0
  30. package/dist/matrix4.js.map +1 -0
  31. package/dist/scene.d.ts +34 -0
  32. package/dist/scene.d.ts.map +1 -0
  33. package/dist/scene.js +9 -0
  34. package/dist/scene.js.map +1 -0
  35. package/dist/stage.d.ts +128 -0
  36. package/dist/stage.d.ts.map +1 -0
  37. package/dist/stage.js +299 -0
  38. package/dist/stage.js.map +1 -0
  39. package/dist/types.d.ts +2 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +2 -0
  42. package/dist/types.js.map +1 -0
  43. package/dist/vector2.d.ts +38 -0
  44. package/dist/vector2.d.ts.map +1 -0
  45. package/dist/vector2.js +67 -0
  46. package/dist/vector2.js.map +1 -0
  47. package/dist/vector3.d.ts +46 -0
  48. package/dist/vector3.d.ts.map +1 -0
  49. package/dist/vector3.js +74 -0
  50. package/dist/vector3.js.map +1 -0
  51. package/dist/vector4.d.ts +54 -0
  52. package/dist/vector4.d.ts.map +1 -0
  53. package/dist/vector4.js +81 -0
  54. package/dist/vector4.js.map +1 -0
  55. package/dist/version.d.ts +21 -0
  56. package/dist/version.d.ts.map +1 -0
  57. package/dist/version.js +14 -0
  58. package/dist/version.js.map +1 -0
  59. package/package.json +29 -0
  60. package/src/asset.ts +249 -0
  61. package/src/event.ts +174 -0
  62. package/src/hg.ts +21 -0
  63. package/src/math.ts +5 -0
  64. package/src/matrix2.ts +215 -0
  65. package/src/matrix3.ts +302 -0
  66. package/src/matrix4.ts +415 -0
  67. package/src/scene.ts +45 -0
  68. package/src/stage.ts +481 -0
  69. package/src/types.ts +1 -0
  70. package/src/vector2.ts +80 -0
  71. package/src/vector3.ts +88 -0
  72. package/src/vector4.ts +96 -0
  73. package/src/version.ts +26 -0
  74. package/tsconfig.json +44 -0
@@ -0,0 +1,352 @@
1
+ import { Vector4 } from "./vector4.js";
2
+ import { ADD, SUB, MUL, DIV, MOD } from "./math.js";
3
+ export const XX = 0;
4
+ export const XY = 1;
5
+ export const XZ = 2;
6
+ export const XW = 3;
7
+ export const YX = 4;
8
+ export const YY = 5;
9
+ export const YZ = 6;
10
+ export const YW = 7;
11
+ export const ZX = 8;
12
+ export const ZY = 9;
13
+ export const ZZ = 10;
14
+ export const ZW = 11;
15
+ export const WX = 12;
16
+ export const WY = 13;
17
+ export const WZ = 14;
18
+ export const WW = 15;
19
+ export const __get__ = {
20
+ xx(a) { return a[XX]; },
21
+ xy(a) { return a[XY]; },
22
+ xz(a) { return a[XZ]; },
23
+ xw(a) { return a[XW]; },
24
+ yx(a) { return a[YX]; },
25
+ yy(a) { return a[YY]; },
26
+ yz(a) { return a[YZ]; },
27
+ yw(a) { return a[YW]; },
28
+ zx(a) { return a[ZX]; },
29
+ zy(a) { return a[ZY]; },
30
+ zz(a) { return a[ZZ]; },
31
+ zw(a) { return a[ZW]; },
32
+ wx(a) { return a[WX]; },
33
+ wy(a) { return a[WY]; },
34
+ wz(a) { return a[WZ]; },
35
+ ww(a) { return a[WW]; },
36
+ r0(a) { return [a[XX], a[XY], a[XZ], a[XW]]; },
37
+ r1(a) { return [a[YX], a[YY], a[YZ], a[YW]]; },
38
+ r2(a) { return [a[ZX], a[ZY], a[ZZ], a[ZW]]; },
39
+ r3(a) { return [a[WX], a[WY], a[WZ], a[WW]]; },
40
+ c0(a) { return [a[XX], a[YX], a[ZX], a[WX]]; },
41
+ c1(a) { return [a[XY], a[YY], a[ZY], a[WY]]; },
42
+ c2(a) { return [a[XZ], a[YZ], a[ZZ], a[WZ]]; },
43
+ c3(a) { return [a[XW], a[YW], a[ZW], a[WW]]; },
44
+ row(a, i) {
45
+ switch (i) {
46
+ case 0: return __get__.r0(a);
47
+ case 1: return __get__.r1(a);
48
+ case 2: return __get__.r2(a);
49
+ case 3: return __get__.r3(a);
50
+ }
51
+ },
52
+ col(a, j) {
53
+ switch (j) {
54
+ case 0: return __get__.c0(a);
55
+ case 1: return __get__.c1(a);
56
+ case 2: return __get__.c2(a);
57
+ case 3: return __get__.c3(a);
58
+ }
59
+ },
60
+ };
61
+ export const __set__ = {
62
+ xx(a, xx) { return a[XX] = xx; },
63
+ xy(a, xy) { return a[XY] = xy; },
64
+ xz(a, xz) { return a[XZ] = xz; },
65
+ xw(a, xw) { return a[XW] = xw; },
66
+ yx(a, yx) { return a[YX] = yx; },
67
+ yy(a, yy) { return a[YY] = yy; },
68
+ yz(a, yz) { return a[YZ] = yz; },
69
+ yw(a, yw) { return a[YW] = yw; },
70
+ zx(a, zx) { return a[ZX] = zx; },
71
+ zy(a, zy) { return a[ZY] = zy; },
72
+ zz(a, zz) { return a[ZZ] = zz; },
73
+ zw(a, zw) { return a[ZW] = zw; },
74
+ wx(a, wx) { return a[WX] = wx; },
75
+ wy(a, wy) { return a[WY] = wy; },
76
+ wz(a, wz) { return a[WZ] = wz; },
77
+ ww(a, ww) { return a[WW] = ww; },
78
+ r0(a, r0) {
79
+ const [x, y, z, w] = Vector4.from(r0);
80
+ __set__.xx(a, x);
81
+ __set__.xy(a, y);
82
+ __set__.xz(a, z);
83
+ __set__.xw(a, w);
84
+ return [x, y, z, w];
85
+ },
86
+ r1(a, r1) {
87
+ const [x, y, z, w] = Vector4.from(r1);
88
+ __set__.yx(a, x);
89
+ __set__.yy(a, y);
90
+ __set__.yz(a, z);
91
+ __set__.yw(a, w);
92
+ return [x, y, z, w];
93
+ },
94
+ r2(a, r2) {
95
+ const [x, y, z, w] = Vector4.from(r2);
96
+ __set__.zx(a, x);
97
+ __set__.zy(a, y);
98
+ __set__.zz(a, z);
99
+ __set__.zw(a, w);
100
+ return [x, y, z, w];
101
+ },
102
+ r3(a, r3) {
103
+ const [x, y, z, w] = Vector4.from(r3);
104
+ __set__.wx(a, x);
105
+ __set__.wy(a, y);
106
+ __set__.wz(a, z);
107
+ __set__.ww(a, w);
108
+ return [x, y, z, w];
109
+ },
110
+ c0(a, c0) {
111
+ const [x, y, z, w] = Vector4.from(c0);
112
+ __set__.xx(a, x);
113
+ __set__.yx(a, y);
114
+ __set__.zx(a, z);
115
+ __set__.wx(a, w);
116
+ return [x, y, z, w];
117
+ },
118
+ c1(a, c1) {
119
+ const [x, y, z, w] = Vector4.from(c1);
120
+ __set__.xy(a, x);
121
+ __set__.yy(a, y);
122
+ __set__.zy(a, y);
123
+ __set__.wy(a, y);
124
+ return [x, y, z, w];
125
+ },
126
+ c2(a, c2) {
127
+ const [x, y, z, w] = Vector4.from(c2);
128
+ __set__.xz(a, x);
129
+ __set__.yz(a, y);
130
+ __set__.zz(a, z);
131
+ __set__.wz(a, z);
132
+ return [x, y, z, w];
133
+ },
134
+ c3(a, c3) {
135
+ const [x, y, z, w] = Vector4.from(c3);
136
+ __set__.xw(a, x);
137
+ __set__.yw(a, y);
138
+ __set__.zw(a, z);
139
+ __set__.ww(a, w);
140
+ return [x, y, z, w];
141
+ },
142
+ row(a, i, ri) {
143
+ switch (i) {
144
+ case 0: return __set__.r0(a, ri);
145
+ case 1: return __set__.r1(a, ri);
146
+ case 2: return __set__.r2(a, ri);
147
+ case 3: return __set__.r3(a, ri);
148
+ }
149
+ },
150
+ col(a, j, cj) {
151
+ switch (j) {
152
+ case 0: return __set__.c0(a, cj);
153
+ case 1: return __set__.c1(a, cj);
154
+ case 2: return __set__.c2(a, cj);
155
+ case 3: return __set__.c3(a, cj);
156
+ }
157
+ },
158
+ };
159
+ export function xx(a, xx) {
160
+ return xx === undefined ? __get__.xx(a) : __set__.xx(a, xx);
161
+ }
162
+ export function xy(a, xy) {
163
+ return xy === undefined ? __get__.xy(a) : __set__.xy(a, xy);
164
+ }
165
+ export function xz(a, xz) {
166
+ return xz === undefined ? __get__.xz(a) : __set__.xz(a, xz);
167
+ }
168
+ export function xw(a, xw) {
169
+ return xw === undefined ? __get__.xw(a) : __set__.xw(a, xw);
170
+ }
171
+ export function yx(a, yx) {
172
+ return yx === undefined ? __get__.yx(a) : __set__.yx(a, yx);
173
+ }
174
+ export function yy(a, yy) {
175
+ return yy === undefined ? __get__.yy(a) : __set__.yy(a, yy);
176
+ }
177
+ export function yz(a, yz) {
178
+ return yz === undefined ? __get__.yz(a) : __set__.yz(a, yz);
179
+ }
180
+ export function yw(a, yw) {
181
+ return yw === undefined ? __get__.yw(a) : __set__.yw(a, yw);
182
+ }
183
+ export function zx(a, zx) {
184
+ return zx === undefined ? __get__.zx(a) : __set__.zx(a, zx);
185
+ }
186
+ export function zy(a, zy) {
187
+ return zy === undefined ? __get__.zy(a) : __set__.zy(a, zy);
188
+ }
189
+ export function zz(a, zz) {
190
+ return zz === undefined ? __get__.zz(a) : __set__.zz(a, zz);
191
+ }
192
+ export function zw(a, zw) {
193
+ return zw === undefined ? __get__.zw(a) : __set__.zw(a, zw);
194
+ }
195
+ export function wx(a, wx) {
196
+ return wx === undefined ? __get__.wx(a) : __set__.wx(a, wx);
197
+ }
198
+ export function wy(a, wy) {
199
+ return wy === undefined ? __get__.wy(a) : __set__.wy(a, wy);
200
+ }
201
+ export function wz(a, wz) {
202
+ return wz === undefined ? __get__.wz(a) : __set__.wz(a, wz);
203
+ }
204
+ export function ww(a, ww) {
205
+ return ww === undefined ? __get__.ww(a) : __set__.ww(a, ww);
206
+ }
207
+ export function r0(a, r0) {
208
+ return r0 === undefined ? __get__.r0(a) : __set__.r0(a, r0);
209
+ }
210
+ export function r1(a, r1) {
211
+ return r1 === undefined ? __get__.r1(a) : __set__.r1(a, r1);
212
+ }
213
+ export function r2(a, r2) {
214
+ return r2 === undefined ? __get__.r2(a) : __set__.r2(a, r2);
215
+ }
216
+ export function r3(a, r3) {
217
+ return r3 === undefined ? __get__.r3(a) : __set__.r3(a, r3);
218
+ }
219
+ export function c0(a, c0) {
220
+ return c0 === undefined ? __get__.c0(a) : __set__.c0(a, c0);
221
+ }
222
+ export function c1(a, c1) {
223
+ return c1 === undefined ? __get__.c1(a) : __set__.c1(a, c1);
224
+ }
225
+ export function c2(a, c2) {
226
+ return c2 === undefined ? __get__.c2(a) : __set__.c2(a, c2);
227
+ }
228
+ export function c3(a, c3) {
229
+ return c3 === undefined ? __get__.c3(a) : __set__.c3(a, c3);
230
+ }
231
+ export function row(a, i, ri) {
232
+ return ri === undefined ? __get__.row(a, i) : __set__.row(a, i, ri);
233
+ }
234
+ export function col(a, j, cj) {
235
+ return cj === undefined ? __get__.col(a, j) : __set__.col(a, j, cj);
236
+ }
237
+ export const Matrix4 = {
238
+ XX, XY, XZ, XW, YX, YY, YZ, YW, ZX, ZY, ZZ, ZW, WX, WY, WZ, WW,
239
+ __get__,
240
+ __set__,
241
+ xx, xy, xz, xw, yx, yy, yz, yw, zx, zy, zz, zw, wx, wy, wz, ww,
242
+ id(a = 1) {
243
+ return [
244
+ a, 0, 0, 0,
245
+ 0, a, 0, 0,
246
+ 0, 0, a, 0,
247
+ 0, 0, 0, a
248
+ ];
249
+ },
250
+ new(...a) {
251
+ if (a.length === 1)
252
+ return [
253
+ a[XX], a[XX], a[XX], a[XX],
254
+ a[XX], a[XX], a[XX], a[XX],
255
+ a[XX], a[XX], a[XX], a[XX],
256
+ a[XX], a[XX], a[XX], a[XX]
257
+ ];
258
+ else
259
+ return [
260
+ a[XX] ?? 0, a[XY] ?? 0, a[XZ] ?? 0, a[XW] ?? 0,
261
+ a[YX] ?? 0, a[YY] ?? 0, a[YZ] ?? 0, a[YW] ?? 0,
262
+ a[ZX] ?? 0, a[ZY] ?? 0, a[ZZ] ?? 0, a[ZW] ?? 0,
263
+ a[WX] ?? 0, a[WY] ?? 0, a[WZ] ?? 0, a[WW] ?? 0
264
+ ];
265
+ },
266
+ from(a) {
267
+ if (typeof a === "number")
268
+ return [
269
+ a, a, a, a,
270
+ a, a, a, a,
271
+ a, a, a, a,
272
+ a, a, a, a
273
+ ];
274
+ else
275
+ return [
276
+ a[XX] ?? 0, a[XY] ?? 0, a[XZ] ?? 0, a[XW] ?? 0,
277
+ a[YX] ?? 0, a[YY] ?? 0, a[YZ] ?? 0, a[YW] ?? 0,
278
+ a[ZX] ?? 0, a[ZY] ?? 0, a[ZZ] ?? 0, a[ZW] ?? 0,
279
+ a[WX] ?? 0, a[WY] ?? 0, a[WZ] ?? 0, a[WW] ?? 0
280
+ ];
281
+ },
282
+ el(op, a, b, out = Matrix4.new()) {
283
+ const [xxa, xya, xza, xwa, yxa, yya, yza, ywa, zxa, zya, zza, zwa, wxa, wya, wza, wwa] = Matrix4.from(a);
284
+ const [xxb, xyb, xzb, xwb, yxb, yyb, yzb, ywb, zxb, zyb, zzb, zwb, wxb, wyb, wzb, wwb] = Matrix4.from(b);
285
+ __set__.xx(out, op(xxa, xxb));
286
+ __set__.xy(out, op(xya, xyb));
287
+ __set__.xz(out, op(xza, xzb));
288
+ __set__.xw(out, op(xwa, xwb));
289
+ __set__.yx(out, op(yxa, yxb));
290
+ __set__.yy(out, op(yya, yyb));
291
+ __set__.yz(out, op(yza, yzb));
292
+ __set__.yw(out, op(ywa, ywb));
293
+ __set__.zx(out, op(zxa, zxb));
294
+ __set__.zy(out, op(zya, zyb));
295
+ __set__.zz(out, op(zza, zzb));
296
+ __set__.zw(out, op(zwa, zwb));
297
+ __set__.wx(out, op(wxa, wxb));
298
+ __set__.wy(out, op(wya, wyb));
299
+ __set__.wz(out, op(wza, wzb));
300
+ __set__.ww(out, op(wwa, wwb));
301
+ return out;
302
+ },
303
+ add(a, b, out = Matrix4.new()) {
304
+ return Matrix4.el(ADD, a, b, out);
305
+ },
306
+ sub(a, b, out = Matrix4.new()) {
307
+ return Matrix4.el(SUB, a, b, out);
308
+ },
309
+ hmul(a, b, out = Matrix4.new()) {
310
+ return Matrix4.el(MUL, a, b, out);
311
+ },
312
+ hdiv(a, b, out = Matrix4.new()) {
313
+ return Matrix4.el(DIV, a, b, out);
314
+ },
315
+ hmod(a, b, out = Matrix4.new()) {
316
+ return Matrix4.el(MOD, a, b, out);
317
+ },
318
+ mul(a, b, out = Matrix4.new()) {
319
+ const A = Matrix4.from(a);
320
+ const B = Matrix4.from(b);
321
+ const r0 = __get__.r0(A);
322
+ const r1 = __get__.r1(A);
323
+ const r2 = __get__.r2(A);
324
+ const r3 = __get__.r3(A);
325
+ const c0 = __get__.c0(B);
326
+ const c1 = __get__.c1(B);
327
+ const c2 = __get__.c2(B);
328
+ const c3 = __get__.c3(B);
329
+ __set__.xx(out, Vector4.dot(r0, c0));
330
+ __set__.xy(out, Vector4.dot(r0, c1));
331
+ __set__.xz(out, Vector4.dot(r0, c2));
332
+ __set__.xw(out, Vector4.dot(r0, c3));
333
+ __set__.yx(out, Vector4.dot(r1, c0));
334
+ __set__.yy(out, Vector4.dot(r1, c1));
335
+ __set__.yz(out, Vector4.dot(r1, c2));
336
+ __set__.yw(out, Vector4.dot(r1, c3));
337
+ __set__.zx(out, Vector4.dot(r2, c0));
338
+ __set__.zy(out, Vector4.dot(r2, c1));
339
+ __set__.zz(out, Vector4.dot(r2, c2));
340
+ __set__.zw(out, Vector4.dot(r2, c3));
341
+ __set__.wx(out, Vector4.dot(r3, c0));
342
+ __set__.wy(out, Vector4.dot(r3, c1));
343
+ __set__.wz(out, Vector4.dot(r3, c2));
344
+ __set__.ww(out, Vector4.dot(r3, c3));
345
+ return out;
346
+ },
347
+ toString(a) {
348
+ const [xx, xy, xz, xw, yx, yy, yz, yw, zx, zy, zz, zw, wx, wy, wz, ww] = Matrix4.from(a);
349
+ return `mat4<${xx}, ${xy}, ${xz}, ${xw}, ${yx}, ${yy}, ${yz}, ${yw}, ${zx}, ${zy}, ${zz}, ${zw}, ${wx}, ${wy}, ${wz}, ${ww}>`;
350
+ }
351
+ };
352
+ //# sourceMappingURL=matrix4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix4.js","sourceRoot":"","sources":["../src/matrix4.ts"],"names":[],"mappings":"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AC1B,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAExB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAEpC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,CAAmB;QAC1B,MAAM,CACJ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACd,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACd,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACd,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,OAAO,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAA;IAC/H,CAAC;CACF,CAAA"}
@@ -0,0 +1,34 @@
1
+ import type { Maybe } from "./types.js";
2
+ import type { Stage } from "./stage.js";
3
+ export type Scene = {
4
+ doUpdate?: boolean;
5
+ doRender?: boolean;
6
+ onAttach?: (stage: Stage) => void;
7
+ onDetach?: (stage: Stage) => void;
8
+ onUpdate?: (context: Scene.UpdateContext) => void;
9
+ onRender?: (context: Scene.RenderContext) => void;
10
+ };
11
+ export declare namespace Scene {
12
+ type UpdateContext = {
13
+ stage: Stage;
14
+ t: number;
15
+ dt: number;
16
+ };
17
+ type RenderContext = {
18
+ stage: Stage;
19
+ t: number;
20
+ dt: number;
21
+ g: OffscreenCanvasRenderingContext2D;
22
+ };
23
+ type DoesUpdate = {
24
+ onUpdate(context: UpdateContext): void;
25
+ };
26
+ type Renderable = {
27
+ onRender(context: RenderContext): void;
28
+ };
29
+ }
30
+ export declare const Scene: {
31
+ doesUpdate(a: Maybe<Scene>): a is Scene.DoesUpdate;
32
+ doesRender(a: Maybe<Scene>): a is Scene.Renderable;
33
+ };
34
+ //# sourceMappingURL=scene.d.ts.map
@@ -0,0 +1 @@
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;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,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU;kBAIpC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU;CAGnD,CAAA"}
package/dist/scene.js ADDED
@@ -0,0 +1,9 @@
1
+ export const Scene = {
2
+ doesUpdate(a) {
3
+ return !!(a && (a.doUpdate ?? true) && a.onUpdate);
4
+ },
5
+ doesRender(a) {
6
+ return !!(a && (a.doRender ?? true) && a.onRender);
7
+ }
8
+ };
9
+ //# sourceMappingURL=scene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene.js","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,UAAU,CAAC,CAAe;QACxB,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;IAED,UAAU,CAAC,CAAe;QACxB,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;CACF,CAAA"}
@@ -0,0 +1,128 @@
1
+ import { Event } from "./event.js";
2
+ import { Scene } from "./scene.js";
3
+ import type { Maybe } from "./types.js";
4
+ export type Stage = {
5
+ readonly configureDebug: "print" | "paint" | boolean;
6
+ readonly configureW: number;
7
+ readonly configureH: number;
8
+ readonly configureUpdatesPerSecond: number;
9
+ readonly configureRendersPerSecond: number;
10
+ readonly configureLogicalBackground: string;
11
+ readonly configureVirtualBackground: string;
12
+ readonly configureScaleIncrement?: number | undefined;
13
+ readonly configureImageSmoothing?: ImageSmoothingQuality | undefined;
14
+ logicalCanvasElement: HTMLCanvasElement;
15
+ virtualCanvasElement: OffscreenCanvas;
16
+ logicalCanvasContext: CanvasRenderingContext2D;
17
+ virtualCanvasContext: OffscreenCanvasRenderingContext2D;
18
+ virtualScale: number;
19
+ events: Event.Tree;
20
+ debugs: Map<string, string | undefined>;
21
+ scene?: Scene | undefined;
22
+ lastUpdate: number;
23
+ lastRender: number;
24
+ millisPerUpdate: number;
25
+ millisPerRender: number;
26
+ framesPerSecond: number;
27
+ updatesPerSecond: number;
28
+ rendersPerSecond: number;
29
+ averageMillisPerUpdate: number;
30
+ minimumMillisPerUpdate: number;
31
+ maximumMillisPerUpdate: number;
32
+ averageMillisPerRender: number;
33
+ minimumMillisPerRender: number;
34
+ maximumMillisPerRender: number;
35
+ oneSecondAccumulator: number;
36
+ updateAccumulator: number;
37
+ renderAccumulator: number;
38
+ framesPerSecondAccumulator: number;
39
+ updatesPerSecondAccumulator: number;
40
+ rendersPerSecondAccumulator: number;
41
+ averageMillisPerUpdateAccumulator: number;
42
+ minimumMillisPerUpdateAccumulator: number;
43
+ maximumMillisPerUpdateAccumulator: number;
44
+ averageMillisPerRenderAccumulator: number;
45
+ minimumMillisPerRenderAccumulator: number;
46
+ maximumMillisPerRenderAccumulator: number;
47
+ };
48
+ export declare const Stage: {
49
+ "new"(c: HTMLCanvasElement, o?: {
50
+ debug?: "print" | "paint" | boolean;
51
+ w?: number;
52
+ h?: number;
53
+ ups?: number;
54
+ rps?: number;
55
+ lbg?: string;
56
+ vbg?: string;
57
+ si?: number;
58
+ is?: ImageSmoothingQuality;
59
+ }): {
60
+ configureDebug: boolean | "print" | "paint";
61
+ configureW: number;
62
+ configureH: number;
63
+ configureUpdatesPerSecond: number;
64
+ configureRendersPerSecond: number;
65
+ configureLogicalBackground: string;
66
+ configureVirtualBackground: string;
67
+ configureScaleIncrement: number | undefined;
68
+ configureImageSmoothing: ImageSmoothingQuality | undefined;
69
+ logicalCanvasElement: HTMLCanvasElement;
70
+ virtualCanvasElement: OffscreenCanvas;
71
+ logicalCanvasContext: CanvasRenderingContext2D;
72
+ virtualCanvasContext: OffscreenCanvasRenderingContext2D;
73
+ virtualScale: number;
74
+ events: {
75
+ root: {
76
+ children: Map<any, any>;
77
+ listeners: Map<any, any>;
78
+ };
79
+ pending: never[];
80
+ };
81
+ debugs: Map<any, any>;
82
+ lastUpdate: number;
83
+ lastRender: number;
84
+ millisPerUpdate: number;
85
+ millisPerRender: number;
86
+ framesPerSecond: number;
87
+ updatesPerSecond: number;
88
+ rendersPerSecond: number;
89
+ averageMillisPerUpdate: number;
90
+ minimumMillisPerUpdate: number;
91
+ maximumMillisPerUpdate: number;
92
+ averageMillisPerRender: number;
93
+ minimumMillisPerRender: number;
94
+ maximumMillisPerRender: number;
95
+ oneSecondAccumulator: number;
96
+ updateAccumulator: number;
97
+ renderAccumulator: number;
98
+ framesPerSecondAccumulator: number;
99
+ updatesPerSecondAccumulator: number;
100
+ rendersPerSecondAccumulator: number;
101
+ averageMillisPerUpdateAccumulator: number;
102
+ minimumMillisPerUpdateAccumulator: number;
103
+ maximumMillisPerUpdateAccumulator: number;
104
+ averageMillisPerRenderAccumulator: number;
105
+ minimumMillisPerRenderAccumulator: number;
106
+ maximumMillisPerRenderAccumulator: number;
107
+ };
108
+ getLogicalSize(stage: Stage): [number, number];
109
+ getVirtualSize(stage: Stage): [number, number];
110
+ getVirtualScale(stage: Stage): number;
111
+ change(stage: Stage, scene: Maybe<Scene>): void;
112
+ listen<T>(stage: Stage, type: string, listener: Event.Listener<T>, o?: {
113
+ path?: string;
114
+ defer?: boolean;
115
+ }): void;
116
+ deafen<T>(stage: Stage, type?: string, listener?: Event.Listener<T>, o?: {
117
+ path?: string;
118
+ defer?: boolean;
119
+ }): void;
120
+ dispatch<T>(stage: Stage, type: string, event: T, o?: {
121
+ path?: string;
122
+ defer?: boolean;
123
+ }): void;
124
+ poll(stage: Stage): void;
125
+ getDebugInfo(stage: Stage, id: string): string | undefined;
126
+ setDebugInfo(stage: Stage, id: string, info: string | undefined): void;
127
+ };
128
+ //# sourceMappingURL=stage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"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"}