@oidoid/void 0.1.8 → 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 (78) 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 +16 -7
  45. package/dist/src/graphics/sprite.d.ts.map +1 -1
  46. package/dist/src/graphics/sprite.js +42 -17
  47. package/dist/src/graphics/sprite.js.map +1 -1
  48. package/dist/src/graphics/sprite.test.js +60 -13
  49. package/dist/src/graphics/sprite.test.js.map +1 -1
  50. package/dist/src/input/input.js +10 -10
  51. package/dist/src/input/input.js.map +1 -1
  52. package/dist/src/level/level-parser.d.ts.map +1 -1
  53. package/dist/src/level/level-parser.js +8 -3
  54. package/dist/src/level/level-parser.js.map +1 -1
  55. package/dist/src/level/level-parser.test.js +6 -4
  56. package/dist/src/level/level-parser.test.js.map +1 -1
  57. package/dist/src/level/level-schema.d.ts +10 -8
  58. package/dist/src/level/level-schema.d.ts.map +1 -1
  59. package/dist/src/looper.d.ts.map +1 -1
  60. package/dist/src/looper.js +9 -2
  61. package/dist/src/looper.js.map +1 -1
  62. package/dist/src/types/geo.d.ts +2 -0
  63. package/dist/src/types/geo.d.ts.map +1 -1
  64. package/dist/src/types/geo.js +11 -0
  65. package/dist/src/types/geo.js.map +1 -1
  66. package/dist/src/types/geo.test.js +28 -1
  67. package/dist/src/types/geo.test.js.map +1 -1
  68. package/dist/src/utils/debug.d.ts +2 -0
  69. package/dist/src/utils/debug.d.ts.map +1 -1
  70. package/dist/src/utils/debug.js +5 -1
  71. package/dist/src/utils/debug.js.map +1 -1
  72. package/dist/src/utils/math.d.ts +1 -0
  73. package/dist/src/utils/math.d.ts.map +1 -1
  74. package/dist/src/utils/math.js +3 -0
  75. package/dist/src/utils/math.js.map +1 -1
  76. package/package.json +3 -3
  77. package/schema/level-file.v0.json +74 -75
  78. package/dist/public/void-v0.1.8+20260106.f2ce523.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":"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"}
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,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAC3C,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,SAAS,EAAE;QACvB,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"}
@@ -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"}