@fi4f/hg 0.0.11 → 0.0.13

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 (124) hide show
  1. package/README.md +57 -0
  2. package/dist/asset.d.ts +46 -0
  3. package/dist/asset.d.ts.map +1 -0
  4. package/dist/{core/asset.js → asset.js} +5 -30
  5. package/dist/asset.js.map +1 -0
  6. package/dist/{core/cache.d.ts → cache.d.ts} +17 -7
  7. package/dist/cache.d.ts.map +1 -0
  8. package/dist/{core/cache.js → cache.js} +5 -6
  9. package/dist/cache.js.map +1 -0
  10. package/dist/canvas.d.ts +4 -0
  11. package/dist/canvas.d.ts.map +1 -0
  12. package/dist/canvas.js +12 -0
  13. package/dist/canvas.js.map +1 -0
  14. package/dist/el.d.ts.map +1 -0
  15. package/dist/el.js.map +1 -0
  16. package/dist/event.d.ts.map +1 -0
  17. package/dist/event.js.map +1 -0
  18. package/dist/hg.d.ts +13 -13
  19. package/dist/hg.d.ts.map +1 -1
  20. package/dist/hg.js +14 -14
  21. package/dist/hg.js.map +1 -1
  22. package/dist/index.d.ts +24 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/matrix2.d.ts +152 -0
  26. package/dist/matrix2.d.ts.map +1 -0
  27. package/dist/matrix2.js +262 -0
  28. package/dist/matrix2.js.map +1 -0
  29. package/dist/matrix3.d.ts +196 -0
  30. package/dist/matrix3.d.ts.map +1 -0
  31. package/dist/matrix3.js +352 -0
  32. package/dist/matrix3.js.map +1 -0
  33. package/dist/matrix4.d.ts +253 -0
  34. package/dist/matrix4.d.ts.map +1 -0
  35. package/dist/matrix4.js +465 -0
  36. package/dist/matrix4.js.map +1 -0
  37. package/dist/{core/scene.d.ts → scene.d.ts} +2 -3
  38. package/dist/scene.d.ts.map +1 -0
  39. package/dist/scene.js.map +1 -0
  40. package/dist/sprite.d.ts.map +1 -0
  41. package/dist/sprite.js.map +1 -0
  42. package/dist/stage.d.ts +100 -0
  43. package/dist/stage.d.ts.map +1 -0
  44. package/dist/stage.js +303 -0
  45. package/dist/stage.js.map +1 -0
  46. package/dist/vector2.d.ts +114 -0
  47. package/dist/vector2.d.ts.map +1 -0
  48. package/dist/vector2.js +168 -0
  49. package/dist/vector2.js.map +1 -0
  50. package/dist/vector3.d.ts +126 -0
  51. package/dist/vector3.d.ts.map +1 -0
  52. package/dist/vector3.js +190 -0
  53. package/dist/vector3.js.map +1 -0
  54. package/dist/vector4.d.ts +135 -0
  55. package/dist/vector4.d.ts.map +1 -0
  56. package/dist/vector4.js +209 -0
  57. package/dist/vector4.js.map +1 -0
  58. package/dist/version.d.ts.map +1 -0
  59. package/dist/version.js.map +1 -0
  60. package/package.json +1 -1
  61. package/dist/core/asset.d.ts +0 -71
  62. package/dist/core/asset.d.ts.map +0 -1
  63. package/dist/core/asset.js.map +0 -1
  64. package/dist/core/atlas.d.ts +0 -2
  65. package/dist/core/atlas.d.ts.map +0 -1
  66. package/dist/core/atlas.js +0 -2
  67. package/dist/core/atlas.js.map +0 -1
  68. package/dist/core/cache.d.ts.map +0 -1
  69. package/dist/core/cache.js.map +0 -1
  70. package/dist/core/event.d.ts.map +0 -1
  71. package/dist/core/event.js.map +0 -1
  72. package/dist/core/index.d.ts +0 -14
  73. package/dist/core/index.d.ts.map +0 -1
  74. package/dist/core/index.js.map +0 -1
  75. package/dist/core/scene.d.ts.map +0 -1
  76. package/dist/core/scene.js.map +0 -1
  77. package/dist/core/sprite.d.ts.map +0 -1
  78. package/dist/core/sprite.js.map +0 -1
  79. package/dist/core/stage.d.ts +0 -130
  80. package/dist/core/stage.d.ts.map +0 -1
  81. package/dist/core/stage.js +0 -308
  82. package/dist/core/stage.js.map +0 -1
  83. package/dist/math/el.d.ts.map +0 -1
  84. package/dist/math/el.js.map +0 -1
  85. package/dist/math/matrix2.d.ts +0 -70
  86. package/dist/math/matrix2.d.ts.map +0 -1
  87. package/dist/math/matrix2.js +0 -180
  88. package/dist/math/matrix2.js.map +0 -1
  89. package/dist/math/matrix3.d.ts +0 -108
  90. package/dist/math/matrix3.d.ts.map +0 -1
  91. package/dist/math/matrix3.js +0 -257
  92. package/dist/math/matrix3.js.map +0 -1
  93. package/dist/math/matrix4.d.ts +0 -158
  94. package/dist/math/matrix4.d.ts.map +0 -1
  95. package/dist/math/matrix4.js +0 -354
  96. package/dist/math/matrix4.js.map +0 -1
  97. package/dist/math/vector2.d.ts +0 -38
  98. package/dist/math/vector2.d.ts.map +0 -1
  99. package/dist/math/vector2.js +0 -67
  100. package/dist/math/vector2.js.map +0 -1
  101. package/dist/math/vector3.d.ts +0 -34
  102. package/dist/math/vector3.d.ts.map +0 -1
  103. package/dist/math/vector3.js +0 -74
  104. package/dist/math/vector3.js.map +0 -1
  105. package/dist/math/vector4.d.ts +0 -39
  106. package/dist/math/vector4.d.ts.map +0 -1
  107. package/dist/math/vector4.js +0 -81
  108. package/dist/math/vector4.js.map +0 -1
  109. package/dist/util/types.d.ts +0 -2
  110. package/dist/util/types.d.ts.map +0 -1
  111. package/dist/util/types.js +0 -2
  112. package/dist/util/types.js.map +0 -1
  113. package/dist/util/version.d.ts.map +0 -1
  114. package/dist/util/version.js.map +0 -1
  115. /package/dist/{math/el.d.ts → el.d.ts} +0 -0
  116. /package/dist/{math/el.js → el.js} +0 -0
  117. /package/dist/{core/event.d.ts → event.d.ts} +0 -0
  118. /package/dist/{core/event.js → event.js} +0 -0
  119. /package/dist/{core/index.js → index.js} +0 -0
  120. /package/dist/{core/scene.js → scene.js} +0 -0
  121. /package/dist/{core/sprite.d.ts → sprite.d.ts} +0 -0
  122. /package/dist/{core/sprite.js → sprite.js} +0 -0
  123. /package/dist/{util/version.d.ts → version.d.ts} +0 -0
  124. /package/dist/{util/version.js → version.js} +0 -0
@@ -0,0 +1,465 @@
1
+ import { Vector4 } from "./vector4.js";
2
+ import { add, sub, mul, div, mod } from "./el.js";
3
+ export const Matrix4 = {
4
+ /** Constant index for the xx-component of a Matrix4 */
5
+ XX: 0,
6
+ /** Constant index for the xy-component of a Matrix4 */
7
+ XY: 1,
8
+ /** Constant index for the xz-component of a Matrix4 */
9
+ XZ: 2,
10
+ /** Constant index for the xw-component of a Matrix4 */
11
+ XW: 3,
12
+ /** Constant index for the yx-component of a Matrix4 */
13
+ YX: 4,
14
+ /** Constant index for the yy-component of a Matrix4 */
15
+ YY: 5,
16
+ /** Constant index for the yz-component of a Matrix4 */
17
+ YZ: 6,
18
+ /** Constant index for the yw-component of a Matrix4 */
19
+ YW: 7,
20
+ /** Constant index for the zx-component of a Matrix4 */
21
+ ZX: 8,
22
+ /** Constant index for the zy-component of a Matrix4 */
23
+ ZY: 9,
24
+ /** Constant index for the zz-component of a Matrix4 */
25
+ ZZ: 10,
26
+ /** Constant index for the zw-component of a Matrix4 */
27
+ ZW: 11,
28
+ /** Constant index for the wx-component of a Matrix4 */
29
+ WX: 12,
30
+ /** Constant index for the wy-component of a Matrix4 */
31
+ WY: 13,
32
+ /** Constant index for the wz-component of a Matrix4 */
33
+ WZ: 14,
34
+ /** Constant index for the ww-component of a Matrix4 */
35
+ WW: 15,
36
+ /** A collection of getters for Matrix4 objects */
37
+ Get: {
38
+ /** Get the xx-component of a Matrix4 */
39
+ xx(a) { return a[Matrix4.XX]; },
40
+ /** Get the xy-component of a Matrix4 */
41
+ xy(a) { return a[Matrix4.XY]; },
42
+ /** Get the xz-component of a Matrix4 */
43
+ xz(a) { return a[Matrix4.XZ]; },
44
+ /** Get the xw-component of a Matrix4 */
45
+ xw(a) { return a[Matrix4.XW]; },
46
+ /** Get the yx-component of a Matrix4 */
47
+ yx(a) { return a[Matrix4.YX]; },
48
+ /** Get the yy-component of a Matrix4 */
49
+ yy(a) { return a[Matrix4.YY]; },
50
+ /** Get the yz-component of a Matrix4 */
51
+ yz(a) { return a[Matrix4.YZ]; },
52
+ /** Get the yw-component of a Matrix4 */
53
+ yw(a) { return a[Matrix4.YW]; },
54
+ /** Get the zx-component of a Matrix4 */
55
+ zx(a) { return a[Matrix4.ZX]; },
56
+ /** Get the zy-component of a Matrix4 */
57
+ zy(a) { return a[Matrix4.ZY]; },
58
+ /** Get the zz-component of a Matrix4 */
59
+ zz(a) { return a[Matrix4.ZZ]; },
60
+ /** Get the zw-component of a Matrix4 */
61
+ zw(a) { return a[Matrix4.ZW]; },
62
+ /** Get the wx-component of a Matrix4 */
63
+ wx(a) { return a[Matrix4.WX]; },
64
+ /** Get the wy-component of a Matrix4 */
65
+ wy(a) { return a[Matrix4.WY]; },
66
+ /** Get the wz-component of a Matrix4 */
67
+ wz(a) { return a[Matrix4.WZ]; },
68
+ /** Get the ww-component of a Matrix4 */
69
+ ww(a) { return a[Matrix4.WW]; },
70
+ /** Get the 0th row of a Matrix4 as a Vector4 */
71
+ r0(a) {
72
+ return [
73
+ a[Matrix4.XX],
74
+ a[Matrix4.XY],
75
+ a[Matrix4.XZ],
76
+ a[Matrix4.XW]
77
+ ];
78
+ },
79
+ /** Get the 1st row of a Matrix4 as a Vector4 */
80
+ r1(a) {
81
+ return [
82
+ a[Matrix4.YX],
83
+ a[Matrix4.YY],
84
+ a[Matrix4.YZ],
85
+ a[Matrix4.YW]
86
+ ];
87
+ },
88
+ /** Get the 2nd row of a Matrix4 as a Vector4 */
89
+ r2(a) {
90
+ return [
91
+ a[Matrix4.ZX],
92
+ a[Matrix4.ZY],
93
+ a[Matrix4.ZZ],
94
+ a[Matrix4.ZW]
95
+ ];
96
+ },
97
+ /** Get the 3rd row of a Matrix4 as a Vector4 */
98
+ r3(a) {
99
+ return [
100
+ a[Matrix4.WX],
101
+ a[Matrix4.WY],
102
+ a[Matrix4.WZ],
103
+ a[Matrix4.WW]
104
+ ];
105
+ },
106
+ /** Get the i-th row of a Matrix4 as a Vector4 */
107
+ row(a, i) {
108
+ switch (i) {
109
+ case 0: return Matrix4.Get.r0(a);
110
+ case 1: return Matrix4.Get.r1(a);
111
+ case 2: return Matrix4.Get.r2(a);
112
+ case 3: return Matrix4.Get.r3(a);
113
+ }
114
+ },
115
+ /** Get the 0th column of a Matrix4 as a Vector4 */
116
+ c0(a) {
117
+ return [
118
+ a[Matrix4.XX],
119
+ a[Matrix4.YX],
120
+ a[Matrix4.ZX],
121
+ a[Matrix4.WX]
122
+ ];
123
+ },
124
+ /** Get the 1st column of a Matrix4 as a Vector4 */
125
+ c1(a) {
126
+ return [
127
+ a[Matrix4.XY],
128
+ a[Matrix4.YY],
129
+ a[Matrix4.ZY],
130
+ a[Matrix4.WY]
131
+ ];
132
+ },
133
+ /** Get the 2nd column of a Matrix4 as a Vector4 */
134
+ c2(a) {
135
+ return [
136
+ a[Matrix4.XZ],
137
+ a[Matrix4.YZ],
138
+ a[Matrix4.ZZ],
139
+ a[Matrix4.WZ]
140
+ ];
141
+ },
142
+ /** Get the 3rd column of a Matrix4 as a Vector4 */
143
+ c3(a) {
144
+ return [
145
+ a[Matrix4.XW],
146
+ a[Matrix4.YW],
147
+ a[Matrix4.ZW],
148
+ a[Matrix4.WW]
149
+ ];
150
+ },
151
+ /** Get the j-th column of a Matrix4 as a Vector4 */
152
+ col(a, j) {
153
+ switch (j) {
154
+ case 0: return Matrix4.Get.c0(a);
155
+ case 1: return Matrix4.Get.c1(a);
156
+ case 2: return Matrix4.Get.c2(a);
157
+ case 3: return Matrix4.Get.c3(a);
158
+ }
159
+ },
160
+ },
161
+ /** A collection of setters for Matrix4 objects */
162
+ Set: {
163
+ /** Set the xx-component of a Matrix4 */
164
+ xx(a, xx) { return a[Matrix4.XX] = xx; },
165
+ /** Set the xy-component of a Matrix4 */
166
+ xy(a, xy) { return a[Matrix4.XY] = xy; },
167
+ /** Set the xz-component of a Matrix4 */
168
+ xz(a, xz) { return a[Matrix4.XZ] = xz; },
169
+ /** Set the xw-component of a Matrix4 */
170
+ xw(a, xw) { return a[Matrix4.XW] = xw; },
171
+ /** Set the yx-component of a Matrix4 */
172
+ yx(a, yx) { return a[Matrix4.YX] = yx; },
173
+ /** Set the yy-component of a Matrix4 */
174
+ yy(a, yy) { return a[Matrix4.YY] = yy; },
175
+ /** Set the yz-component of a Matrix4 */
176
+ yz(a, yz) { return a[Matrix4.YZ] = yz; },
177
+ /** Set the yw-component of a Matrix4 */
178
+ yw(a, yw) { return a[Matrix4.YW] = yw; },
179
+ /** Set the zx-component of a Matrix4 */
180
+ zx(a, zx) { return a[Matrix4.ZX] = zx; },
181
+ /** Set the zy-component of a Matrix4 */
182
+ zy(a, zy) { return a[Matrix4.ZY] = zy; },
183
+ /** Set the zz-component of a Matrix4 */
184
+ zz(a, zz) { return a[Matrix4.ZZ] = zz; },
185
+ /** Set the zw-component of a Matrix4 */
186
+ zw(a, zw) { return a[Matrix4.ZW] = zw; },
187
+ /** Set the wx-component of a Matrix4 */
188
+ wx(a, wx) { return a[Matrix4.WX] = wx; },
189
+ /** Set the wy-component of a Matrix4 */
190
+ wy(a, wy) { return a[Matrix4.WY] = wy; },
191
+ /** Set the wz-component of a Matrix4 */
192
+ wz(a, wz) { return a[Matrix4.WZ] = wz; },
193
+ /** Set the ww-component of a Matrix4 */
194
+ ww(a, ww) { return a[Matrix4.WW] = ww; },
195
+ /** Set the 0th row of a Matrix4 */
196
+ r0(a, [xx, xy, xz, xw]) {
197
+ a[Matrix4.XX] = xx;
198
+ a[Matrix4.XY] = xy;
199
+ a[Matrix4.XZ] = xz;
200
+ a[Matrix4.XW] = xw;
201
+ return [xx, xy, xz, xw];
202
+ },
203
+ /** Set the 1st row of a Matrix4 */
204
+ r1(a, [yx, yy, yz, yw]) {
205
+ a[Matrix4.YX] = yx;
206
+ a[Matrix4.YY] = yy;
207
+ a[Matrix4.YZ] = yz;
208
+ a[Matrix4.YW] = yw;
209
+ return [yx, yy, yz, yw];
210
+ },
211
+ /** Set the 2nd row of a Matrix4 */
212
+ r2(a, [zx, zy, zz, zw]) {
213
+ a[Matrix4.ZX] = zx;
214
+ a[Matrix4.ZY] = zy;
215
+ a[Matrix4.ZZ] = zz;
216
+ a[Matrix4.ZW] = zw;
217
+ return [zx, zy, zz, zw];
218
+ },
219
+ /** Set the 3rd row of a Matrix4 */
220
+ r3(a, [wx, wy, wz, ww]) {
221
+ a[Matrix4.WX] = wx;
222
+ a[Matrix4.WY] = wy;
223
+ a[Matrix4.WZ] = wz;
224
+ a[Matrix4.WW] = ww;
225
+ return [wx, wy, wz, ww];
226
+ },
227
+ /** Set the i-th row of a Matrix4 */
228
+ row(a, i, ri) {
229
+ switch (i) {
230
+ case 0: return Matrix4.Set.r0(a, ri);
231
+ case 1: return Matrix4.Set.r1(a, ri);
232
+ case 2: return Matrix4.Set.r2(a, ri);
233
+ case 3: return Matrix4.Set.r3(a, ri);
234
+ }
235
+ },
236
+ /** Set the 0th column of a Matrix4 */
237
+ c0(a, [xx, yx, zx, wx]) {
238
+ a[Matrix4.XX] = xx;
239
+ a[Matrix4.YX] = yx;
240
+ a[Matrix4.ZX] = zx;
241
+ a[Matrix4.WX] = wx;
242
+ return [xx, yx, zx, wx];
243
+ },
244
+ /** Set the 1st column of a Matrix4 */
245
+ c1(a, [xy, yy, zy, wy]) {
246
+ a[Matrix4.XY] = xy;
247
+ a[Matrix4.YY] = yy;
248
+ a[Matrix4.ZY] = zy;
249
+ a[Matrix4.WY] = wy;
250
+ return [xy, yy, zy, wy];
251
+ },
252
+ /** Set the 2nd column of a Matrix4 */
253
+ c2(a, [xz, yz, zz, wz]) {
254
+ a[Matrix4.XZ] = xz;
255
+ a[Matrix4.YZ] = yz;
256
+ a[Matrix4.ZZ] = zz;
257
+ a[Matrix4.WZ] = wz;
258
+ return [xz, yz, zz, wz];
259
+ },
260
+ /** Set the 3rd column of a Matrix4 */
261
+ c3(a, [xw, yw, zw, ww]) {
262
+ a[Matrix4.XW] = xw;
263
+ a[Matrix4.YW] = yw;
264
+ a[Matrix4.ZW] = zw;
265
+ a[Matrix4.WW] = ww;
266
+ return [xw, yw, zw, ww];
267
+ },
268
+ /** Set the j-th column of a Matrix4 */
269
+ col(a, j, cj) {
270
+ switch (j) {
271
+ case 0: return Matrix4.Set.c0(a, cj);
272
+ case 1: return Matrix4.Set.c1(a, cj);
273
+ case 2: return Matrix4.Set.c2(a, cj);
274
+ case 3: return Matrix4.Set.c3(a, cj);
275
+ }
276
+ },
277
+ },
278
+ /** Construct an identity Matrix4 with an optional scale factor */
279
+ id(a = 1) {
280
+ return [
281
+ a, 0, 0, 0,
282
+ 0, a, 0, 0,
283
+ 0, 0, a, 0,
284
+ 0, 0, 0, a
285
+ ];
286
+ },
287
+ /**
288
+ * Construct a Matrix4 from a variadic array of numbers.
289
+ *
290
+ * Constructs a uniform Matrix4 when `a.length === 1`
291
+ * ```js
292
+ * Matrix4.new(1) // [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
293
+ * ```
294
+ *
295
+ * Otherwise constructs a standard zero-padded row-major Matrix4
296
+ * ```js
297
+ * Matrix4.new( ) // [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
298
+ * Matrix4.new(1, 2 ) // [1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
299
+ * Matrix4.new(1, 2, 3, 4) // [1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
300
+ * ```
301
+ */
302
+ new(...a) {
303
+ if (a.length === 1)
304
+ return [
305
+ a[Matrix4.XX], a[Matrix4.XX], a[Matrix4.XX], a[Matrix4.XX],
306
+ a[Matrix4.XX], a[Matrix4.XX], a[Matrix4.XX], a[Matrix4.XX],
307
+ a[Matrix4.XX], a[Matrix4.XX], a[Matrix4.XX], a[Matrix4.XX],
308
+ a[Matrix4.XX], a[Matrix4.XX], a[Matrix4.XX], a[Matrix4.XX]
309
+ ];
310
+ else
311
+ return [
312
+ a[Matrix4.XX] ?? 0, a[Matrix4.XY] ?? 0, a[Matrix4.XZ] ?? 0, a[Matrix4.XW] ?? 0,
313
+ a[Matrix4.YX] ?? 0, a[Matrix4.YY] ?? 0, a[Matrix4.YZ] ?? 0, a[Matrix4.YW] ?? 0,
314
+ a[Matrix4.ZX] ?? 0, a[Matrix4.ZY] ?? 0, a[Matrix4.ZZ] ?? 0, a[Matrix4.ZW] ?? 0,
315
+ a[Matrix4.WX] ?? 0, a[Matrix4.WY] ?? 0, a[Matrix4.WZ] ?? 0, a[Matrix4.WW] ?? 0
316
+ ];
317
+ },
318
+ /**
319
+ * Constructs a Matrix4 from a number or an array of numbers.
320
+ *
321
+ * Constructs a uniform Matrix4 when `a` is a number
322
+ * ```js
323
+ * Matrix4.from(1) // [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
324
+ * ```
325
+ *
326
+ * Otherwise constructs a standard zero-padded Matrix4
327
+ * ```js
328
+ * Matrix4.from([ ]) // [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
329
+ * Matrix4.from([1 ]) // [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
330
+ * Matrix4.from([1, 2 ]) // [1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
331
+ * Matrix4.from([1, 2, 3, 4]) // [1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
332
+ * ```
333
+ */
334
+ from(a) {
335
+ if (typeof a === "number")
336
+ return [
337
+ a, a, a, a,
338
+ a, a, a, a,
339
+ a, a, a, a,
340
+ a, a, a, a
341
+ ];
342
+ else
343
+ return [
344
+ a[Matrix4.XX] ?? 0, a[Matrix4.XY] ?? 0, a[Matrix4.XZ] ?? 0, a[Matrix4.XW] ?? 0,
345
+ a[Matrix4.YX] ?? 0, a[Matrix4.YY] ?? 0, a[Matrix4.YZ] ?? 0, a[Matrix4.YW] ?? 0,
346
+ a[Matrix4.ZX] ?? 0, a[Matrix4.ZY] ?? 0, a[Matrix4.ZZ] ?? 0, a[Matrix4.ZW] ?? 0,
347
+ a[Matrix4.WX] ?? 0, a[Matrix4.WY] ?? 0, a[Matrix4.WZ] ?? 0, a[Matrix4.WW] ?? 0
348
+ ];
349
+ },
350
+ /**
351
+ * Perform an element-wise operation on two Matrix4 objects.
352
+ * Number-like arguments are promoted to uniform Matrix4 objects
353
+ * before performing the operation. Constructs a new Matrix4 when an
354
+ * output argument is not provided.
355
+ */
356
+ el(op, a, b, out = Matrix4.new()) {
357
+ const [xxa, xya, xza, xwa, yxa, yya, yza, ywa, zxa, zya, zza, zwa, wxa, wya, wza, wwa] = Matrix4.from(a);
358
+ const [xxb, xyb, xzb, xwb, yxb, yyb, yzb, ywb, zxb, zyb, zzb, zwb, wxb, wyb, wzb, wwb] = Matrix4.from(b);
359
+ Matrix4.Set.xx(out, op(xxa, xxb));
360
+ Matrix4.Set.xy(out, op(xya, xyb));
361
+ Matrix4.Set.xz(out, op(xza, xzb));
362
+ Matrix4.Set.xw(out, op(xwa, xwb));
363
+ Matrix4.Set.yx(out, op(yxa, yxb));
364
+ Matrix4.Set.yy(out, op(yya, yyb));
365
+ Matrix4.Set.yz(out, op(yza, yzb));
366
+ Matrix4.Set.yw(out, op(ywa, ywb));
367
+ Matrix4.Set.zx(out, op(zxa, zxb));
368
+ Matrix4.Set.zy(out, op(zya, zyb));
369
+ Matrix4.Set.zz(out, op(zza, zzb));
370
+ Matrix4.Set.zw(out, op(zwa, zwb));
371
+ Matrix4.Set.wx(out, op(wxa, wxb));
372
+ Matrix4.Set.wy(out, op(wya, wyb));
373
+ Matrix4.Set.wz(out, op(wza, wzb));
374
+ Matrix4.Set.ww(out, op(wwa, wwb));
375
+ return out;
376
+ },
377
+ /**
378
+ * Compute the sum of two Matrix4 objects. Number-like arguments are
379
+ * promoted to uniform Matrix4 objects before performing the operation.
380
+ * Constructs a new Matrix4 when an output argument is not provided.
381
+ */
382
+ add(a, b, out = Matrix4.new()) {
383
+ return Matrix4.el(add, a, b, out);
384
+ },
385
+ /**
386
+ * Compute the difference of two Matrix4 objects. Number-like arguments
387
+ * are promoted to uniform Matrix4 objects before performing the
388
+ * operation. Constructs a new Matrix4 when an output argument is not
389
+ * provided.
390
+ */
391
+ sub(a, b, out = Matrix4.new()) {
392
+ return Matrix4.el(sub, a, b, out);
393
+ },
394
+ /**
395
+ * Compute the hadamard (element-wise) product of two Matrix4 objects.
396
+ * Number-like arguments are promoted to uniform Matrix4 objects before
397
+ * performing the operation. Constructs a new Matrix4 when an output
398
+ * argument is not provided.
399
+ */
400
+ hmul(a, b, out = Matrix4.new()) {
401
+ return Matrix4.el(mul, a, b, out);
402
+ },
403
+ /**
404
+ * Compute the hadamard (element-wise) quotient of two Matrix4 objects.
405
+ * Number-like arguments are promoted to uniform Matrix4 objects before
406
+ * performing the operation. Constructs a new Matrix4 when an output
407
+ * argument is not provided.
408
+ */
409
+ hdiv(a, b, out = Matrix4.new()) {
410
+ return Matrix4.el(div, a, b, out);
411
+ },
412
+ /**
413
+ * Compute the hadamard (element-wise) remainder of two Matrix4 objects.
414
+ * Number-like arguments are promoted to uniform Matrix4 objects before
415
+ * performing the operation. Constructs a new Matrix4 when an output
416
+ * argument is not provided.
417
+ */
418
+ hmod(a, b, out = Matrix4.new()) {
419
+ return Matrix4.el(mod, a, b, out);
420
+ },
421
+ /**
422
+ * Compute the standard product of two Matrix4 objects. Number-like arguments are
423
+ * promoted to uniform Matrix4 objects before performing the operation.
424
+ * Constructs a new Matrix4 when an output argument is not provided.
425
+ */
426
+ mul(a, b, out = Matrix4.new()) {
427
+ const A = Matrix4.from(a);
428
+ const B = Matrix4.from(b);
429
+ const r0 = Matrix4.Get.r0(A);
430
+ const r1 = Matrix4.Get.r1(A);
431
+ const r2 = Matrix4.Get.r2(A);
432
+ const r3 = Matrix4.Get.r3(A);
433
+ const c0 = Matrix4.Get.c0(B);
434
+ const c1 = Matrix4.Get.c1(B);
435
+ const c2 = Matrix4.Get.c2(B);
436
+ const c3 = Matrix4.Get.c3(B);
437
+ Matrix4.Set.xx(out, Vector4.dot(r0, c0));
438
+ Matrix4.Set.xy(out, Vector4.dot(r0, c1));
439
+ Matrix4.Set.xz(out, Vector4.dot(r0, c2));
440
+ Matrix4.Set.xw(out, Vector4.dot(r0, c3));
441
+ Matrix4.Set.yx(out, Vector4.dot(r1, c0));
442
+ Matrix4.Set.yy(out, Vector4.dot(r1, c1));
443
+ Matrix4.Set.yz(out, Vector4.dot(r1, c2));
444
+ Matrix4.Set.yw(out, Vector4.dot(r1, c3));
445
+ Matrix4.Set.zx(out, Vector4.dot(r2, c0));
446
+ Matrix4.Set.zy(out, Vector4.dot(r2, c1));
447
+ Matrix4.Set.zz(out, Vector4.dot(r2, c2));
448
+ Matrix4.Set.zw(out, Vector4.dot(r2, c3));
449
+ Matrix4.Set.wx(out, Vector4.dot(r3, c0));
450
+ Matrix4.Set.wy(out, Vector4.dot(r3, c1));
451
+ Matrix4.Set.wz(out, Vector4.dot(r3, c2));
452
+ Matrix4.Set.ww(out, Vector4.dot(r3, c3));
453
+ return out;
454
+ },
455
+ /**
456
+ * Convert a Matrix4 into its string representation.
457
+ * ```js
458
+ * Matrix4.toString([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]) // "mat4<1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16>"
459
+ * ```
460
+ */
461
+ toString([xx, xy, xz, xw, yx, yy, yz, yw, zx, zy, zz, zw, wx, wy, wz, ww]) {
462
+ return `mat4<${xx}, ${xy}, ${xz}, ${xw}, ${yx}, ${yy}, ${yz}, ${yw}, ${zx}, ${zy}, ${zz}, ${zw}, ${wx}, ${wy}, ${wz}, ${ww}>`;
463
+ }
464
+ };
465
+ //# sourceMappingURL=matrix4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix4.js","sourceRoot":"","sources":["../src/matrix4.ts"],"names":[],"mappings":"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,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1G,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACjC,OAAO,C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"}
@@ -1,4 +1,3 @@
1
- import type { Maybe } from "../util/types.js";
2
1
  import type { Stage } from "./stage.js";
3
2
  export type Scene = {
4
3
  doUpdate?: boolean;
@@ -28,7 +27,7 @@ export declare namespace Scene {
28
27
  };
29
28
  }
30
29
  export declare const Scene: {
31
- doesUpdate(a: Maybe<Scene>): a is Scene.DoesUpdate;
32
- doesRender(a: Maybe<Scene>): a is Scene.Renderable;
30
+ doesUpdate(a: Scene | undefined): a is Scene.DoesUpdate;
31
+ doesRender(a: Scene | undefined): a is Scene.Renderable;
33
32
  };
34
33
  //# 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;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"}
@@ -0,0 +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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../src/sprite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAQvC,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,KAAK,EAAG,gBAAgB,CAAA;IACxB,KAAK,EAAG,MAAM,CAAC;IACf,KAAK,EAAG,MAAM,CAAC;IACf,KAAK,EAAG,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;IACpB,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAGD,yBAAiB,MAAM,CAAC;IACtB,KAAY,KAAK,GAAG;QAClB,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QACvB,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;KACxB,CAAA;CACF;AAMD,eAAO,MAAM,MAAM;kBACH,KAAK,CAAC,aAAa,UAAU,MAAM;CAkDlD,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprite.js","sourceRoot":"","sources":["../src/sprite.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAI,CAAC,CAAA,CAAC,YAAY;AAC/B,MAAM,OAAO,GAAI,CAAC,CAAA;AAClB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAA;AAqBlB,SAAS,IAAI,CAAC,CAAS,EAAE,CAAS;IAChC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,CAAC,OAA4B,EAAE,MAAc;QAC/C,2BAA2B;QAC3B,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACvB,uBAAuB;YACvB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAA;YAEzC,sBAAsB;YACtB,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;gBACtB,iFAAiF;gBACjF,MAAM,KAAK,GAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAE9D,gFAAgF;gBAChF,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC;oBAClB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;;oBAEhD,MAAM,CAAC,KAAK,GAAW,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAI,CAAA;gBAElD,8DAA8D;gBAC9D,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC;oBACpB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;;oBAEvC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAE3D,uBAAuB;YACvB,CAAC;iBAAsB,CAAC;gBACtB,iFAAiF;gBACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAEjE,gFAAgF;gBAChF,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC;oBAClB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;;oBAEhD,MAAM,CAAC,KAAK,GAAW,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAI,CAAA;gBAElD,gEAAgE;gBAChE,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC;oBACpB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;;oBAEhB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA;QACtD,OAAO,CAAC,CAAC,CAAC,SAAS,CACjB,MAAM,CAAC,KAAK,EACZ,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EACtC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CACvC,CAAA;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,100 @@
1
+ import { Event } from "./event.js";
2
+ import { Scene } from "./scene.js";
3
+ export type Stage = {
4
+ readonly configureDebug: "print" | "paint" | boolean;
5
+ readonly configureW: number;
6
+ readonly configureH: number;
7
+ readonly configureLogicalBackground: string;
8
+ readonly configureVirtualBackground: string;
9
+ readonly configureScaleIncrement: number | undefined;
10
+ readonly configureImageSmoothing: ImageSmoothingQuality | undefined;
11
+ logicalCanvasElement: HTMLCanvasElement;
12
+ virtualCanvasElement: OffscreenCanvas;
13
+ logicalCanvasContext: CanvasRenderingContext2D;
14
+ virtualCanvasContext: OffscreenCanvasRenderingContext2D;
15
+ virtualScale: number;
16
+ event: Event.Tree;
17
+ debug: Map<string, string | undefined>;
18
+ scene: Scene | undefined;
19
+ measuredFramesPerSecond: number;
20
+ measuredAverageFrame: number;
21
+ measuredMinimumFrame: number;
22
+ measuredMaximumFrame: number;
23
+ measuredAverageUpdate: number;
24
+ measuredMinimumUpdate: number;
25
+ measuredMaximumUpdate: number;
26
+ measuredAverageRender: number;
27
+ measuredMinimumRender: number;
28
+ measuredMaximumRender: number;
29
+ };
30
+ export declare namespace Stage {
31
+ type Options = {
32
+ canvas?: HTMLCanvasElement;
33
+ debug?: "print" | "paint" | boolean;
34
+ w?: number;
35
+ h?: number;
36
+ lbg?: string;
37
+ vbg?: string;
38
+ si?: number;
39
+ is?: ImageSmoothingQuality;
40
+ };
41
+ }
42
+ /**
43
+ * A collection of constants and functions for constructing and
44
+ * interacting with Stage objects.
45
+ */
46
+ export declare const Stage: {
47
+ "new"(o?: Stage.Options): {
48
+ configureDebug: boolean | "print" | "paint";
49
+ configureW: number;
50
+ configureH: number;
51
+ configureLogicalBackground: string;
52
+ configureVirtualBackground: string;
53
+ configureScaleIncrement: number | undefined;
54
+ configureImageSmoothing: ImageSmoothingQuality | undefined;
55
+ logicalCanvasElement: HTMLCanvasElement;
56
+ virtualCanvasElement: OffscreenCanvas;
57
+ logicalCanvasContext: CanvasRenderingContext2D;
58
+ virtualCanvasContext: OffscreenCanvasRenderingContext2D;
59
+ virtualScale: number;
60
+ event: {
61
+ root: {
62
+ children: Map<any, any>;
63
+ listeners: Map<any, any>;
64
+ };
65
+ pending: never[];
66
+ };
67
+ debug: Map<any, any>;
68
+ scene: undefined;
69
+ measuredFramesPerSecond: number;
70
+ measuredAverageFrame: number;
71
+ measuredMinimumFrame: number;
72
+ measuredMaximumFrame: number;
73
+ measuredAverageUpdate: number;
74
+ measuredMinimumUpdate: number;
75
+ measuredMaximumUpdate: number;
76
+ measuredAverageRender: number;
77
+ measuredMinimumRender: number;
78
+ measuredMaximumRender: number;
79
+ };
80
+ getLogicalSize(stage: Stage): [number, number];
81
+ getVirtualSize(stage: Stage): [number, number];
82
+ getVirtualScale(stage: Stage): number;
83
+ use(stage: Stage, scene: Scene | undefined): void;
84
+ listen<T>(stage: Stage, type: string, listener: Event.Listener<T>, o?: {
85
+ path?: string;
86
+ defer?: boolean;
87
+ }): void;
88
+ deafen<T>(stage: Stage, type?: string, listener?: Event.Listener<T>, o?: {
89
+ path?: string;
90
+ defer?: boolean;
91
+ }): void;
92
+ dispatch<T>(stage: Stage, type: string, event: T, o?: {
93
+ path?: string;
94
+ defer?: boolean;
95
+ }): void;
96
+ poll(stage: Stage): void;
97
+ getDebugInfo(stage: Stage, id: string): string | undefined;
98
+ setDebugInfo(stage: Stage, id: string, info: string | undefined): void;
99
+ };
100
+ //# sourceMappingURL=stage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAI,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,KAAK,EAAI,MAAM,YAAY,CAAA;AAGpC,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;IAGrC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2FA,KAAK;0BAOL,KAAK;2BAOJ,KAAK;eAIjB,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"}