@oidoid/void 0.1.9 → 0.1.10

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 (63) hide show
  1. package/dist/public/atlas.webp +0 -0
  2. package/dist/public/index.js +84 -21
  3. package/dist/public/index.js.map +4 -4
  4. package/dist/public/void-v0.1.10+20260107.d15e519.html +178 -0
  5. package/dist/schema/level-file.v0.json +74 -75
  6. package/dist/src/demo/assets/void.game.json +24 -21
  7. package/dist/src/demo/ents/cam.js +1 -1
  8. package/dist/src/demo/ents/cam.js.map +1 -1
  9. package/dist/src/demo/ents/ent.d.ts +3 -0
  10. package/dist/src/demo/ents/ent.d.ts.map +1 -1
  11. package/dist/src/demo/ents/render-toggle.d.ts.map +1 -1
  12. package/dist/src/demo/ents/render-toggle.js +19 -0
  13. package/dist/src/demo/ents/render-toggle.js.map +1 -1
  14. package/dist/src/demo/ents/rotate.d.ts +11 -0
  15. package/dist/src/demo/ents/rotate.d.ts.map +1 -0
  16. package/dist/src/demo/ents/rotate.js +9 -0
  17. package/dist/src/demo/ents/rotate.js.map +1 -0
  18. package/dist/src/demo/level/level-file.v0.json +74 -75
  19. package/dist/src/demo/level/level-parser.d.ts.map +1 -1
  20. package/dist/src/demo/level/level-parser.js +1 -0
  21. package/dist/src/demo/level/level-parser.js.map +1 -1
  22. package/dist/src/demo/level/level-schema.d.ts +3 -0
  23. package/dist/src/demo/level/level-schema.d.ts.map +1 -1
  24. package/dist/src/demo/level/loader.d.ts.map +1 -1
  25. package/dist/src/demo/level/loader.js +2 -0
  26. package/dist/src/demo/level/loader.js.map +1 -1
  27. package/dist/src/demo/level/schema.json +15 -0
  28. package/dist/src/demo/level/tags.json +3 -1
  29. package/dist/src/demo/types/decl.d.ts +4 -2
  30. package/dist/src/demo/types/decl.d.ts.map +1 -1
  31. package/dist/src/ents/button.d.ts.map +1 -1
  32. package/dist/src/ents/button.js +7 -6
  33. package/dist/src/ents/button.js.map +1 -1
  34. package/dist/src/ents/cursor.js +4 -4
  35. package/dist/src/ents/cursor.js.map +1 -1
  36. package/dist/src/ents/cursor.test.js +4 -4
  37. package/dist/src/ents/cursor.test.js.map +1 -1
  38. package/dist/src/graphics/sprite-frag.glsl.d.ts.map +1 -1
  39. package/dist/src/graphics/sprite-frag.glsl.js +34 -5
  40. package/dist/src/graphics/sprite-frag.glsl.js.map +1 -1
  41. package/dist/src/graphics/sprite-vert.glsl.d.ts.map +1 -1
  42. package/dist/src/graphics/sprite-vert.glsl.js +42 -8
  43. package/dist/src/graphics/sprite-vert.glsl.js.map +1 -1
  44. package/dist/src/graphics/sprite.d.ts +13 -7
  45. package/dist/src/graphics/sprite.d.ts.map +1 -1
  46. package/dist/src/graphics/sprite.js +29 -15
  47. package/dist/src/graphics/sprite.js.map +1 -1
  48. package/dist/src/graphics/sprite.test.js +34 -13
  49. package/dist/src/graphics/sprite.test.js.map +1 -1
  50. package/dist/src/level/level-parser.d.ts.map +1 -1
  51. package/dist/src/level/level-parser.js +8 -3
  52. package/dist/src/level/level-parser.js.map +1 -1
  53. package/dist/src/level/level-parser.test.js +4 -2
  54. package/dist/src/level/level-parser.test.js.map +1 -1
  55. package/dist/src/level/level-schema.d.ts +10 -8
  56. package/dist/src/level/level-schema.d.ts.map +1 -1
  57. package/dist/src/utils/debug.d.ts +1 -0
  58. package/dist/src/utils/debug.d.ts.map +1 -1
  59. package/dist/src/utils/debug.js +4 -1
  60. package/dist/src/utils/debug.js.map +1 -1
  61. package/package.json +1 -1
  62. package/schema/level-file.v0.json +74 -75
  63. package/dist/public/void-v0.1.9+20260107.c0d3006.html +0 -115
@@ -167,29 +167,32 @@
167
167
  "mem-prop-5x6--7d": { "cels": 1, "h": 6, "id": 138, "w": 5 },
168
168
  "mem-prop-5x6--7e": { "cels": 1, "h": 6, "id": 139, "w": 5 },
169
169
  "mem-prop-5x6--7f": { "cels": 1, "h": 6, "id": 140, "w": 5 },
170
- "oidoid--Default": { "cels": 1, "h": 16, "id": 141, "w": 16 }
170
+ "oidoid--Default": { "cels": 1, "h": 16, "id": 141, "w": 16 },
171
+ "poly--Triangle": { "cels": 1, "h": 32, "id": 142, "w": 32 },
172
+ "poly--Square": { "cels": 1, "h": 32, "id": 143, "w": 32 }
171
173
  },
172
174
  "celXY": [
173
- 22, 37, 21, 27, 21, 29, 21, 31, 20, 33, 22, 33, 20, 35, 22, 35, 20, 37,
174
- 24, 26, 24, 26, 8, 16, 8, 16, 0, 16, 0, 16, 16, 14, 16, 14, 72, 13, 72,
175
- 13, 32, 26, 32, 26, 0, 16, 0, 16, 64, 13, 64, 13, 56, 13, 56, 13, 48, 13,
176
- 48, 13, 40, 13, 40, 13, 32, 13, 32, 13, 56, 13, 56, 13, 24, 13, 24, 13,
177
- 72, 0, 72, 0, 64, 0, 64, 0, 24, 0, 24, 0, 56, 0, 56, 0, 48, 0, 48, 0, 48,
178
- 0, 48, 0, 24, 0, 24, 0, 40, 0, 40, 0, 32, 0, 32, 0, 32, 0, 32, 0, 16, 0,
179
- 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56,
180
- 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56,
181
- 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56,
182
- 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 45, 56, 40, 56, 10, 53, 5, 53, 0,
183
- 53, 35, 51, 30, 51, 25, 51, 20, 51, 15, 51, 35, 45, 70, 50, 65, 50, 60,
184
- 50, 55, 50, 50, 50, 45, 50, 40, 50, 10, 47, 5, 47, 0, 47, 70, 62, 50, 56,
185
- 65, 62, 60, 62, 55, 62, 50, 62, 45, 62, 40, 62, 10, 59, 5, 59, 0, 59, 35,
186
- 57, 70, 32, 30, 57, 25, 57, 20, 57, 15, 57, 75, 56, 70, 56, 65, 56, 60,
187
- 56, 75, 50, 55, 56, 10, 35, 75, 32, 15, 33, 0, 35, 5, 35, 40, 38, 45, 38,
188
- 65, 32, 60, 32, 55, 32, 50, 32, 45, 32, 40, 26, 50, 26, 55, 26, 60, 26,
189
- 65, 26, 70, 26, 75, 26, 16, 27, 0, 29, 5, 29, 10, 29, 40, 32, 45, 26, 10,
190
- 41, 30, 45, 25, 45, 20, 45, 15, 45, 75, 44, 70, 44, 65, 44, 60, 44, 55,
191
- 44, 50, 44, 45, 44, 40, 44, 50, 38, 5, 41, 0, 41, 35, 39, 30, 39, 25, 39,
192
- 20, 39, 15, 39, 75, 38, 70, 38, 65, 38, 60, 38, 55, 38, 45, 56, 0, 0
175
+ 7, 75, 60, 45, 62, 45, 93, 52, 85, 53, 93, 54, 85, 55, 93, 56, 5, 75, 88,
176
+ 39, 88, 39, 56, 32, 56, 32, 48, 32, 48, 32, 40, 32, 40, 32, 32, 32, 32,
177
+ 32, 24, 32, 24, 32, 48, 32, 48, 32, 80, 40, 80, 40, 16, 32, 16, 32, 8, 32,
178
+ 8, 32, 0, 32, 0, 32, 72, 29, 72, 29, 16, 32, 16, 32, 64, 29, 64, 29, 80,
179
+ 27, 80, 27, 88, 26, 88, 26, 72, 16, 72, 16, 88, 0, 88, 0, 64, 16, 64, 16,
180
+ 64, 16, 64, 16, 72, 16, 72, 16, 80, 14, 80, 14, 88, 13, 88, 13, 88, 13,
181
+ 88, 13, 80, 0, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70,
182
+ 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70,
183
+ 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70,
184
+ 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 70, 66, 65, 66, 60,
185
+ 66, 80, 65, 90, 64, 85, 64, 55, 63, 50, 63, 45, 63, 40, 63, 80, 59, 30,
186
+ 63, 25, 63, 20, 63, 15, 63, 10, 63, 5, 63, 0, 63, 75, 60, 70, 60, 65, 60,
187
+ 60, 60, 0, 75, 75, 66, 75, 72, 70, 72, 65, 72, 60, 72, 80, 71, 90, 70, 85,
188
+ 70, 55, 69, 50, 69, 45, 69, 5, 51, 40, 69, 35, 69, 30, 69, 25, 69, 20, 69,
189
+ 15, 69, 10, 69, 5, 69, 35, 63, 0, 69, 25, 51, 10, 51, 15, 51, 20, 51, 30,
190
+ 51, 0, 51, 75, 48, 70, 48, 65, 48, 60, 48, 55, 45, 50, 45, 64, 42, 74, 42,
191
+ 0, 45, 5, 45, 10, 45, 15, 45, 20, 45, 25, 45, 30, 45, 35, 45, 40, 45, 45,
192
+ 45, 69, 42, 10, 57, 90, 58, 85, 58, 55, 57, 50, 57, 45, 57, 40, 57, 35,
193
+ 57, 30, 57, 25, 57, 20, 57, 15, 57, 35, 51, 5, 57, 0, 57, 75, 54, 70, 54,
194
+ 65, 54, 60, 54, 80, 53, 88, 52, 55, 51, 50, 51, 45, 51, 40, 51, 70, 66,
195
+ 64, 0, 32, 0, 0, 0
193
196
  ]
194
197
  },
195
198
  "input": "Default",
@@ -4,7 +4,7 @@ export class CamSys {
4
4
  update(_ent, v) {
5
5
  if (v.input.isAnyOnStart('U', 'D', 'L', 'R'))
6
6
  v.cam.diagonalize(v.input.dir);
7
- const len = V.truncDrawableEpsilon(25 * v.tick.s);
7
+ const len = V.floorDrawEpsilon(25 * v.tick.s);
8
8
  v.cam.x += v.input.dir.x * len;
9
9
  v.cam.y += v.input.dir.y * len;
10
10
  if (v.input.wheel?.delta.xy.y)
@@ -1 +1 @@
1
- {"version":3,"file":"cam.js","sourceRoot":"","sources":["../../../../src/demo/ents/cam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAEnC,MAAM,OAAO,MAAM;IACR,KAAK,GAAG,KAAK,CAAA;IAEtB,MAAM,CAAC,IAAc,EAAE,CAAS;QAC9B,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;YAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE5E,MAAM,GAAG,GAAG,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;QAC9B,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;QAE9B,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAA;QAEtD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"cam.js","sourceRoot":"","sources":["../../../../src/demo/ents/cam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAEnC,MAAM,OAAO,MAAM;IACR,KAAK,GAAG,KAAK,CAAA;IAEtB,MAAM,CAAC,IAAc,EAAE,CAAS;QAC9B,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;YAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE5E,MAAM,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;QAC9B,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;QAE9B,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAA;QAEtD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;CACF"}
@@ -1,5 +1,8 @@
1
1
  export type Clock = object;
2
2
  export type RenderToggle = object;
3
+ export type Rotate = {
4
+ speed: number;
5
+ };
3
6
  export type Tally = {
4
7
  updates: number;
5
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ent.d.ts","sourceRoot":"","sources":["../../../../src/demo/ents/ent.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAC1B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AACjC,MAAM,MAAM,KAAK,GAAG;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAA"}
1
+ {"version":3,"file":"ent.d.ts","sourceRoot":"","sources":["../../../../src/demo/ents/ent.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAC1B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AACjC,MAAM,MAAM,MAAM,GAAG;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAA;AACpC,MAAM,MAAM,KAAK,GAAG;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-toggle.d.ts","sourceRoot":"","sources":["../../../../src/demo/ents/render-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAEnC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AAEvD,qBAAa,eAAgB,YAAW,CAAC,CAAC,GAAG;IAC3C,QAAQ,CAAC,KAAK,oCAAmC;IAEjD,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI;CAI9C"}
1
+ {"version":3,"file":"render-toggle.d.ts","sourceRoot":"","sources":["../../../../src/demo/ents/render-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAEnC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AAEvD,qBAAa,eAAgB,YAAW,CAAC,CAAC,GAAG;IAC3C,QAAQ,CAAC,KAAK,oCAAmC;IAEjD,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI;CA0B9C"}
@@ -2,8 +2,27 @@ import * as V from "../../index.js";
2
2
  export class RenderToggleSys {
3
3
  query = 'button & renderToggle & sprite';
4
4
  update(ent, v) {
5
+ if (!ent.button.started)
6
+ return;
5
7
  // to-do: move under Void helper methods and hide zoo? same for other APIs.
6
8
  v.renderer.always = V.buttonOn(ent);
9
+ const csv = V.findDebugParam(location.href)
10
+ ?.split(',')
11
+ .filter(str => str && str !== 'render=always') ?? [];
12
+ if (v.renderer.always)
13
+ csv.push('render=always');
14
+ const oldURL = new URL(location.href);
15
+ oldURL.searchParams.delete('debug');
16
+ const params = [];
17
+ if (oldURL.searchParams.size)
18
+ params.push(`${oldURL.searchParams}`);
19
+ if (csv.length)
20
+ params.push(`debug=${csv.join(',')}`);
21
+ const newURL = oldURL.origin +
22
+ oldURL.pathname +
23
+ (params.length ? `?${params.join('&')}` : '') +
24
+ oldURL.hash;
25
+ history.replaceState(history.state, '', newURL);
7
26
  }
8
27
  }
9
28
  //# sourceMappingURL=render-toggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-toggle.js","sourceRoot":"","sources":["../../../../src/demo/ents/render-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAInC,MAAM,OAAO,eAAe;IACjB,KAAK,GAAG,gCAAgC,CAAA;IAEjD,MAAM,CAAC,GAAoB,EAAE,CAAS;QACpC,2EAA2E;QAC3E,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"render-toggle.js","sourceRoot":"","sources":["../../../../src/demo/ents/render-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAInC,MAAM,OAAO,eAAe;IACjB,KAAK,GAAG,gCAAgC,CAAA;IAEjD,MAAM,CAAC,GAAoB,EAAE,CAAS;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO;YAAE,OAAM;QAE/B,2EAA2E;QAC3E,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAEnC,MAAM,GAAG,GACP,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC7B,EAAE,KAAK,CAAC,GAAG,CAAC;aACX,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,KAAK,eAAe,CAAC,IAAI,EAAE,CAAA;QACxD,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAEhD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACnC,MAAM,MAAM,GAAG,EAAE,CAAA;QACjB,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;QACnE,IAAI,GAAG,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAErD,MAAM,MAAM,GACV,MAAM,CAAC,MAAM;YACb,MAAM,CAAC,QAAQ;YACf,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAA;QAEb,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IACjD,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import type * as V from '../../index.ts';
2
+ export type Rotate = {
3
+ speed: number;
4
+ };
5
+ export type RotateEnt = V.SysEnt<RotateSys>;
6
+ /** writes to sprite.angle. */
7
+ export declare class RotateSys implements V.Sys {
8
+ readonly query = "rotate & sprite";
9
+ update(ent: RotateEnt, v: V.Void): void;
10
+ }
11
+ //# sourceMappingURL=rotate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotate.d.ts","sourceRoot":"","sources":["../../../../src/demo/ents/rotate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAExC,MAAM,MAAM,MAAM,GAAG;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAA;AAEpC,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AAE3C,8BAA8B;AAC9B,qBAAa,SAAU,YAAW,CAAC,CAAC,GAAG;IACrC,QAAQ,CAAC,KAAK,qBAAoB;IAElC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI;CAIxC"}
@@ -0,0 +1,9 @@
1
+ /** writes to sprite.angle. */
2
+ export class RotateSys {
3
+ query = 'rotate & sprite';
4
+ update(ent, v) {
5
+ ent.sprite.angle += ent.rotate.speed * v.tick.s;
6
+ ent.invalid = true;
7
+ }
8
+ }
9
+ //# sourceMappingURL=rotate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotate.js","sourceRoot":"","sources":["../../../../src/demo/ents/rotate.ts"],"names":[],"mappings":"AAMA,8BAA8B;AAC9B,MAAM,OAAO,SAAS;IACX,KAAK,GAAG,iBAAiB,CAAA;IAElC,MAAM,CAAC,GAAc,EAAE,CAAS;QAC9B,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAA;IACpB,CAAC;CACF"}
@@ -44,12 +44,12 @@
44
44
  "required": ["pressed", "selected"],
45
45
  "properties": {
46
46
  "pressed": {
47
- "$ref": "#/$defs/SpriteProps",
47
+ "$ref": "#/$defs/SpritePropsOrTag",
48
48
  "description": "pressed config.",
49
49
  "unevaluatedProperties": false
50
50
  },
51
51
  "selected": {
52
- "$ref": "#/$defs/SpriteProps",
52
+ "$ref": "#/$defs/SpritePropsOrTag",
53
53
  "description": "selected config.",
54
54
  "unevaluatedProperties": false
55
55
  },
@@ -57,7 +57,7 @@
57
57
  "description": "whether to operate as push to engage or push to toggle.",
58
58
  "enum": ["Button", "Toggle"]
59
59
  },
60
- "z": { "$ref": "#/$defs/Layer" }
60
+ "z": { "$ref": "#/$defs/Layer", "unevaluatedProperties": false }
61
61
  }
62
62
  },
63
63
  "Cam": {
@@ -74,7 +74,8 @@
74
74
  "properties": {
75
75
  "keyboard": {
76
76
  "$ref": "#/$defs/Speed",
77
- "description": "if greater than zero, follow keyboard movement in pixels per second."
77
+ "description": "if greater than zero, follow keyboard movement in pixels per second.",
78
+ "unevaluatedProperties": false
78
79
  },
79
80
  "pick": {
80
81
  "$ref": "tags.json",
@@ -82,6 +83,12 @@
82
83
  }
83
84
  }
84
85
  },
86
+ "SpritePropsOrTag": {
87
+ "oneOf": [
88
+ { "$ref": "tags.json" },
89
+ { "$ref": "#/$defs/SpriteProps", "unevaluatedProperties": false }
90
+ ]
91
+ },
85
92
  "DebugInput": { "type": "object", "description": "debug input config." },
86
93
  "Draw": { "type": "object", "description": "draw config." },
87
94
  "Ent": {
@@ -108,8 +115,13 @@
108
115
  "$ref": "#/$defs/Override",
109
116
  "unevaluatedProperties": false
110
117
  },
111
- "sprite": { "$ref": "#/$defs/Sprite", "unevaluatedProperties": false },
112
- "text": { "$ref": "#/$defs/Text" },
118
+ "sprite": {
119
+ "oneOf": [
120
+ { "$ref": "tags.json" },
121
+ { "$ref": "#/$defs/Sprite", "unevaluatedProperties": false }
122
+ ]
123
+ },
124
+ "text": { "$ref": "#/$defs/Text", "unevaluatedProperties": false },
113
125
  "textWH": { "$ref": "#/$defs/TextWH", "unevaluatedProperties": false },
114
126
  "textXY": { "$ref": "#/$defs/TextXY", "unevaluatedProperties": false }
115
127
  }
@@ -132,7 +144,8 @@
132
144
  "properties": {
133
145
  "fill": {
134
146
  "$ref": "#/$defs/XYFlag",
135
- "description": "whether to adjust the width or height to fill empty space."
147
+ "description": "whether to adjust the width or height to fill empty space.",
148
+ "unevaluatedProperties": false
136
149
  },
137
150
  "margin": {
138
151
  "$ref": "#/$defs/Border",
@@ -148,7 +161,8 @@
148
161
  },
149
162
  "origin": {
150
163
  "$ref": "#/$defs/CompassDir",
151
- "description": "position relative to."
164
+ "description": "position relative to.",
165
+ "unevaluatedProperties": false
152
166
  }
153
167
  }
154
168
  },
@@ -197,47 +211,47 @@
197
211
  "unevaluatedProperties": false,
198
212
  "properties": {
199
213
  "center": {
200
- "$ref": "#/$defs/SpriteProps",
214
+ "$ref": "#/$defs/SpritePropsOrTag",
201
215
  "description": "center patch config.",
202
216
  "unevaluatedProperties": false
203
217
  },
204
218
  "n": {
205
- "$ref": "#/$defs/SpriteProps",
219
+ "$ref": "#/$defs/SpritePropsOrTag",
206
220
  "description": "north patch config.",
207
221
  "unevaluatedProperties": false
208
222
  },
209
223
  "s": {
210
- "$ref": "#/$defs/SpriteProps",
224
+ "$ref": "#/$defs/SpritePropsOrTag",
211
225
  "description": "south patch config.",
212
226
  "unevaluatedProperties": false
213
227
  },
214
228
  "w": {
215
- "$ref": "#/$defs/SpriteProps",
229
+ "$ref": "#/$defs/SpritePropsOrTag",
216
230
  "description": "west patch config.",
217
231
  "unevaluatedProperties": false
218
232
  },
219
233
  "e": {
220
- "$ref": "#/$defs/SpriteProps",
234
+ "$ref": "#/$defs/SpritePropsOrTag",
221
235
  "description": "east patch config.",
222
236
  "unevaluatedProperties": false
223
237
  },
224
238
  "nw": {
225
- "$ref": "#/$defs/SpriteProps",
239
+ "$ref": "#/$defs/SpritePropsOrTag",
226
240
  "description": "northwest patch config.",
227
241
  "unevaluatedProperties": false
228
242
  },
229
243
  "ne": {
230
- "$ref": "#/$defs/SpriteProps",
244
+ "$ref": "#/$defs/SpritePropsOrTag",
231
245
  "description": "northeast patch config.",
232
246
  "unevaluatedProperties": false
233
247
  },
234
248
  "sw": {
235
- "$ref": "#/$defs/SpriteProps",
249
+ "$ref": "#/$defs/SpritePropsOrTag",
236
250
  "description": "southwest patch config.",
237
251
  "unevaluatedProperties": false
238
252
  },
239
253
  "se": {
240
- "$ref": "#/$defs/SpriteProps",
254
+ "$ref": "#/$defs/SpritePropsOrTag",
241
255
  "description": "southeast patch config.",
242
256
  "unevaluatedProperties": false
243
257
  }
@@ -274,6 +288,10 @@
274
288
  { "$ref": "#/$defs/XY" }
275
289
  ],
276
290
  "properties": {
291
+ "angle": {
292
+ "type": "number",
293
+ "description": "sprite rotation in degrees."
294
+ },
277
295
  "scale": {
278
296
  "oneOf": [
279
297
  { "type": "integer", "minimum": 1 },
@@ -289,30 +307,25 @@
289
307
  "SpritePool": { "type": "string", "description": "allocator pool." },
290
308
  "SpriteProps": {
291
309
  "description": "sprite config except box-related.",
292
- "oneOf": [
293
- { "$ref": "tags.json" },
294
- {
295
- "type": "object",
296
- "properties": {
297
- "flip": { "$ref": "#/$defs/XYFlag" },
298
- "pool": { "$ref": "#/$defs/SpritePool" },
299
- "stretch": {
300
- "type": "boolean",
301
- "description": "wrap texture (default) or stretch to width and height."
302
- },
303
- "tag": { "$ref": "tags.json" },
304
- "visible": {
305
- "type": "boolean",
306
- "description": "whether sprite is rendered. defaults to true when tag is specified."
307
- },
308
- "z": { "$ref": "#/$defs/Layer" },
309
- "zend": {
310
- "type": "boolean",
311
- "description": "z-order by top (default) or bottom of box."
312
- }
313
- }
310
+ "type": "object",
311
+ "properties": {
312
+ "flip": { "$ref": "#/$defs/XYFlag", "unevaluatedProperties": false },
313
+ "hidden": {
314
+ "type": "boolean",
315
+ "description": "whether sprite is not rendered. defaults to true when tag is unspecified."
316
+ },
317
+ "pool": { "$ref": "#/$defs/SpritePool", "unevaluatedProperties": false },
318
+ "stretch": {
319
+ "type": "boolean",
320
+ "description": "wrap texture (default) or stretch to width and height."
321
+ },
322
+ "tag": { "$ref": "tags.json" },
323
+ "z": { "$ref": "#/$defs/Layer", "unevaluatedProperties": false },
324
+ "zend": {
325
+ "type": "boolean",
326
+ "description": "z-order by top (default) or bottom of box."
314
327
  }
315
- ]
328
+ }
316
329
  },
317
330
  "Text": { "type": "string", "description": "string." },
318
331
  "TextWH": {
@@ -327,7 +340,8 @@
327
340
  },
328
341
  "origin": {
329
342
  "$ref": "#/$defs/CompassDir",
330
- "description": "position relative to."
343
+ "description": "position relative to.",
344
+ "unevaluatedProperties": false
331
345
  },
332
346
  "pad": {
333
347
  "$ref": "#/$defs/Border",
@@ -348,7 +362,9 @@
348
362
  "TextXY": {
349
363
  "type": "object",
350
364
  "description": "text XY config.",
351
- "properties": { "z": { "$ref": "#/$defs/Layer" } }
365
+ "properties": {
366
+ "z": { "$ref": "#/$defs/Layer", "unevaluatedProperties": false }
367
+ }
352
368
  },
353
369
  "UIntXY": {
354
370
  "$ref": "#/$defs/IntXY",
@@ -359,40 +375,18 @@
359
375
  },
360
376
  "WH": {
361
377
  "type": "object",
362
- "description": "area.",
378
+ "description": "area. sprite dimensions have an integral range of [0, 4095].",
363
379
  "properties": {
364
- "w": {
365
- "type": "integer",
366
- "description": "width.",
367
- "minimum": 0,
368
- "maximum": 4095
369
- },
370
- "h": {
371
- "type": "integer",
372
- "description": "height.",
373
- "minimum": 0,
374
- "maximum": 4095
375
- }
380
+ "w": { "type": "number", "description": "width." },
381
+ "h": { "type": "number", "description": "height." }
376
382
  }
377
383
  },
378
384
  "XY": {
379
385
  "type": "object",
380
- "description": "horizontal and vertical dimensions.",
386
+ "description": "horizontal and vertical dimensions. sprite coordinates have a range of [-131072, 131071.984375] with a granularity of .015625.",
381
387
  "properties": {
382
- "x": {
383
- "type": "number",
384
- "description": "horizontal dimension.",
385
- "minimum": -131072,
386
- "maximum": 131071.984375,
387
- "multipleOf": 0.015625
388
- },
389
- "y": {
390
- "type": "number",
391
- "description": "vertical dimension.",
392
- "minimum": -131072,
393
- "maximum": 131071.984375,
394
- "multipleOf": 0.015625
395
- }
388
+ "x": { "type": "number", "description": "horizontal dimension." },
389
+ "y": { "type": "number", "description": "vertical dimension." }
396
390
  }
397
391
  },
398
392
  "XYFlag": {
@@ -410,7 +404,8 @@
410
404
  },
411
405
  "background": {
412
406
  "$ref": "#/$defs/RGBA",
413
- "description": "render clear color."
407
+ "description": "render clear color.",
408
+ "unevaluatedProperties": false
414
409
  },
415
410
  "minScale": {
416
411
  "type": "number",
@@ -422,8 +417,8 @@
422
417
  "description": "min cam dimensions. infinity always uses min scale. defaults to infinity.",
423
418
  "unevaluatedProperties": false,
424
419
  "properties": {
425
- "w": { "$ref": "#/$defs/UnboundedUInt" },
426
- "h": { "$ref": "#/$defs/UnboundedUInt" }
420
+ "w": { "$ref": "#/$defs/UnboundedUInt", "unevaluatedProperties": false },
421
+ "h": { "$ref": "#/$defs/UnboundedUInt", "unevaluatedProperties": false }
427
422
  }
428
423
  },
429
424
  "zoo": {
@@ -431,8 +426,12 @@
431
426
  "description": "zoo config.",
432
427
  "required": ["default"],
433
428
  "unevaluatedProperties": false,
434
- "properties": { "default": { "$ref": "#/$defs/EntList" } },
435
- "patternProperties": { ".+": { "$ref": "#/$defs/EntList" } }
429
+ "properties": {
430
+ "default": { "$ref": "#/$defs/EntList", "unevaluatedProperties": false }
431
+ },
432
+ "patternProperties": {
433
+ ".+": { "$ref": "#/$defs/EntList", "unevaluatedProperties": false }
434
+ }
436
435
  },
437
436
  "zoomOut": {
438
437
  "type": "number",
@@ -1 +1 @@
1
- {"version":3,"file":"level-parser.d.ts","sourceRoot":"","sources":["../../../../src/demo/level/level-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAEnC,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAY9B,CAAA"}
1
+ {"version":3,"file":"level-parser.d.ts","sourceRoot":"","sources":["../../../../src/demo/level/level-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAEnC,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAa9B,CAAA"}
@@ -4,6 +4,7 @@ export const parseComponent = (ent, json, k) => {
4
4
  throw Error('no component val');
5
5
  switch (k) {
6
6
  case 'clock':
7
+ case 'rotate':
7
8
  return json[k];
8
9
  case 'renderToggle':
9
10
  if (!ent.button)
@@ -1 +1 @@
1
- {"version":3,"file":"level-parser.js","sourceRoot":"","sources":["../../../../src/demo/level/level-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;IAC9D,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI;QAAE,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACpD,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,CAAC,CAA2B,CAAA;QAC1C,KAAK,cAAc;YACjB,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAC1D,CAAC,CAAC,WAAW,CAAC,GAAkB,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAA;YAC/D,OAAO,IAAI,CAAC,CAAC,CAA2B,CAAA;QAC1C,KAAK,OAAO;YACV,OAAO,EAAC,OAAO,EAAE,CAAC,EAA2B,CAAA;IACjD,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"level-parser.js","sourceRoot":"","sources":["../../../../src/demo/level/level-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;IAC9D,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI;QAAE,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACpD,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,CAAC,CAA2B,CAAA;QAC1C,KAAK,cAAc;YACjB,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAC1D,CAAC,CAAC,WAAW,CAAC,GAAkB,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAA;YAC/D,OAAO,IAAI,CAAC,CAAC,CAA2B,CAAA;QAC1C,KAAK,OAAO;YACV,OAAO,EAAC,OAAO,EAAE,CAAC,EAA2B,CAAA;IACjD,CAAC;AACH,CAAC,CAAA"}
@@ -1,4 +1,7 @@
1
1
  export type ClockSchema = object;
2
2
  export type RenderToggleSchema = object;
3
+ export type RotateSchema = {
4
+ speed: number;
5
+ };
3
6
  export type TallySchema = object;
4
7
  //# sourceMappingURL=level-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"level-schema.d.ts","sourceRoot":"","sources":["../../../../src/demo/level/level-schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAChC,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAA;AACvC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"level-schema.d.ts","sourceRoot":"","sources":["../../../../src/demo/level/level-schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAChC,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAA;AACvC,MAAM,MAAM,YAAY,GAAG;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAA;AAC1C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/demo/level/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AASnC,qBAAa,MAAO,YAAW,CAAC,CAAC,MAAM;;IACrC,MAAM,EAAE,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA;IAqB/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI;CA6BxB"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/demo/level/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAUnC,qBAAa,MAAO,YAAW,CAAC,CAAC,MAAM;;IACrC,MAAM,EAAE,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA;IAsB/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI;CA6BxB"}
@@ -4,6 +4,7 @@ import { CamSys } from "../ents/cam.js";
4
4
  import { ClockSys } from "../ents/clock.js";
5
5
  import { DrawSys } from "../ents/draw.js";
6
6
  import { RenderToggleSys } from "../ents/render-toggle.js";
7
+ import { RotateSys } from "../ents/rotate.js";
7
8
  import { TallySys } from "../ents/tally.js";
8
9
  import { parseComponent } from "./level-parser.js";
9
10
  export class Loader {
@@ -17,6 +18,7 @@ export class Loader {
17
18
  hud: new V.HUDSys(),
18
19
  ninePatch: new V.NinePatchSys(),
19
20
  override: new V.OverrideSys(),
21
+ rotate: new RotateSys(),
20
22
  sprite: new V.SpriteSys(),
21
23
  textWH: new V.TextWHSys(),
22
24
  textXY: new V.TextXYSys(),
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../src/demo/level/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,SAAS,MAAM,4BAA4B,CAAC,OAAM,IAAI,EAAE,MAAM,EAAC,CAAA;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;AAEhD,MAAM,OAAO,MAAM;IACjB,MAAM,CAAyB;IAC/B,IAAI,CAAoB;IACf,QAAQ,GAAa;QAC5B,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE;QACzB,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE;QACzB,UAAU,EAAE,IAAI,CAAC,CAAC,aAAa,EAAE;QACjC,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE;QACnB,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,IAAI,CAAC,CAAC,YAAY,EAAE;QAC/B,QAAQ,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE;QAC7B,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE;QACzB,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE;QACzB,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE;QACzB,GAAG,EAAE,IAAI,MAAM,EAAE;QACjB,KAAK,EAAE,IAAI,QAAQ,EAAE;QACrB,IAAI,EAAE,IAAI,OAAO,EAAE;QACnB,YAAY,EAAE,IAAI,eAAe,EAAE;QACnC,KAAK,EAAE,IAAI,QAAQ,EAAE;KACtB,CAAA;IACD,IAAI,GAAU,EAAC,OAAO,EAAE,IAAI,GAAG,EAAE,EAAC,CAAA;IAElC,MAAM,CAAC,CAAS;QACd,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,SAAS;gBACZ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACb,MAAK;YACP,KAAK,MAAM;gBACT,MAAK;YACP;gBACE,IAAI,CAAC,IAAoB,CAAA;QAC7B,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,CAAS;QACb,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC;YAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,EAAE;SACf,CAAC,CAAA;QACF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAa,EAAE,GAAG,EAAE,CACjE,CAAC,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAChE,CAAA;QAED,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;QAC7D,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../src/demo/level/loader.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,27 @@
13
13
  "$ref": "#/$defs/RenderToggle",
14
14
  "unevaluatedProperties": false
15
15
  },
16
+ "rotate": {
17
+ "$ref": "#/$defs/Rotate",
18
+ "unevaluatedProperties": false
19
+ },
16
20
  "tally": { "$ref": "#/$defs/Tally", "unevaluatedProperties": false }
17
21
  }
18
22
  }
19
23
  ]
20
24
  },
21
25
  "RenderToggle": { "type": "object", "description": "render toggle config." },
26
+ "Rotate": {
27
+ "type": "object",
28
+ "description": "rotate config.",
29
+ "required": ["speed"],
30
+ "properties": {
31
+ "speed": {
32
+ "type": "number",
33
+ "description": "rotation speed in degrees per second."
34
+ }
35
+ }
36
+ },
22
37
  "Tally": { "type": "object", "description": "tally config." }
23
38
  }
24
39
  }
@@ -143,6 +143,8 @@
143
143
  "mem-prop-5x6--7d",
144
144
  "mem-prop-5x6--7e",
145
145
  "mem-prop-5x6--7f",
146
- "oidoid--Default"
146
+ "oidoid--Default",
147
+ "poly--Triangle",
148
+ "poly--Square"
147
149
  ]
148
150
  }
@@ -1,7 +1,7 @@
1
1
  import type * as V from '../../index.ts';
2
2
  import type gameJSON from '../assets/void.game.json';
3
- import type { Clock, RenderToggle, Tally } from '../ents/ent.ts';
4
- import type { ClockSchema, RenderToggleSchema, TallySchema } from '../level/level-schema.ts';
3
+ import type { Clock, RenderToggle, Rotate, Tally } from '../ents/ent.ts';
4
+ import type { ClockSchema, RenderToggleSchema, RotateSchema, TallySchema } from '../level/level-schema.ts';
5
5
  declare module '../../index.ts' {
6
6
  interface Debug {
7
7
  /** update the clock at least once a second instead of once a minute. */
@@ -10,11 +10,13 @@ declare module '../../index.ts' {
10
10
  interface Ent {
11
11
  clock?: Clock;
12
12
  renderToggle?: RenderToggle;
13
+ rotate?: Rotate;
13
14
  tally?: Tally;
14
15
  }
15
16
  interface EntSchema {
16
17
  clock?: ClockSchema;
17
18
  renderToggle?: RenderToggleSchema;
19
+ rotate?: RotateSchema;
18
20
  tally?: TallySchema;
19
21
  }
20
22
  interface PoolMap {
@@ -1 +1 @@
1
- {"version":3,"file":"decl.d.ts","sourceRoot":"","sources":["../../../../src/demo/types/decl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAExC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,gBAAgB,CAAA;AAC9D,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,WAAW,EACZ,MAAM,0BAA0B,CAAA;AAEjC,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,KAAK;QACb,wEAAwE;QACxE,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;IAED,UAAU,GAAG;QACX,KAAK,CAAC,EAAE,KAAK,CAAA;QACb,YAAY,CAAC,EAAE,YAAY,CAAA;QAC3B,KAAK,CAAC,EAAE,KAAK,CAAA;KACd;IAED,UAAU,SAAS;QACjB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,YAAY,CAAC,EAAE,kBAAkB,CAAA;QACjC,KAAK,CAAC,EAAE,WAAW,CAAA;KACpB;IAED,UAAU,OAAO;QACf,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;KAC1B;IAED,UAAU,SAAS;QAEjB,IAAI,MAAM,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAA;KACrC;CACF"}
1
+ {"version":3,"file":"decl.d.ts","sourceRoot":"","sources":["../../../../src/demo/types/decl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAExC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,gBAAgB,CAAA;AACtE,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACZ,MAAM,0BAA0B,CAAA;AAEjC,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,KAAK;QACb,wEAAwE;QACxE,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;IAED,UAAU,GAAG;QACX,KAAK,CAAC,EAAE,KAAK,CAAA;QACb,YAAY,CAAC,EAAE,YAAY,CAAA;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,KAAK,CAAA;KACd;IAED,UAAU,SAAS;QACjB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,YAAY,CAAC,EAAE,kBAAkB,CAAA;QACjC,MAAM,CAAC,EAAE,YAAY,CAAA;QACrB,KAAK,CAAC,EAAE,WAAW,CAAA;KACpB;IAED,UAAU,OAAO;QACf,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;KAC1B;IAED,UAAU,SAAS;QAEjB,IAAI,MAAM,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAA;KACrC;CACF"}