@aura3d/engine 4.1.1 → 4.1.3

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 (161) hide show
  1. package/README.md +52 -730
  2. package/dist/audio/synth/SynthCueBank.d.ts.map +1 -1
  3. package/dist/audio/synth/SynthCueBank.js +11 -2
  4. package/dist/audio/synth/SynthCueBank.js.map +1 -1
  5. package/dist/audio/synth/types.d.ts +4 -0
  6. package/dist/audio/synth/types.d.ts.map +1 -1
  7. package/dist/aura3d-cli/commands/evidence/index.d.ts +3 -0
  8. package/dist/aura3d-cli/commands/evidence/index.d.ts.map +1 -0
  9. package/dist/aura3d-cli/commands/evidence/index.js +12 -0
  10. package/dist/aura3d-cli/commands/evidence/index.js.map +1 -0
  11. package/dist/aura3d-cli/commands/evidence/judge.d.ts +18 -0
  12. package/dist/aura3d-cli/commands/evidence/judge.d.ts.map +1 -0
  13. package/dist/aura3d-cli/commands/evidence/judge.js +194 -0
  14. package/dist/aura3d-cli/commands/evidence/judge.js.map +1 -0
  15. package/dist/aura3d-cli/commands/evidence/judgeLib.d.ts +84 -0
  16. package/dist/aura3d-cli/commands/evidence/judgeLib.d.ts.map +1 -0
  17. package/dist/aura3d-cli/commands/evidence/judgeLib.js +178 -0
  18. package/dist/aura3d-cli/commands/evidence/judgeLib.js.map +1 -0
  19. package/dist/aura3d-cli/commands/registry.d.ts +1 -0
  20. package/dist/aura3d-cli/commands/registry.d.ts.map +1 -1
  21. package/dist/aura3d-cli/commands/registry.js +1 -0
  22. package/dist/aura3d-cli/commands/registry.js.map +1 -1
  23. package/dist/aura3d-cli/look/capture.d.ts +15 -7
  24. package/dist/aura3d-cli/look/capture.d.ts.map +1 -1
  25. package/dist/aura3d-cli/look/capture.js +85 -13
  26. package/dist/aura3d-cli/look/capture.js.map +1 -1
  27. package/dist/create-aura3d/index.js +1 -1
  28. package/dist/debug/index.d.ts +2 -2
  29. package/dist/debug/index.d.ts.map +1 -1
  30. package/dist/debug/index.js +1 -1
  31. package/dist/debug/index.js.map +1 -1
  32. package/dist/debug/safety/blackFrame.d.ts +5 -2
  33. package/dist/debug/safety/blackFrame.d.ts.map +1 -1
  34. package/dist/debug/safety/blackFrame.js +2 -2
  35. package/dist/debug/safety/blackFrame.js.map +1 -1
  36. package/dist/debug/safety/frameTap.d.ts +23 -0
  37. package/dist/debug/safety/frameTap.d.ts.map +1 -0
  38. package/dist/debug/safety/frameTap.js +125 -0
  39. package/dist/debug/safety/frameTap.js.map +1 -0
  40. package/dist/debug/safety/guard.d.ts +17 -5
  41. package/dist/debug/safety/guard.d.ts.map +1 -1
  42. package/dist/debug/safety/guard.js +20 -5
  43. package/dist/debug/safety/guard.js.map +1 -1
  44. package/dist/debug/safety/index.d.ts +1 -0
  45. package/dist/debug/safety/index.d.ts.map +1 -1
  46. package/dist/debug/safety/index.js +1 -0
  47. package/dist/debug/safety/index.js.map +1 -1
  48. package/dist/engine/agent-api/compiler/geometry.d.ts +13 -0
  49. package/dist/engine/agent-api/compiler/geometry.d.ts.map +1 -1
  50. package/dist/engine/agent-api/compiler/geometry.js +30 -3
  51. package/dist/engine/agent-api/compiler/geometry.js.map +1 -1
  52. package/dist/engine/agent-api/compiler/primitives.d.ts +1 -2
  53. package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
  54. package/dist/engine/agent-api/compiler/primitives.js +21 -4
  55. package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
  56. package/dist/engine/agent-api/index.d.ts +4 -0
  57. package/dist/engine/agent-api/index.d.ts.map +1 -1
  58. package/dist/engine/agent-api/index.js +1 -0
  59. package/dist/engine/agent-api/index.js.map +1 -1
  60. package/dist/engine/agent-api/nodes/cameras.d.ts +7 -0
  61. package/dist/engine/agent-api/nodes/cameras.d.ts.map +1 -1
  62. package/dist/engine/agent-api/nodes/cameras.js +7 -0
  63. package/dist/engine/agent-api/nodes/cameras.js.map +1 -1
  64. package/dist/engine/agent-api/nodes/chaseCamera.d.ts +122 -0
  65. package/dist/engine/agent-api/nodes/chaseCamera.d.ts.map +1 -0
  66. package/dist/engine/agent-api/nodes/chaseCamera.js +130 -0
  67. package/dist/engine/agent-api/nodes/chaseCamera.js.map +1 -0
  68. package/dist/engine/agent-api/nodes/effects.composite.d.ts +1 -0
  69. package/dist/engine/agent-api/nodes/effects.composite.d.ts.map +1 -1
  70. package/dist/engine/agent-api/nodes/effects.composite.js +2 -0
  71. package/dist/engine/agent-api/nodes/effects.composite.js.map +1 -1
  72. package/dist/engine/agent-api/nodes/effects.toon.d.ts +26 -0
  73. package/dist/engine/agent-api/nodes/effects.toon.d.ts.map +1 -0
  74. package/dist/engine/agent-api/nodes/effects.toon.js +70 -0
  75. package/dist/engine/agent-api/nodes/effects.toon.js.map +1 -0
  76. package/dist/engine/agent-api/nodes/prefabs/index.d.ts +3 -0
  77. package/dist/engine/agent-api/nodes/prefabs/index.d.ts.map +1 -1
  78. package/dist/engine/agent-api/nodes/prefabs/index.js +3 -0
  79. package/dist/engine/agent-api/nodes/prefabs/index.js.map +1 -1
  80. package/dist/engine/agent-api/nodes/prefabs/objectiveMarker.d.ts +32 -0
  81. package/dist/engine/agent-api/nodes/prefabs/objectiveMarker.d.ts.map +1 -0
  82. package/dist/engine/agent-api/nodes/prefabs/objectiveMarker.js +77 -0
  83. package/dist/engine/agent-api/nodes/prefabs/objectiveMarker.js.map +1 -0
  84. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts +1 -1
  85. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts.map +1 -1
  86. package/dist/engine/production-runtime/actor/ModelTextureShare.js +1 -1
  87. package/dist/engine/production-runtime/actor/ModelTextureShare.js.map +1 -1
  88. package/dist/engine/public/index.d.ts +52 -67
  89. package/dist/engine/public/index.d.ts.map +1 -1
  90. package/dist/engine/public/index.js +59 -56
  91. package/dist/engine/public/index.js.map +1 -1
  92. package/dist/engine/qa/countedRng.d.ts +2 -0
  93. package/dist/engine/qa/countedRng.d.ts.map +1 -1
  94. package/dist/engine/qa/countedRng.js +3 -0
  95. package/dist/engine/qa/countedRng.js.map +1 -1
  96. package/dist/engine/qa/fixedStepLoop.d.ts +2 -0
  97. package/dist/engine/qa/fixedStepLoop.d.ts.map +1 -1
  98. package/dist/engine/qa/fixedStepLoop.js +3 -0
  99. package/dist/engine/qa/fixedStepLoop.js.map +1 -1
  100. package/dist/engine/qa/hooks.js +1 -1
  101. package/dist/engine/qa/hooks.js.map +1 -1
  102. package/dist/game/evidence/beacon.d.ts +16 -6
  103. package/dist/game/evidence/beacon.d.ts.map +1 -1
  104. package/dist/game/evidence/beacon.js +32 -14
  105. package/dist/game/evidence/beacon.js.map +1 -1
  106. package/dist/game/hud/canvasMinimap.d.ts +60 -0
  107. package/dist/game/hud/canvasMinimap.d.ts.map +1 -0
  108. package/dist/game/hud/canvasMinimap.js +62 -0
  109. package/dist/game/hud/canvasMinimap.js.map +1 -0
  110. package/dist/game/hud/compass.d.ts +16 -0
  111. package/dist/game/hud/compass.d.ts.map +1 -0
  112. package/dist/game/hud/compass.js +15 -0
  113. package/dist/game/hud/compass.js.map +1 -0
  114. package/dist/game/index.d.ts +4 -0
  115. package/dist/game/index.d.ts.map +1 -1
  116. package/dist/game/index.js +2 -0
  117. package/dist/game/index.js.map +1 -1
  118. package/dist/math/Random.d.ts +3 -0
  119. package/dist/math/Random.d.ts.map +1 -1
  120. package/dist/math/Random.js +7 -0
  121. package/dist/math/Random.js.map +1 -1
  122. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  123. package/dist/rendering/WebGL2Device.js +3 -4
  124. package/dist/rendering/WebGL2Device.js.map +1 -1
  125. package/dist/rendering/geometry/Primitives.d.ts +4 -1
  126. package/dist/rendering/geometry/Primitives.d.ts.map +1 -1
  127. package/dist/rendering/geometry/Primitives.js +5 -1
  128. package/dist/rendering/geometry/Primitives.js.map +1 -1
  129. package/dist/rendering/renderer/CullingBatching.d.ts.map +1 -1
  130. package/dist/rendering/renderer/CullingBatching.js +3 -7
  131. package/dist/rendering/renderer/CullingBatching.js.map +1 -1
  132. package/dist/rendering/renderer/InstanceBounds.d.ts +18 -0
  133. package/dist/rendering/renderer/InstanceBounds.d.ts.map +1 -0
  134. package/dist/rendering/renderer/InstanceBounds.js +68 -0
  135. package/dist/rendering/renderer/InstanceBounds.js.map +1 -0
  136. package/dist/rendering/renderer/RenderShared.d.ts.map +1 -1
  137. package/dist/rendering/renderer/RenderShared.js +3 -7
  138. package/dist/rendering/renderer/RenderShared.js.map +1 -1
  139. package/dist/rendering/shadows/DirectionalCascadeFitter.d.ts.map +1 -1
  140. package/dist/rendering/shadows/DirectionalCascadeFitter.js +19 -10
  141. package/dist/rendering/shadows/DirectionalCascadeFitter.js.map +1 -1
  142. package/dist/rendering/webgl2/LdrPostprocessShader.d.ts +24 -0
  143. package/dist/rendering/webgl2/LdrPostprocessShader.d.ts.map +1 -0
  144. package/dist/rendering/webgl2/LdrPostprocessShader.js +233 -0
  145. package/dist/rendering/webgl2/LdrPostprocessShader.js.map +1 -0
  146. package/dist/rendering/webgl2/LegacyPost.d.ts +5 -3
  147. package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
  148. package/dist/rendering/webgl2/LegacyPost.js +23 -191
  149. package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
  150. package/package.json +25 -25
  151. package/templates/cinematic-scene/package.json +4 -3
  152. package/templates/mini-game/index.html +3 -1
  153. package/templates/mini-game/package.json +4 -3
  154. package/templates/mini-game/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
  155. package/templates/mini-game/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
  156. package/templates/mini-game/src/main.ts +1 -1
  157. package/templates/product-viewer/package.json +4 -3
  158. package/templates/production-asset-inspector/package.json +1 -1
  159. package/templates/production-material-studio/package.json +1 -1
  160. package/templates/production-product-configurator/package.json +1 -1
  161. package/templates/production-product-viewer/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"countedRng.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/countedRng.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,IAAI,IAAI,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,sCAAsC;IACtC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/C,iFAAiF;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,SAAI,GAAG,YAAY,CAoCvD"}
1
+ {"version":3,"file":"countedRng.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/countedRng.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,IAAI,IAAI,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,sCAAsC;IACtC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/C,iFAAiF;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,SAAI,GAAG,YAAY,CAuCvD"}
@@ -17,6 +17,9 @@ export function createCountedRng(seed = 1) {
17
17
  get count() {
18
18
  return count;
19
19
  },
20
+ get draws() {
21
+ return count;
22
+ },
20
23
  next,
21
24
  range(min, max) {
22
25
  if (min > max)
@@ -1 +1 @@
1
- {"version":3,"file":"countedRng.js","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/countedRng.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,gBAAgB,CAAC,IAAI,GAAG,CAAC;IACvC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC;IACvB,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,GAAW,EAAE;QACxB,KAAK,EAAE,CAAC;QACR,KAAK,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC;IAC/C,CAAC,CAAC;IACF,OAAO;QACL,IAAI,IAAI;YACN,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,KAAK;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI;QACJ,KAAK,CAAC,GAAG,EAAE,GAAG;YACZ,IAAI,GAAG,GAAG,GAAG;gBAAE,MAAM,IAAI,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAC1D,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;QACpC,CAAC;QACD,GAAG,CAAC,GAAG,EAAE,YAAY;YACnB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;gBACrF,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,IAAI,QAAQ,KAAK,SAAS;gBAAE,WAAW,GAAG,QAAQ,CAAC;YACnD,KAAK,GAAG,WAAW,KAAK,CAAC,CAAC;YAC1B,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"countedRng.js","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/countedRng.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,gBAAgB,CAAC,IAAI,GAAG,CAAC;IACvC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC;IACvB,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,GAAW,EAAE;QACxB,KAAK,EAAE,CAAC;QACR,KAAK,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC;IAC/C,CAAC,CAAC;IACF,OAAO;QACL,IAAI,IAAI;YACN,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,KAAK;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI;QACJ,KAAK,CAAC,GAAG,EAAE,GAAG;YACZ,IAAI,GAAG,GAAG,GAAG;gBAAE,MAAM,IAAI,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAC1D,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;QACpC,CAAC;QACD,GAAG,CAAC,GAAG,EAAE,YAAY;YACnB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;gBACrF,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,IAAI,QAAQ,KAAK,SAAS;gBAAE,WAAW,GAAG,QAAQ,CAAC;YACnD,KAAK,GAAG,WAAW,KAAK,CAAC,CAAC;YAC1B,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -30,6 +30,8 @@ export interface FixedStepLoop {
30
30
  readonly steps: number;
31
31
  /** Seconds of unsimulated time carried to the next frame. */
32
32
  readonly accumulator: number;
33
+ /** Drop the carried time so a restart does not inherit a partial step from before it. */
34
+ resetAccumulator(): void;
33
35
  /** Run one animation frame at `nowMs` (what the scheduler calls); returns the steps it executed. */
34
36
  tick(nowMs: number): number;
35
37
  /** Run exactly `count` steps now, ignoring the clock, then render once. Returns the step count. */
@@ -1 +1 @@
1
- {"version":3,"file":"fixedStepLoop.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/fixedStepLoop.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,qHAAqH;IACrH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,wFAAwF;IACxF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,mEAAmE;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IAClC,uGAAuG;IACvG,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oGAAoG;IACpG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,mGAAmG;IACnG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC;CAC7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA0EhF"}
1
+ {"version":3,"file":"fixedStepLoop.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/fixedStepLoop.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,qHAAqH;IACrH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,wFAAwF;IACxF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,mEAAmE;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IAClC,uGAAuG;IACvG,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yFAAyF;IACzF,gBAAgB,IAAI,IAAI,CAAC;IACzB,oGAAoG;IACpG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,mGAAmG;IACnG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC;CAC7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA6EhF"}
@@ -49,6 +49,9 @@ export function createFixedStepLoop(options) {
49
49
  options.render?.(frameSeconds);
50
50
  return executed;
51
51
  },
52
+ resetAccumulator() {
53
+ accumulator = 0;
54
+ },
52
55
  advance(count, beforeStep) {
53
56
  const n = Math.max(0, Math.trunc(count));
54
57
  for (let i = 0; i < n; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"fixedStepLoop.js","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/fixedStepLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixedStepLoop.js","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/fixedStepLoop.ts"],"names":[],"mappings":"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"}
@@ -74,7 +74,7 @@ export function installQaHooks(name, options) {
74
74
  routeHealth: () => options.routeHealth?.() ?? null,
75
75
  nodeCount: () => options.nodeCount?.() ?? 0
76
76
  };
77
- const hooks = { ...standard, ...(options.extras ?? {}) };
77
+ const hooks = Object.defineProperties({ ...standard }, Object.getOwnPropertyDescriptors(options.extras ?? {}));
78
78
  target[globalName] = hooks;
79
79
  return {
80
80
  hooks,
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../packages/engine/src/qa/hooks.ts"],"names":[],"mappings":"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"}
@@ -8,18 +8,28 @@
8
8
  import type { GameBeacon, GameSessionState } from "../../engine/index.js";
9
9
  export interface BeaconOptions {
10
10
  readonly route: string;
11
- readonly getState: () => GameSessionState;
12
- readonly getFrame: () => number;
13
- readonly getFirstFrameAt: () => number | null;
11
+ /** Defaults to "playing" for routes that do not use a game session. */
12
+ readonly getState?: () => GameSessionState;
13
+ readonly getFrame?: () => number;
14
+ readonly getFirstFrameAt?: () => number | null;
14
15
  /** Live mounted app for audit lanes (beacon.app.scene / app.diagnostics()). */
15
16
  readonly getApp?: () => GameBeacon["app"] | undefined;
16
17
  readonly getSession?: () => unknown;
18
+ /** Window globals that receive the raw evidence object on every `publishEvidence` (legacy readers such as `__AURA3D_GAME_EVIDENCE__`). */
19
+ readonly evidenceGlobals?: readonly string[];
17
20
  readonly win?: {
18
21
  __AURA3D_GAME__?: GameBeacon;
19
- };
22
+ } & Record<string, unknown>;
20
23
  }
21
- export declare function installGameBeacon(options: BeaconOptions): {
24
+ export interface BeaconHandle {
22
25
  refresh(): void;
26
+ /**
27
+ * Publish a route evidence snapshot on the beacon: the beacon fields (route, state, frame, ...) plus the
28
+ * evidence fields, evidence winning on a shared key. Getters on the evidence object stay lazy. The snapshot
29
+ * is also assigned to `evidenceGlobals`. Call once per frame (or per change); each call replaces the beacon.
30
+ */
31
+ publishEvidence(evidence: object): void;
23
32
  dispose(): void;
24
- };
33
+ }
34
+ export declare function installGameBeacon(options: BeaconOptions): BeaconHandle;
25
35
  //# sourceMappingURL=beacon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../../../../packages/game/src/evidence/beacon.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,gBAAgB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC9C,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;CACjD;AAQD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG;IAAE,OAAO,IAAI,IAAI,CAAC;IAAC,OAAO,IAAI,IAAI,CAAA;CAAE,CAqD9F"}
1
+ {"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../../../../packages/game/src/evidence/beacon.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC/C,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IACpC,0IAA0I;IAC1I,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,IAAI,CAAC;IAChB;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,OAAO,IAAI,IAAI,CAAC;CACjB;AAQD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAmEtE"}
@@ -9,34 +9,51 @@ const FRAME_REFRESH_MS = 250; // <= 4 Hz
9
9
  export function installGameBeacon(options) {
10
10
  const win = options.win ?? (typeof window !== "undefined" ? window : undefined);
11
11
  if (win === undefined) {
12
- return { refresh() { }, dispose() { } };
12
+ return { refresh() { }, publishEvidence() { }, dispose() { } };
13
13
  }
14
14
  const sessionStartedAt = Date.now();
15
15
  let firstFrameAt = null;
16
16
  let frame = 0;
17
- let state = options.getState();
17
+ const readState = options.getState ?? (() => "playing");
18
+ const readFrame = options.getFrame ?? (() => 0);
19
+ const readFirstFrameAt = options.getFirstFrameAt ?? (() => null);
20
+ let evidence = null;
21
+ let state = readState();
18
22
  let timer = null;
19
23
  const publish = () => {
20
24
  const app = options.getApp?.();
21
- win.__AURA3D_GAME__ = Object.freeze({
22
- route: options.route,
23
- state,
24
- frame,
25
- firstFrameAt,
26
- sessionStartedAt,
27
- ...(app !== undefined ? { app, scene: app.scene } : {}),
28
- ...(options.getSession !== undefined ? { session: options.getSession() } : {})
29
- });
25
+ const beacon = { route: options.route, state, frame, firstFrameAt, sessionStartedAt };
26
+ if (evidence !== null)
27
+ Object.defineProperties(beacon, Object.getOwnPropertyDescriptors(evidence));
28
+ // Live handles stay reachable for audit lanes but are not enumerable, so JSON.stringify and remote capture serialize the beacon (app.post is circular).
29
+ const hidden = (value) => ({ value, enumerable: false, writable: false, configurable: false });
30
+ const free = (key) => !Object.prototype.hasOwnProperty.call(beacon, key);
31
+ if (app !== undefined && free("app"))
32
+ Object.defineProperty(beacon, "app", hidden(app));
33
+ if (app !== undefined && free("scene"))
34
+ Object.defineProperty(beacon, "scene", hidden(app.scene));
35
+ if (options.getSession !== undefined && free("session"))
36
+ Object.defineProperty(beacon, "session", hidden(options.getSession()));
37
+ win.__AURA3D_GAME__ = Object.freeze(beacon);
30
38
  };
31
39
  /** Re-publish now — call from session "state" events and first-frame. */
32
40
  const refresh = () => {
33
- state = options.getState();
34
- firstFrameAt = options.getFirstFrameAt();
41
+ state = readState();
42
+ firstFrameAt = readFirstFrameAt();
43
+ publish();
44
+ };
45
+ const publishEvidence = (next) => {
46
+ evidence = next;
47
+ for (const name of options.evidenceGlobals ?? [])
48
+ win[name] = next;
49
+ state = readState();
50
+ frame = readFrame();
51
+ firstFrameAt = readFirstFrameAt();
35
52
  publish();
36
53
  };
37
54
  if (typeof setInterval === "function") {
38
55
  timer = setInterval(() => {
39
- const next = options.getFrame();
56
+ const next = readFrame();
40
57
  if (next !== frame) {
41
58
  frame = next;
42
59
  publish();
@@ -49,6 +66,7 @@ export function installGameBeacon(options) {
49
66
  publish();
50
67
  return {
51
68
  refresh,
69
+ publishEvidence,
52
70
  dispose() {
53
71
  if (timer !== null)
54
72
  clearInterval(timer);
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../../../packages/game/src/evidence/beacon.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmBH,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,UAAU;AAExC,MAAM,UAAU,iBAAiB,CAAC,OAAsB;IACtD,MAAM,GAAG,GACP,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAE,MAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACxF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,KAAI,CAAC,EAAE,OAAO,KAAI,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAqB,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjD,IAAI,KAAK,GAA0C,IAAI,CAAC;IAExD,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/B,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK;YACL,KAAK;YACL,YAAY;YACZ,gBAAgB;YAChB,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,yEAAyE;IACzE,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3B,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QACtC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YACvB,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,KAAK,GAAG,IAAI,CAAC;gBACb,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACnE,KAA2B,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;IACV,OAAO;QACL,OAAO;QACP,OAAO;YACL,IAAI,KAAK,KAAK,IAAI;gBAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../../../packages/game/src/evidence/beacon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /** Structural subset of CanvasRenderingContext2D the minimap draws with (a recording fake satisfies it in node tests). */
2
+ export interface CanvasMinimapContext {
3
+ fillStyle: unknown;
4
+ strokeStyle: unknown;
5
+ lineWidth: number;
6
+ clearRect(x: number, y: number, w: number, h: number): void;
7
+ fillRect(x: number, y: number, w: number, h: number): void;
8
+ beginPath(): void;
9
+ moveTo(x: number, y: number): void;
10
+ lineTo(x: number, y: number): void;
11
+ closePath(): void;
12
+ fill(): void;
13
+ stroke(): void;
14
+ save(): void;
15
+ restore(): void;
16
+ translate(x: number, y: number): void;
17
+ rotate(angle: number): void;
18
+ roundRect?(x: number, y: number, w: number, h: number, r: number): void;
19
+ }
20
+ /** World rectangle `[x0, z0, x1, z1]` mapped onto the full square canvas. */
21
+ export type CanvasMinimapBounds = readonly [number, number, number, number];
22
+ export type CanvasMinimapLayer = {
23
+ readonly kind: "rect";
24
+ readonly rect: CanvasMinimapBounds;
25
+ readonly fill: string;
26
+ } | {
27
+ readonly kind: "lines";
28
+ readonly segments: readonly CanvasMinimapBounds[];
29
+ readonly stroke: string;
30
+ readonly width: number;
31
+ } | {
32
+ readonly kind: "points";
33
+ readonly points: readonly (readonly [number, number])[];
34
+ readonly fill: string;
35
+ readonly size: number;
36
+ };
37
+ export interface CanvasMinimapMarker {
38
+ readonly x: number;
39
+ readonly z: number;
40
+ /** Radians; the arrow rotates by `-heading` (the convention of the -z-forward game worlds). */
41
+ readonly heading: number;
42
+ readonly fill: string;
43
+ /** Arrow outline in canvas pixels around the origin; default is the 4-point chevron the ports used. */
44
+ readonly shape?: readonly (readonly [number, number])[];
45
+ }
46
+ export interface CanvasMinimapSpec {
47
+ /** Canvas side in pixels (the minimap is square). */
48
+ readonly size: number;
49
+ readonly bounds: CanvasMinimapBounds;
50
+ readonly background?: {
51
+ readonly fill: string;
52
+ readonly radius?: number;
53
+ };
54
+ /** Drawn in order, under the marker. */
55
+ readonly layers?: readonly CanvasMinimapLayer[];
56
+ readonly marker?: CanvasMinimapMarker;
57
+ }
58
+ /** Redraw the whole minimap. World to pixel is linear over `bounds`, so the same spec works at any `size`. */
59
+ export declare function drawCanvasMinimap(ctx: CanvasMinimapContext, spec: CanvasMinimapSpec): void;
60
+ //# sourceMappingURL=canvasMinimap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvasMinimap.d.ts","sourceRoot":"","sources":["../../../../../packages/game/src/hud/canvasMinimap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ const CHEVRON = [[0, -8], [5.5, 7], [0, 3.5], [-5.5, 7]];
2
+ /** Redraw the whole minimap. World to pixel is linear over `bounds`, so the same spec works at any `size`. */
3
+ export function drawCanvasMinimap(ctx, spec) {
4
+ const e = spec.size;
5
+ const [bx0, bz0, bx1, bz1] = spec.bounds;
6
+ const nx = (x) => ((x - bx0) / (bx1 - bx0)) * e;
7
+ const nz = (z) => ((z - bz0) / (bz1 - bz0)) * e;
8
+ ctx.clearRect(0, 0, e, e);
9
+ if (spec.background) {
10
+ ctx.fillStyle = spec.background.fill;
11
+ ctx.beginPath();
12
+ if (ctx.roundRect && spec.background.radius)
13
+ ctx.roundRect(0, 0, e, e, spec.background.radius);
14
+ else {
15
+ ctx.moveTo(0, 0);
16
+ ctx.lineTo(e, 0);
17
+ ctx.lineTo(e, e);
18
+ ctx.lineTo(0, e);
19
+ ctx.closePath();
20
+ }
21
+ ctx.fill();
22
+ }
23
+ for (const layer of spec.layers ?? []) {
24
+ if (layer.kind === "rect") {
25
+ const [x0, z0, x1, z1] = layer.rect;
26
+ ctx.fillStyle = layer.fill;
27
+ ctx.fillRect(nx(x0), nz(z0), nx(x1) - nx(x0), nz(z1) - nz(z0));
28
+ }
29
+ else if (layer.kind === "lines") {
30
+ ctx.strokeStyle = layer.stroke;
31
+ ctx.lineWidth = layer.width;
32
+ for (const [x0, z0, x1, z1] of layer.segments) {
33
+ ctx.beginPath();
34
+ ctx.moveTo(nx(x0), nz(z0));
35
+ ctx.lineTo(nx(x1), nz(z1));
36
+ ctx.stroke();
37
+ }
38
+ }
39
+ else {
40
+ ctx.fillStyle = layer.fill;
41
+ const h = layer.size / 2;
42
+ for (const [x, z] of layer.points)
43
+ ctx.fillRect(nx(x) - h, nz(z) - h, layer.size, layer.size);
44
+ }
45
+ }
46
+ const m = spec.marker;
47
+ if (m) {
48
+ ctx.save();
49
+ ctx.translate(nx(m.x), nz(m.z));
50
+ ctx.rotate(-m.heading);
51
+ ctx.fillStyle = m.fill;
52
+ ctx.beginPath();
53
+ const shape = m.shape ?? CHEVRON;
54
+ ctx.moveTo(shape[0][0], shape[0][1]);
55
+ for (let i = 1; i < shape.length; i++)
56
+ ctx.lineTo(shape[i][0], shape[i][1]);
57
+ ctx.closePath();
58
+ ctx.fill();
59
+ ctx.restore();
60
+ }
61
+ }
62
+ //# sourceMappingURL=canvasMinimap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvasMinimap.js","sourceRoot":"","sources":["../../../../../packages/game/src/hud/canvasMinimap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface CompassPoint {
2
+ readonly x: number;
3
+ readonly z: number;
4
+ }
5
+ /** Signed bearing (radians) from `from` to `to` relative to the heading `yaw`; 0 means dead ahead (-z at yaw 0). */
6
+ export declare function compassBearing(from: CompassPoint, to: CompassPoint, yaw: number): number;
7
+ /** CSS rotation (degrees) for a needle drawn pointing up so it points at the target. */
8
+ export declare function compassRotationDeg(bearing: number): number;
9
+ export interface CompassNeedle {
10
+ readonly style: Record<string, string> | {
11
+ transform: string;
12
+ };
13
+ }
14
+ /** Rotate `needle` toward `to` and return the bearing it used. */
15
+ export declare function updateCompass(needle: CompassNeedle, from: CompassPoint, to: CompassPoint, yaw: number): number;
16
+ //# sourceMappingURL=compass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compass.d.ts","sourceRoot":"","sources":["../../../../../packages/game/src/hud/compass.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oHAAoH;AACpH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAExF;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9G"}
@@ -0,0 +1,15 @@
1
+ /** Signed bearing (radians) from `from` to `to` relative to the heading `yaw`; 0 means dead ahead (-z at yaw 0). */
2
+ export function compassBearing(from, to, yaw) {
3
+ return Math.atan2(-(to.x - from.x), -(to.z - from.z)) - yaw;
4
+ }
5
+ /** CSS rotation (degrees) for a needle drawn pointing up so it points at the target. */
6
+ export function compassRotationDeg(bearing) {
7
+ return (-bearing * 180) / Math.PI;
8
+ }
9
+ /** Rotate `needle` toward `to` and return the bearing it used. */
10
+ export function updateCompass(needle, from, to, yaw) {
11
+ const bearing = compassBearing(from, to, yaw);
12
+ needle.style.transform = `rotate(${compassRotationDeg(bearing)}deg)`;
13
+ return bearing;
14
+ }
15
+ //# sourceMappingURL=compass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compass.js","sourceRoot":"","sources":["../../../../../packages/game/src/hud/compass.ts"],"names":[],"mappings":"AAKA,oHAAoH;AACpH,MAAM,UAAU,cAAc,CAAC,IAAkB,EAAE,EAAgB,EAAE,GAAW;IAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC9D,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACpC,CAAC;AAMD,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAAC,MAAqB,EAAE,IAAkB,EAAE,EAAgB,EAAE,GAAW;IACpG,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,CAAC,KAA+B,CAAC,SAAS,GAAG,UAAU,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;IAChG,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -39,6 +39,10 @@ export type { SfxId, SfxPack } from "./sfx.js";
39
39
  export { mountHud } from "./hud/HudKit.js";
40
40
  export { HUD_THEMES, HUD_FONT_FACES } from "./hud/themes.js";
41
41
  export { screenFraction } from "./hud/screenFraction.js";
42
+ export { compassBearing, compassRotationDeg, updateCompass } from "./hud/compass.js";
43
+ export type { CompassPoint, CompassNeedle } from "./hud/compass.js";
44
+ export { drawCanvasMinimap } from "./hud/canvasMinimap.js";
45
+ export type { CanvasMinimapBounds, CanvasMinimapContext, CanvasMinimapLayer, CanvasMinimapMarker, CanvasMinimapSpec } from "./hud/canvasMinimap.js";
42
46
  export type { Hud as GameHud, HudMountOptions as GameHudMountOptions, HudSnapshot, HudWidgetSnapshot, HudBannerOptions, HudKitDeps, Vec3Like as HudVec3Like } from "./hud/HudKit.js";
43
47
  export type { HudThemePreset, HudThemeVars } from "./hud/themes.js";
44
48
  export type { HudAnchor, HudWidgetBase, HudWidgetSpec as GameHudWidgetSpec, HudWidgetInstance, HudValue } from "./hud/widgets/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/game/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/game/src/index.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,8 @@ export { sfx, SFX_IDS, sfxUrl } from "./sfx.js";
60
60
  export { mountHud } from "./hud/HudKit.js";
61
61
  export { HUD_THEMES, HUD_FONT_FACES } from "./hud/themes.js";
62
62
  export { screenFraction } from "./hud/screenFraction.js";
63
+ export { compassBearing, compassRotationDeg, updateCompass } from "./hud/compass.js";
64
+ export { drawCanvasMinimap } from "./hud/canvasMinimap.js";
63
65
  export { createWidget } from "./hud/widgets/index.js";
64
66
  // PRD-09 Phase 4 — shell, transitions, context loss, touch (§6.2, §6.11, §7.2).
65
67
  export { createGameShell } from "./shell/GameShell.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/game/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/game/src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  export declare class SeededRandom {
2
2
  private state;
3
+ private drawCount;
3
4
  constructor(seed: number);
5
+ /** Number of `nextUint32` draws taken from this stream (additive; does not affect the sequence). */
6
+ get draws(): number;
4
7
  nextUint32(): number;
5
8
  nextFloat(): number;
6
9
  range(min: number, max: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../../../packages/math/src/Random.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,IAAI,EAAE,MAAM;IAKxB,UAAU,IAAI,MAAM;IASpB,SAAS,IAAI,MAAM;IAInB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAKvC,KAAK,IAAI,YAAY;IAMrB,mDAAmD;IACnD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAO9C,wDAAwD;IACxD,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC;IAK/B,0EAA0E;IAC1E,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAQ3B;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;CAGlC"}
1
+ {"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../../../packages/math/src/Random.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAK;gBAEV,IAAI,EAAE,MAAM;IAKxB,oGAAoG;IACpG,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,UAAU,IAAI,MAAM;IAUpB,SAAS,IAAI,MAAM;IAInB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAKvC,KAAK,IAAI,YAAY;IAOrB,mDAAmD;IACnD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAO9C,wDAAwD;IACxD,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC;IAK/B,0EAA0E;IAC1E,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAQ3B;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;CAGlC"}
@@ -1,11 +1,17 @@
1
1
  export class SeededRandom {
2
2
  state;
3
+ drawCount = 0;
3
4
  constructor(seed) {
4
5
  if (!Number.isInteger(seed))
5
6
  throw new RangeError("Seed must be an integer.");
6
7
  this.state = seed >>> 0;
7
8
  }
9
+ /** Number of `nextUint32` draws taken from this stream (additive; does not affect the sequence). */
10
+ get draws() {
11
+ return this.drawCount;
12
+ }
8
13
  nextUint32() {
14
+ this.drawCount++;
9
15
  let x = this.state;
10
16
  x ^= x << 13;
11
17
  x ^= x >>> 17;
@@ -24,6 +30,7 @@ export class SeededRandom {
24
30
  clone() {
25
31
  const random = new SeededRandom(0);
26
32
  random.state = this.state;
33
+ random.drawCount = this.drawCount;
27
34
  return random;
28
35
  }
29
36
  /** Integer in [min, maxExclusive). PRD-09 §7.6. */
@@ -1 +1 @@
1
- {"version":3,"file":"Random.js","sourceRoot":"","sources":["../../../../packages/math/src/Random.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Random.js","sourceRoot":"","sources":["../../../../packages/math/src/Random.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebGL2Device.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/WebGL2Device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGL2Device.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/WebGL2Device.ts"],"names":[],"mappings":"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"}
@@ -1229,10 +1229,9 @@ export class WebGL2Device {
1229
1229
  this.gl.deleteProgram(this.host.post.presentationProgram);
1230
1230
  this.host.post.presentationProgram = null;
1231
1231
  }
1232
- if (this.host.post.ldrPostprocessProgram) {
1233
- this.gl.deleteProgram(this.host.post.ldrPostprocessProgram);
1234
- this.host.post.ldrPostprocessProgram = null;
1235
- }
1232
+ for (const ldrProgram of this.host.post.ldrPostprocessPrograms.values())
1233
+ this.gl.deleteProgram(ldrProgram);
1234
+ this.host.post.ldrPostprocessPrograms.clear();
1236
1235
  if (this.host.post.bloomBrightExtractProgram) {
1237
1236
  this.gl.deleteProgram(this.host.post.bloomBrightExtractProgram);
1238
1237
  this.host.post.bloomBrightExtractProgram = null;