@datamoc/mw_games 0.4.1 → 0.4.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 (260) hide show
  1. package/README.md +2 -2
  2. package/dist/actors/ItemStatusEffect.d.ts +1 -1
  3. package/dist/actors/ItemStatusEffect.d.ts.map +1 -1
  4. package/dist/actors/ItemStatusEffect.js +2 -11
  5. package/dist/actors/ItemStatusEffect.js.map +1 -1
  6. package/dist/actors/StatusEffect.d.ts +11 -0
  7. package/dist/actors/StatusEffect.d.ts.map +1 -1
  8. package/dist/actors/StatusEffect.js +21 -8
  9. package/dist/actors/StatusEffect.js.map +1 -1
  10. package/dist/assets/binary.d.ts +52 -0
  11. package/dist/assets/binary.d.ts.map +1 -0
  12. package/dist/assets/binary.js +57 -0
  13. package/dist/assets/binary.js.map +1 -0
  14. package/dist/assets/index.d.ts +10 -5
  15. package/dist/assets/index.d.ts.map +1 -1
  16. package/dist/assets/index.js +9 -5
  17. package/dist/assets/index.js.map +1 -1
  18. package/dist/board/Army.d.ts +75 -0
  19. package/dist/board/Army.d.ts.map +1 -1
  20. package/dist/board/Army.js +75 -0
  21. package/dist/board/Army.js.map +1 -1
  22. package/dist/board/Classics.d.ts +297 -1
  23. package/dist/board/Classics.d.ts.map +1 -1
  24. package/dist/board/Classics.js +297 -1
  25. package/dist/board/Classics.js.map +1 -1
  26. package/dist/board/Engine.d.ts +23 -0
  27. package/dist/board/Engine.d.ts.map +1 -1
  28. package/dist/board/Engine.js +23 -0
  29. package/dist/board/Engine.js.map +1 -1
  30. package/dist/board/FogOfWar.d.ts +20 -0
  31. package/dist/board/FogOfWar.d.ts.map +1 -1
  32. package/dist/board/FogOfWar.js +20 -0
  33. package/dist/board/FogOfWar.js.map +1 -1
  34. package/dist/board/Tactics.d.ts +158 -1
  35. package/dist/board/Tactics.d.ts.map +1 -1
  36. package/dist/board/Tactics.js +125 -1
  37. package/dist/board/Tactics.js.map +1 -1
  38. package/dist/board/chess.d.ts +87 -3
  39. package/dist/board/chess.d.ts.map +1 -1
  40. package/dist/board/chess.js +96 -4
  41. package/dist/board/chess.js.map +1 -1
  42. package/dist/core/HttpTransport.d.ts +1 -1
  43. package/dist/core/HttpTransport.js +1 -1
  44. package/dist/core/News.d.ts +6 -13
  45. package/dist/core/News.d.ts.map +1 -1
  46. package/dist/core/News.js +10 -23
  47. package/dist/core/News.js.map +1 -1
  48. package/dist/core/RunHistory.d.ts +1 -2
  49. package/dist/core/RunHistory.d.ts.map +1 -1
  50. package/dist/core/RunHistory.js +5 -6
  51. package/dist/core/RunHistory.js.map +1 -1
  52. package/dist/core/Stats.d.ts +1 -2
  53. package/dist/core/Stats.d.ts.map +1 -1
  54. package/dist/core/Stats.js +5 -6
  55. package/dist/core/Stats.js.map +1 -1
  56. package/dist/core/StoredValue.d.ts +21 -0
  57. package/dist/core/StoredValue.d.ts.map +1 -0
  58. package/dist/core/StoredValue.js +28 -0
  59. package/dist/core/StoredValue.js.map +1 -0
  60. package/dist/i18n/Content.d.ts +151 -0
  61. package/dist/i18n/Content.d.ts.map +1 -0
  62. package/dist/i18n/Content.js +219 -0
  63. package/dist/i18n/Content.js.map +1 -0
  64. package/dist/i18n/index.d.ts +35 -3
  65. package/dist/i18n/index.d.ts.map +1 -1
  66. package/dist/i18n/index.js +88 -6
  67. package/dist/i18n/index.js.map +1 -1
  68. package/dist/mw_games.global.js +90 -90
  69. package/dist/roguelike/Level.d.ts +10 -0
  70. package/dist/roguelike/Level.d.ts.map +1 -1
  71. package/dist/roguelike/Level.js +57 -17
  72. package/dist/roguelike/Level.js.map +1 -1
  73. package/dist/roguelike/Pathfinder.js +19 -19
  74. package/dist/roguelike/Pathfinder.js.map +1 -1
  75. package/dist/roguelike/Placement.d.ts +62 -0
  76. package/dist/roguelike/Placement.d.ts.map +1 -0
  77. package/dist/roguelike/Placement.js +79 -0
  78. package/dist/roguelike/Placement.js.map +1 -0
  79. package/dist/roguelike/index.d.ts +2 -0
  80. package/dist/roguelike/index.d.ts.map +1 -1
  81. package/dist/roguelike/index.js +1 -0
  82. package/dist/roguelike/index.js.map +1 -1
  83. package/dist/rpg/FreeMover.d.ts +1 -1
  84. package/dist/rpg/FreeMover.d.ts.map +1 -1
  85. package/dist/rpg/FreeMover.js +3 -6
  86. package/dist/rpg/FreeMover.js.map +1 -1
  87. package/dist/rpg/GridMover.d.ts +1 -1
  88. package/dist/rpg/GridMover.d.ts.map +1 -1
  89. package/dist/rpg/GridMover.js +3 -6
  90. package/dist/rpg/GridMover.js.map +1 -1
  91. package/dist/rpg/MovableSprite.d.ts +6 -0
  92. package/dist/rpg/MovableSprite.d.ts.map +1 -1
  93. package/dist/rpg/MovableSprite.js +9 -1
  94. package/dist/rpg/MovableSprite.js.map +1 -1
  95. package/dist/three-d/Models.d.ts +38 -1
  96. package/dist/three-d/Models.d.ts.map +1 -1
  97. package/dist/three-d/Models.js +66 -3
  98. package/dist/three-d/Models.js.map +1 -1
  99. package/dist/two-d/render/ActorAnimator.d.ts +32 -0
  100. package/dist/two-d/render/ActorAnimator.d.ts.map +1 -1
  101. package/dist/two-d/render/ActorAnimator.js +21 -0
  102. package/dist/two-d/render/ActorAnimator.js.map +1 -1
  103. package/dist/two-d/render/AnimatedSprite.d.ts +24 -4
  104. package/dist/two-d/render/AnimatedSprite.d.ts.map +1 -1
  105. package/dist/two-d/render/AnimatedSprite.js +24 -4
  106. package/dist/two-d/render/AnimatedSprite.js.map +1 -1
  107. package/dist/two-d/render/Autotile.d.ts +33 -1
  108. package/dist/two-d/render/Autotile.d.ts.map +1 -1
  109. package/dist/two-d/render/Autotile.js +33 -1
  110. package/dist/two-d/render/Autotile.js.map +1 -1
  111. package/dist/two-d/render/Camera.d.ts +53 -1
  112. package/dist/two-d/render/Camera.d.ts.map +1 -1
  113. package/dist/two-d/render/Camera.js +36 -1
  114. package/dist/two-d/render/Camera.js.map +1 -1
  115. package/dist/two-d/render/Capabilities.d.ts +33 -0
  116. package/dist/two-d/render/Capabilities.d.ts.map +1 -1
  117. package/dist/two-d/render/Capabilities.js +33 -0
  118. package/dist/two-d/render/Capabilities.js.map +1 -1
  119. package/dist/two-d/render/ColorBlindness.d.ts +23 -0
  120. package/dist/two-d/render/ColorBlindness.d.ts.map +1 -1
  121. package/dist/two-d/render/ColorBlindness.js +23 -4
  122. package/dist/two-d/render/ColorBlindness.js.map +1 -1
  123. package/dist/two-d/render/ColorTransformBatcher.d.ts +67 -1
  124. package/dist/two-d/render/ColorTransformBatcher.d.ts.map +1 -1
  125. package/dist/two-d/render/ColorTransformBatcher.js +57 -1
  126. package/dist/two-d/render/ColorTransformBatcher.js.map +1 -1
  127. package/dist/two-d/render/LayeredSprite.d.ts +19 -0
  128. package/dist/two-d/render/LayeredSprite.d.ts.map +1 -1
  129. package/dist/two-d/render/LayeredSprite.js +19 -0
  130. package/dist/two-d/render/LayeredSprite.js.map +1 -1
  131. package/dist/two-d/render/Minimap.d.ts +25 -1
  132. package/dist/two-d/render/Minimap.d.ts.map +1 -1
  133. package/dist/two-d/render/Minimap.js +25 -1
  134. package/dist/two-d/render/Minimap.js.map +1 -1
  135. package/dist/two-d/render/Particles.d.ts +26 -2
  136. package/dist/two-d/render/Particles.d.ts.map +1 -1
  137. package/dist/two-d/render/Particles.js +23 -0
  138. package/dist/two-d/render/Particles.js.map +1 -1
  139. package/dist/two-d/render/Projectile.d.ts +14 -0
  140. package/dist/two-d/render/Projectile.d.ts.map +1 -1
  141. package/dist/two-d/render/Projectile.js +14 -0
  142. package/dist/two-d/render/Projectile.js.map +1 -1
  143. package/dist/two-d/render/ScreenEffects.d.ts +15 -0
  144. package/dist/two-d/render/ScreenEffects.d.ts.map +1 -1
  145. package/dist/two-d/render/ScreenEffects.js +15 -0
  146. package/dist/two-d/render/ScreenEffects.js.map +1 -1
  147. package/dist/two-d/render/Shape2D.d.ts +58 -1
  148. package/dist/two-d/render/Shape2D.d.ts.map +1 -1
  149. package/dist/two-d/render/Shape2D.js +58 -1
  150. package/dist/two-d/render/Shape2D.js.map +1 -1
  151. package/dist/two-d/render/StatusVisuals.d.ts +22 -0
  152. package/dist/two-d/render/StatusVisuals.d.ts.map +1 -1
  153. package/dist/two-d/render/StatusVisuals.js +22 -0
  154. package/dist/two-d/render/StatusVisuals.js.map +1 -1
  155. package/dist/two-d/render/TileMap.d.ts +65 -3
  156. package/dist/two-d/render/TileMap.d.ts.map +1 -1
  157. package/dist/two-d/render/TileMap.js +65 -3
  158. package/dist/two-d/render/TileMap.js.map +1 -1
  159. package/dist/two-d/render/TiledMap.d.ts +9 -3
  160. package/dist/two-d/render/TiledMap.d.ts.map +1 -1
  161. package/dist/two-d/render/TiledMap.js +9 -3
  162. package/dist/two-d/render/TiledMap.js.map +1 -1
  163. package/dist/two-d/render/TintedSprite.d.ts +9 -2
  164. package/dist/two-d/render/TintedSprite.d.ts.map +1 -1
  165. package/dist/two-d/render/TintedSprite.js +9 -2
  166. package/dist/two-d/render/TintedSprite.js.map +1 -1
  167. package/dist/two-d/render/Types2D.d.ts +14 -2
  168. package/dist/two-d/render/Types2D.d.ts.map +1 -1
  169. package/dist/two-d/render/Types2D.js +14 -2
  170. package/dist/two-d/render/Types2D.js.map +1 -1
  171. package/dist/two-d/render/Viewport.d.ts +22 -0
  172. package/dist/two-d/render/Viewport.d.ts.map +1 -1
  173. package/dist/two-d/render/Viewport.js +22 -0
  174. package/dist/two-d/render/Viewport.js.map +1 -1
  175. package/dist/two-d/ui/Bar.d.ts +16 -3
  176. package/dist/two-d/ui/Bar.d.ts.map +1 -1
  177. package/dist/two-d/ui/Bar.js +16 -1
  178. package/dist/two-d/ui/Bar.js.map +1 -1
  179. package/dist/two-d/ui/BitmapLabel.d.ts +26 -10
  180. package/dist/two-d/ui/BitmapLabel.d.ts.map +1 -1
  181. package/dist/two-d/ui/BitmapLabel.js +26 -3
  182. package/dist/two-d/ui/BitmapLabel.js.map +1 -1
  183. package/dist/two-d/ui/Button.d.ts +15 -0
  184. package/dist/two-d/ui/Button.d.ts.map +1 -1
  185. package/dist/two-d/ui/Button.js +15 -0
  186. package/dist/two-d/ui/Button.js.map +1 -1
  187. package/dist/two-d/ui/FloatingText.d.ts +15 -0
  188. package/dist/two-d/ui/FloatingText.d.ts.map +1 -1
  189. package/dist/two-d/ui/FloatingText.js +15 -0
  190. package/dist/two-d/ui/FloatingText.js.map +1 -1
  191. package/dist/two-d/ui/HelpScreen.d.ts +16 -0
  192. package/dist/two-d/ui/HelpScreen.d.ts.map +1 -1
  193. package/dist/two-d/ui/HelpScreen.js +23 -3
  194. package/dist/two-d/ui/HelpScreen.js.map +1 -1
  195. package/dist/two-d/ui/IconGrid.d.ts +27 -3
  196. package/dist/two-d/ui/IconGrid.d.ts.map +1 -1
  197. package/dist/two-d/ui/IconGrid.js +71 -55
  198. package/dist/two-d/ui/IconGrid.js.map +1 -1
  199. package/dist/two-d/ui/Label.d.ts +12 -8
  200. package/dist/two-d/ui/Label.d.ts.map +1 -1
  201. package/dist/two-d/ui/Label.js +14 -3
  202. package/dist/two-d/ui/Label.js.map +1 -1
  203. package/dist/two-d/ui/ListView.d.ts +22 -4
  204. package/dist/two-d/ui/ListView.d.ts.map +1 -1
  205. package/dist/two-d/ui/ListView.js +44 -43
  206. package/dist/two-d/ui/ListView.js.map +1 -1
  207. package/dist/two-d/ui/LoadingScreen.d.ts +24 -1
  208. package/dist/two-d/ui/LoadingScreen.d.ts.map +1 -1
  209. package/dist/two-d/ui/LoadingScreen.js +24 -1
  210. package/dist/two-d/ui/LoadingScreen.js.map +1 -1
  211. package/dist/two-d/ui/MessageBox.d.ts +21 -2
  212. package/dist/two-d/ui/MessageBox.d.ts.map +1 -1
  213. package/dist/two-d/ui/MessageBox.js +19 -0
  214. package/dist/two-d/ui/MessageBox.js.map +1 -1
  215. package/dist/two-d/ui/NinePatch.d.ts +12 -0
  216. package/dist/two-d/ui/NinePatch.d.ts.map +1 -1
  217. package/dist/two-d/ui/NinePatch.js +12 -0
  218. package/dist/two-d/ui/NinePatch.js.map +1 -1
  219. package/dist/two-d/ui/RebindScreen.d.ts +15 -0
  220. package/dist/two-d/ui/RebindScreen.d.ts.map +1 -1
  221. package/dist/two-d/ui/RebindScreen.js +15 -0
  222. package/dist/two-d/ui/RebindScreen.js.map +1 -1
  223. package/dist/two-d/ui/SelectionModel.d.ts +50 -0
  224. package/dist/two-d/ui/SelectionModel.d.ts.map +1 -0
  225. package/dist/two-d/ui/SelectionModel.js +73 -0
  226. package/dist/two-d/ui/SelectionModel.js.map +1 -0
  227. package/dist/two-d/ui/StatsScreen.d.ts +15 -0
  228. package/dist/two-d/ui/StatsScreen.d.ts.map +1 -1
  229. package/dist/two-d/ui/StatsScreen.js +15 -0
  230. package/dist/two-d/ui/StatsScreen.js.map +1 -1
  231. package/dist/two-d/ui/Toast.d.ts +12 -0
  232. package/dist/two-d/ui/Toast.d.ts.map +1 -1
  233. package/dist/two-d/ui/Toast.js +12 -0
  234. package/dist/two-d/ui/Toast.js.map +1 -1
  235. package/dist/two-d/ui/Tooltip.d.ts +14 -0
  236. package/dist/two-d/ui/Tooltip.d.ts.map +1 -1
  237. package/dist/two-d/ui/Tooltip.js +14 -0
  238. package/dist/two-d/ui/Tooltip.js.map +1 -1
  239. package/dist/two-d/ui/VerticalLabel.d.ts +18 -0
  240. package/dist/two-d/ui/VerticalLabel.d.ts.map +1 -1
  241. package/dist/two-d/ui/VerticalLabel.js +18 -0
  242. package/dist/two-d/ui/VerticalLabel.js.map +1 -1
  243. package/dist/two-d/ui/Window.d.ts +12 -0
  244. package/dist/two-d/ui/Window.d.ts.map +1 -1
  245. package/dist/two-d/ui/Window.js +12 -0
  246. package/dist/two-d/ui/Window.js.map +1 -1
  247. package/dist/two-d/ui/theme.d.ts +45 -1
  248. package/dist/two-d/ui/theme.d.ts.map +1 -1
  249. package/dist/two-d/ui/theme.js +45 -1
  250. package/dist/two-d/ui/theme.js.map +1 -1
  251. package/dist/two-d/ui/themedText.d.ts +20 -0
  252. package/dist/two-d/ui/themedText.d.ts.map +1 -0
  253. package/dist/two-d/ui/themedText.js +9 -0
  254. package/dist/two-d/ui/themedText.js.map +1 -0
  255. package/dist/version.d.ts +1 -1
  256. package/dist/version.js +1 -1
  257. package/package.json +11 -2
  258. package/tools/compile-resources.mjs +1 -1
  259. package/tools/compress-dist.d.mts +16 -0
  260. package/tools/compress-dist.mjs +116 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../../src/two-d/render/Camera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../../src/two-d/render/Camera.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,14 @@ export interface RenderingDecision {
24
24
  * The framework's rendering choices by workload. This is data, not a global renderer switch:
25
25
  * each game imports only the module it uses and keeps 2D Pixi and optional 3D Babylon paths
26
26
  * independent.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * import { RENDERING_DECISIONS } from '@datamoc/mw_games/two-d/render';
31
+ *
32
+ * const particles = RENDERING_DECISIONS.find((d) => d.workload === 'particles');
33
+ * console.log(particles?.preferred); // 'PixiJS for 2D, Babylon.js for 3D'
34
+ * ```
27
35
  */
28
36
  export declare const RENDERING_DECISIONS: readonly RenderingDecision[];
29
37
  /**
@@ -35,6 +43,22 @@ export declare const RENDERING_DECISIONS: readonly RenderingDecision[];
35
43
  * of that is asynchronous. Rather than assume WGSL works just because `navigator.gpu`
36
44
  * exists (a browser can expose WebGPU behind a still-broken or disabled implementation),
37
45
  * this stays `false` unless a caller supplies a real result through `probe.wgsl`.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * import { inspectGraphicsCapabilities } from '@datamoc/mw_games/two-d/render';
50
+ *
51
+ * // reads the real browser when no probe is given
52
+ * const here = inspectGraphicsCapabilities();
53
+ *
54
+ * // a fake probe, for a test or a host integration with no DOM
55
+ * const capabilities = inspectGraphicsCapabilities({
56
+ * createCanvas: () => ({ getContext: (kind) => (kind === 'webgl2' ? {} : null) }),
57
+ * webgpu: false,
58
+ * });
59
+ * console.log(capabilities.webgl2); // true
60
+ * console.log(capabilities.webgpu); // false
61
+ * ```
38
62
  */
39
63
  export declare function inspectGraphicsCapabilities(probe?: GraphicsProbe): GraphicsCapabilities;
40
64
  export interface WebGpuDetection {
@@ -46,6 +70,15 @@ export interface WebGpuDetection {
46
70
  * synchronously: requests an actual adapter and device, then compiles an actual shader
47
71
  * module and reads back its compilation diagnostics. Feed the result to
48
72
  * `inspectGraphicsCapabilities` via `probe.webgpu`/`probe.wgsl` once resolved.
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * import { detectWebGpu, inspectGraphicsCapabilities } from '@datamoc/mw_games/two-d/render';
77
+ *
78
+ * const detected = await detectWebGpu();
79
+ * const capabilities = inspectGraphicsCapabilities({ webgpu: detected.webgpu, wgsl: detected.wgsl });
80
+ * console.log(capabilities.wgsl); // true only if a real WGSL shader actually compiled
81
+ * ```
49
82
  */
50
83
  export declare function detectWebGpu(): Promise<WebGpuDetection>;
51
84
  //# sourceMappingURL=Capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/Capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACzB,SAAS,GACT,IAAI,GACJ,gBAAgB,GAChB,WAAW,GACX,mBAAmB,GACnB,QAAQ,GACR,iBAAiB,GACjB,iBAAiB,CAAC;AAErB,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,IAAI,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC7B,YAAY,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,iBAAiB,EAS3D,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,GAAE,aAAkB,GAAG,oBAAoB,CAM3F;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC,CAe7D"}
1
+ {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/Capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACzB,SAAS,GACT,IAAI,GACJ,gBAAgB,GAChB,WAAW,GACX,mBAAmB,GACnB,QAAQ,GACR,iBAAiB,GACjB,iBAAiB,CAAC;AAErB,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,IAAI,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC7B,YAAY,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,iBAAiB,EAS3D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,GAAE,aAAkB,GAAG,oBAAoB,CAM3F;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACd;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC,CAe7D"}
@@ -2,6 +2,14 @@
2
2
  * The framework's rendering choices by workload. This is data, not a global renderer switch:
3
3
  * each game imports only the module it uses and keeps 2D Pixi and optional 3D Babylon paths
4
4
  * independent.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { RENDERING_DECISIONS } from '@datamoc/mw_games/two-d/render';
9
+ *
10
+ * const particles = RENDERING_DECISIONS.find((d) => d.workload === 'particles');
11
+ * console.log(particles?.preferred); // 'PixiJS for 2D, Babylon.js for 3D'
12
+ * ```
5
13
  */
6
14
  export const RENDERING_DECISIONS = [
7
15
  { workload: 'sprites', preferred: 'PixiJS WebGL/WebGPU batcher', fallback: 'PixiJS WebGL', reason: 'high-volume textured 2D batches' },
@@ -22,6 +30,22 @@ export const RENDERING_DECISIONS = [
22
30
  * of that is asynchronous. Rather than assume WGSL works just because `navigator.gpu`
23
31
  * exists (a browser can expose WebGPU behind a still-broken or disabled implementation),
24
32
  * this stays `false` unless a caller supplies a real result through `probe.wgsl`.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * import { inspectGraphicsCapabilities } from '@datamoc/mw_games/two-d/render';
37
+ *
38
+ * // reads the real browser when no probe is given
39
+ * const here = inspectGraphicsCapabilities();
40
+ *
41
+ * // a fake probe, for a test or a host integration with no DOM
42
+ * const capabilities = inspectGraphicsCapabilities({
43
+ * createCanvas: () => ({ getContext: (kind) => (kind === 'webgl2' ? {} : null) }),
44
+ * webgpu: false,
45
+ * });
46
+ * console.log(capabilities.webgl2); // true
47
+ * console.log(capabilities.webgpu); // false
48
+ * ```
25
49
  */
26
50
  export function inspectGraphicsCapabilities(probe = {}) {
27
51
  const canvas = probe.createCanvas?.() ?? (typeof document === 'undefined' ? null : document.createElement('canvas'));
@@ -35,6 +59,15 @@ export function inspectGraphicsCapabilities(probe = {}) {
35
59
  * synchronously: requests an actual adapter and device, then compiles an actual shader
36
60
  * module and reads back its compilation diagnostics. Feed the result to
37
61
  * `inspectGraphicsCapabilities` via `probe.webgpu`/`probe.wgsl` once resolved.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * import { detectWebGpu, inspectGraphicsCapabilities } from '@datamoc/mw_games/two-d/render';
66
+ *
67
+ * const detected = await detectWebGpu();
68
+ * const capabilities = inspectGraphicsCapabilities({ webgpu: detected.webgpu, wgsl: detected.wgsl });
69
+ * console.log(capabilities.wgsl); // true only if a real WGSL shader actually compiled
70
+ * ```
38
71
  */
39
72
  export async function detectWebGpu() {
40
73
  const gpu = globalThis.navigator?.gpu;
@@ -1 +1 @@
1
- {"version":3,"file":"Capabilities.js","sourceRoot":"","sources":["../../../src/two-d/render/Capabilities.ts"],"names":[],"mappings":"AAgCA;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAiC;IAChE,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,6BAA6B,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,iCAAiC,EAAE;IACtI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,8BAA8B,EAAE;IAC7H,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,+CAA+C,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,iEAAiE,EAAE;IACjM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,kCAAkC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,yCAAyC,EAAE;IACjK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,SAAS,EAAE,2BAA2B,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,mCAAmC,EAAE;IACzJ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,2BAA2B,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,yBAAyB,EAAE;IAC7H,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,kCAAkC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,+CAA+C,EAAE;IACtK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,mCAAmC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,oCAAoC,EAAE;CAC7J,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAK,GAAkB,EAAE;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAE,UAAU,CAAC,SAAuD,EAAE,GAAG,CAAC,CAAC;IACjH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;AAC9D,CAAC;AAOD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IACjC,MAAM,GAAG,GAAI,UAAU,CAAC,SAAmD,EAAE,GAAG,CAAC;IACjF,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAEhD,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,aAAa,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAEnD,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"Capabilities.js","sourceRoot":"","sources":["../../../src/two-d/render/Capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,19 @@
1
1
  import { ColorMatrixFilter } from 'pixi.js';
2
2
  import type { ColorMatrix } from 'pixi.js';
3
3
  export type ColorBlindnessType = 'protanopia' | 'deuteranopia' | 'tritanopia';
4
+ /**
5
+ * Brettel/Viénot-derived simulation matrices, the same values widely used by colourblindness
6
+ * simulators - a 5x4 (20-value) row-major RGBA matrix, Pixi's own `ColorMatrixFilter` format.
7
+ * Exported so the matrix data itself can be tested without constructing a `ColorMatrixFilter`,
8
+ * which (like `BitmapText`) needs a real WebGL context even to construct.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { COLOR_BLINDNESS_MATRICES } from '@datamoc/mw_games/two-d/render';
13
+ *
14
+ * console.log(COLOR_BLINDNESS_MATRICES.deuteranopia.length); // 20
15
+ * ```
16
+ */
4
17
  export declare const COLOR_BLINDNESS_MATRICES: Record<ColorBlindnessType, ColorMatrix>;
5
18
  /**
6
19
  * A whole-scene filter simulating one of the three common types of colour vision deficiency.
@@ -11,6 +24,16 @@ export declare const COLOR_BLINDNESS_MATRICES: Record<ColorBlindnessType, ColorM
11
24
  * first step toward choosing a palette that reads clearly for them. It does not correct an
12
25
  * existing palette automatically; that would need the source colours' own intent (which one
13
26
  * is the "danger" colour, say), not just their RGB values.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * import { createColorBlindnessFilter } from '@datamoc/mw_games/two-d/render';
31
+ * import type { Container2D } from '@datamoc/mw_games/two-d/render';
32
+ *
33
+ * declare const stage: Container2D;
34
+ *
35
+ * stage.filters = [createColorBlindnessFilter('deuteranopia')];
36
+ * ```
14
37
  */
15
38
  export declare function createColorBlindnessFilter(type: ColorBlindnessType): ColorMatrixFilter;
16
39
  //# sourceMappingURL=ColorBlindness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorBlindness.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/ColorBlindness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;AAM9E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAmB5E,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,CAItF"}
1
+ {"version":3,"file":"ColorBlindness.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/ColorBlindness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;AAE9E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAmB5E,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,CAItF"}
@@ -1,8 +1,17 @@
1
1
  import { ColorMatrixFilter } from 'pixi.js';
2
- //Brettel/Viénot-derived simulation matrices, the same values widely used by colourblindness
3
- //simulators - a 5x4 (20-value) row-major RGBA matrix, Pixi's own `ColorMatrixFilter` format.
4
- //Exported so the matrix data itself can be tested without constructing a `ColorMatrixFilter`,
5
- //which (like `BitmapText`) needs a real WebGL context even to construct.
2
+ /**
3
+ * Brettel/Viénot-derived simulation matrices, the same values widely used by colourblindness
4
+ * simulators - a 5x4 (20-value) row-major RGBA matrix, Pixi's own `ColorMatrixFilter` format.
5
+ * Exported so the matrix data itself can be tested without constructing a `ColorMatrixFilter`,
6
+ * which (like `BitmapText`) needs a real WebGL context even to construct.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { COLOR_BLINDNESS_MATRICES } from '@datamoc/mw_games/two-d/render';
11
+ *
12
+ * console.log(COLOR_BLINDNESS_MATRICES.deuteranopia.length); // 20
13
+ * ```
14
+ */
6
15
  export const COLOR_BLINDNESS_MATRICES = {
7
16
  protanopia: [
8
17
  0.567, 0.433, 0, 0, 0,
@@ -32,6 +41,16 @@ export const COLOR_BLINDNESS_MATRICES = {
32
41
  * first step toward choosing a palette that reads clearly for them. It does not correct an
33
42
  * existing palette automatically; that would need the source colours' own intent (which one
34
43
  * is the "danger" colour, say), not just their RGB values.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * import { createColorBlindnessFilter } from '@datamoc/mw_games/two-d/render';
48
+ * import type { Container2D } from '@datamoc/mw_games/two-d/render';
49
+ *
50
+ * declare const stage: Container2D;
51
+ *
52
+ * stage.filters = [createColorBlindnessFilter('deuteranopia')];
53
+ * ```
35
54
  */
36
55
  export function createColorBlindnessFilter(type) {
37
56
  const filter = new ColorMatrixFilter();
@@ -1 +1 @@
1
- {"version":3,"file":"ColorBlindness.js","sourceRoot":"","sources":["../../../src/two-d/render/ColorBlindness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAK5C,4FAA4F;AAC5F,6FAA6F;AAC7F,8FAA8F;AAC9F,yEAAyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAA4C;IAChF,UAAU,EAAE;QACX,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACb;IACD,YAAY,EAAE;QACb,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACjB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACjB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACb;IACD,UAAU,EAAE;QACX,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACb;CACD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAwB;IAClE,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACvC,MAAM,CAAC,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"ColorBlindness.js","sourceRoot":"","sources":["../../../src/two-d/render/ColorBlindness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAK5C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA4C;IAChF,UAAU,EAAE;QACX,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACb;IACD,YAAY,EAAE;QACb,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACjB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACjB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACb;IACD,UAAU,EAAE;QACX,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACb;CACD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAwB;IAClE,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACvC,MAAM,CAAC,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -19,11 +19,34 @@ type QuadElement = BatchableQuadElement & PackedElement;
19
19
  *
20
20
  * Anything drawn through this batcher may set `colorAdd` on itself; anything that does not
21
21
  * is packed with zero and renders exactly as it would have with the default batcher.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * import type { HasColorAdd } from '@datamoc/mw_games/two-d/render';
26
+ * import { packColorAdd } from '@datamoc/mw_games/two-d/render';
27
+ *
28
+ * function tintTowardsWhite(renderable: HasColorAdd, strength: number): void {
29
+ * renderable.colorAdd = packColorAdd(strength, strength, strength);
30
+ * }
31
+ * ```
22
32
  */
23
33
  export interface HasColorAdd {
24
34
  /** additive colour, packed as 0xAABBGGRR to match the attribute's byte order */
25
35
  colorAdd?: number;
26
36
  }
37
+ /**
38
+ * The Pixi batcher extension `TintedSprite` (and everything built on it) renders through -
39
+ * see the module doc comment above for what it adds and why.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * import { ColorTransformBatcher } from '@datamoc/mw_games/two-d/render';
44
+ *
45
+ * // registered automatically by TintedSprite.ts; naming the class directly is only ever
46
+ * // needed to check which batcher an object ended up in, or in Pixi extension diagnostics
47
+ * console.log(ColorTransformBatcher.extension.name); // 'mwg-color-transform'
48
+ * ```
49
+ */
27
50
  export declare class ColorTransformBatcher extends Batcher {
28
51
  /** @internal */
29
52
  static extension: {
@@ -53,6 +76,17 @@ export declare const TINTED_SPRITE_PIPE = "mwg-tinted-sprite";
53
76
  * `GameOptions.extensions` itself. This stays exported, idempotent (`registered` guards a
54
77
  * second call from double-adding it), and public for the rare case of a game building its
55
78
  * own renderer setup outside `Game`.
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * import { registerColorTransform } from '@datamoc/mw_games/two-d/render';
83
+ *
84
+ * // a game that assembles its own Pixi renderer extensions manually, instead of going
85
+ * // through `Game`/`GameOptions.extensions`, registers the batcher itself before creating
86
+ * // that renderer - importing `TintedSprite` (directly or transitively) already does this,
87
+ * // so most games never call it
88
+ * registerColorTransform();
89
+ * ```
56
90
  */
57
91
  export declare function registerColorTransform(): void;
58
92
  /**
@@ -62,10 +96,42 @@ export declare function registerColorTransform(): void;
62
96
  * @param g green, 0 to 1
63
97
  * @param b blue, 0 to 1
64
98
  * @param a how much to add to the sprite's own alpha, 0 to 1; usually 0
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * import { packColorAdd } from '@datamoc/mw_games/two-d/render';
103
+ * import { TintedSprite } from '@datamoc/mw_games/two-d/render';
104
+ *
105
+ * declare const rat: TintedSprite;
106
+ *
107
+ * rat.colorAdd = packColorAdd(0, 1, 0); // pull the sprite towards pure green
108
+ * ```
65
109
  */
66
110
  export declare function packColorAdd(r: number, g: number, b: number, a?: number): number;
67
- /** the additive half of `lerp(texel, colour, strength)`; pair with a tint of `1 - strength` */
111
+ /** the additive half of `lerp(texel, colour, strength)`; pair with a tint of `1 - strength`
112
+ *
113
+ * @example
114
+ * ```ts
115
+ * import { packTintAdd, TintedSprite } from '@datamoc/mw_games/two-d/render';
116
+ *
117
+ * declare const rat: TintedSprite;
118
+ *
119
+ * rat.colorAdd = packTintAdd(0x00ff00, 0.5); // half-way to green, the additive half of lerpTint
120
+ * rat.tint = 0x808080; // pair with 1 - strength (here 0.5) for the multiply half
121
+ * ```
122
+ */
68
123
  export declare function packTintAdd(color: number, strength: number): number;
124
+ /** the packed value of no additive colour at all - what an untinted sprite carries.
125
+ *
126
+ * @example
127
+ * ```ts
128
+ * import { NO_COLOR_ADD, TintedSprite } from '@datamoc/mw_games/two-d/render';
129
+ *
130
+ * declare const rat: TintedSprite;
131
+ *
132
+ * console.log(rat.colorAdd === NO_COLOR_ADD); // true - fresh sprites start with no additive colour
133
+ * ```
134
+ */
69
135
  export declare const NO_COLOR_ADD = 0;
70
136
  export {};
71
137
  //# sourceMappingURL=ColorTransformBatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorTransformBatcher.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/ColorTransformBatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EAGP,aAAa,EACb,QAAQ,EACR,MAAM,EAWN,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACX,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,MAAM,EAKN,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,UAAU,aAAa;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,WAAW,GAAG,oBAAoB,GAAG,aAAa,CAAC;AACxD,KAAK,WAAW,GAAG,oBAAoB,GAAG,aAAa,CAAC;AA6HxD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAmCD,qBAAa,qBAAsB,SAAQ,OAAO;IACjD,gBAAgB;IAChB,MAAM,CAAC,SAAS;iBACf,IAAI;iBACJ,IAAI,EAAE,qBAAqB;MACjB;IAEX,QAAQ,EAAE,QAAQ,CAAgC;IAClD,MAAM,EAAE,MAAM,CAAC;IACN,IAAI,wBAAwC;IAC5C,UAAU,SAAe;IAElC,YAAY,OAAO,EAAE,cAAc,EAGlC;IAED,cAAc,CACb,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GACf,IAAI,CAuBN;IAED,kBAAkB,CACjB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GACf,IAAI,CAuBN;IAED,2EAA2E;IAC3E,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAI5C;IAEQ,OAAO,IAAI,IAAI,CAGvB;CACD;AAiBD,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAyHtD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAM7C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,MAAM,CAM3E;AAED,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMnE;AAMD,eAAO,MAAM,YAAY,IAAS,CAAC"}
1
+ {"version":3,"file":"ColorTransformBatcher.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/ColorTransformBatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EAGP,aAAa,EACb,QAAQ,EACR,MAAM,EAWN,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACX,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,MAAM,EAKN,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,UAAU,aAAa;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,WAAW,GAAG,oBAAoB,GAAG,aAAa,CAAC;AACxD,KAAK,WAAW,GAAG,oBAAoB,GAAG,aAAa,CAAC;AA6HxD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAW;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAmCD;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAsB,SAAQ,OAAO;IACjD,gBAAgB;IAChB,MAAM,CAAC,SAAS;iBACf,IAAI;iBACJ,IAAI,EAAE,qBAAqB;MACjB;IAEX,QAAQ,EAAE,QAAQ,CAAgC;IAClD,MAAM,EAAE,MAAM,CAAC;IACN,IAAI,wBAAwC;IAC5C,UAAU,SAAe;IAElC,YAAY,OAAO,EAAE,cAAc,EAGlC;IAED,cAAc,CACb,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GACf,IAAI,CAuBN;IAED,kBAAkB,CACjB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GACf,IAAI,CAuBN;IAED,2EAA2E;IAC3E,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAI5C;IAEQ,OAAO,IAAI,IAAI,CAGvB;CACD;AAiBD,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAyHtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAM7C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,MAAM,CAM3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMnE;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,IAAS,CAAC"}
@@ -125,6 +125,19 @@ function writeQuadCorner(float32View, uint32View, index, a, b, c, d, tx, ty, x,
125
125
  uint32View[index + 5] = textureIdAndRound;
126
126
  uint32View[index + 6] = colorAdd;
127
127
  }
128
+ /**
129
+ * The Pixi batcher extension `TintedSprite` (and everything built on it) renders through -
130
+ * see the module doc comment above for what it adds and why.
131
+ *
132
+ * @example
133
+ * ```ts
134
+ * import { ColorTransformBatcher } from '@datamoc/mw_games/two-d/render';
135
+ *
136
+ * // registered automatically by TintedSprite.ts; naming the class directly is only ever
137
+ * // needed to check which batcher an object ended up in, or in Pixi extension diagnostics
138
+ * console.log(ColorTransformBatcher.extension.name); // 'mwg-color-transform'
139
+ * ```
140
+ */
128
141
  export class ColorTransformBatcher extends Batcher {
129
142
  /** @internal */
130
143
  static { this.extension = {
@@ -298,6 +311,17 @@ let registered = false;
298
311
  * `GameOptions.extensions` itself. This stays exported, idempotent (`registered` guards a
299
312
  * second call from double-adding it), and public for the rare case of a game building its
300
313
  * own renderer setup outside `Game`.
314
+ *
315
+ * @example
316
+ * ```ts
317
+ * import { registerColorTransform } from '@datamoc/mw_games/two-d/render';
318
+ *
319
+ * // a game that assembles its own Pixi renderer extensions manually, instead of going
320
+ * // through `Game`/`GameOptions.extensions`, registers the batcher itself before creating
321
+ * // that renderer - importing `TintedSprite` (directly or transitively) already does this,
322
+ * // so most games never call it
323
+ * registerColorTransform();
324
+ * ```
301
325
  */
302
326
  export function registerColorTransform() {
303
327
  if (registered)
@@ -313,18 +337,50 @@ export function registerColorTransform() {
313
337
  * @param g green, 0 to 1
314
338
  * @param b blue, 0 to 1
315
339
  * @param a how much to add to the sprite's own alpha, 0 to 1; usually 0
340
+ *
341
+ * @example
342
+ * ```ts
343
+ * import { packColorAdd } from '@datamoc/mw_games/two-d/render';
344
+ * import { TintedSprite } from '@datamoc/mw_games/two-d/render';
345
+ *
346
+ * declare const rat: TintedSprite;
347
+ *
348
+ * rat.colorAdd = packColorAdd(0, 1, 0); // pull the sprite towards pure green
349
+ * ```
316
350
  */
317
351
  export function packColorAdd(r, g, b, a = 0) {
318
352
  //unorm8x4 reads the four bytes in memory order, and the view is little-endian, so the
319
353
  //red channel has to sit in the lowest byte
320
354
  return (((clamp255(a) << 24) | (clamp255(b) << 16) | (clamp255(g) << 8) | clamp255(r)) >>> 0);
321
355
  }
322
- /** the additive half of `lerp(texel, colour, strength)`; pair with a tint of `1 - strength` */
356
+ /** the additive half of `lerp(texel, colour, strength)`; pair with a tint of `1 - strength`
357
+ *
358
+ * @example
359
+ * ```ts
360
+ * import { packTintAdd, TintedSprite } from '@datamoc/mw_games/two-d/render';
361
+ *
362
+ * declare const rat: TintedSprite;
363
+ *
364
+ * rat.colorAdd = packTintAdd(0x00ff00, 0.5); // half-way to green, the additive half of lerpTint
365
+ * rat.tint = 0x808080; // pair with 1 - strength (here 0.5) for the multiply half
366
+ * ```
367
+ */
323
368
  export function packTintAdd(color, strength) {
324
369
  return packColorAdd((((color >> 16) & 0xff) / 255) * strength, (((color >> 8) & 0xff) / 255) * strength, ((color & 0xff) / 255) * strength);
325
370
  }
326
371
  function clamp255(value) {
327
372
  return Math.max(0, Math.min(255, Math.round(value * 255)));
328
373
  }
374
+ /** the packed value of no additive colour at all - what an untinted sprite carries.
375
+ *
376
+ * @example
377
+ * ```ts
378
+ * import { NO_COLOR_ADD, TintedSprite } from '@datamoc/mw_games/two-d/render';
379
+ *
380
+ * declare const rat: TintedSprite;
381
+ *
382
+ * console.log(rat.colorAdd === NO_COLOR_ADD); // true - fresh sprites start with no additive colour
383
+ * ```
384
+ */
329
385
  export const NO_COLOR_ADD = NO_ADD;
330
386
  //# sourceMappingURL=ColorTransformBatcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorTransformBatcher.js","sourceRoot":"","sources":["../../../src/two-d/render/ColorTransformBatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorTransformBatcher.js","sourceRoot":"","sources":["../../../src/two-d/render/ColorTransformBatcher.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,25 @@ import type { Texture2D } from './Types2D.ts';
8
8
  * another layer added on top, not a redrawn sprite for every gear combination a game might
9
9
  * have. `tools/make-example-assets.mjs` already draws its characters this way; this is the
10
10
  * runtime counterpart that keeps the layers together as one sprite that moves as a unit.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { LayeredSprite } from '@datamoc/mw_games/two-d/render';
15
+ * import type { Texture2D } from '@datamoc/mw_games/two-d/render';
16
+ *
17
+ * declare const skinTexture: Texture2D;
18
+ * declare const hairTexture: Texture2D;
19
+ * declare const swordTexture: Texture2D;
20
+ *
21
+ * const hero = new LayeredSprite();
22
+ * hero.addLayer('skin', skinTexture, 0);
23
+ * hero.addLayer('hair', hairTexture, 1);
24
+ * hero.addLayer('weapon', swordTexture, 2);
25
+ *
26
+ * hero.layer('hair')?.lerpTint(0x8b4513, 1); // dye it brown
27
+ * hero.setTexture('weapon', swordTexture); // equip a different sword later
28
+ * console.log(hero.hasLayer('weapon')); // true
29
+ * ```
11
30
  */
12
31
  export declare class LayeredSprite extends Container {
13
32
  private layers;
@@ -1 +1 @@
1
- {"version":3,"file":"LayeredSprite.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/LayeredSprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAO9C;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,SAAI,GAAG,YAAY,CAQlE;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAM9B;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE5C;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9B;IAED,4FAA4F;IAC5F,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CAGjD;IAED,OAAO,CAAC,MAAM;CAId"}
1
+ {"version":3,"file":"LayeredSprite.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/LayeredSprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAO9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,SAAI,GAAG,YAAY,CAQlE;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAM9B;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE5C;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9B;IAED,4FAA4F;IAC5F,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CAGjD;IAED,OAAO,CAAC,MAAM;CAId"}
@@ -7,6 +7,25 @@ import { TintedSprite } from './TintedSprite.js';
7
7
  * another layer added on top, not a redrawn sprite for every gear combination a game might
8
8
  * have. `tools/make-example-assets.mjs` already draws its characters this way; this is the
9
9
  * runtime counterpart that keeps the layers together as one sprite that moves as a unit.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { LayeredSprite } from '@datamoc/mw_games/two-d/render';
14
+ * import type { Texture2D } from '@datamoc/mw_games/two-d/render';
15
+ *
16
+ * declare const skinTexture: Texture2D;
17
+ * declare const hairTexture: Texture2D;
18
+ * declare const swordTexture: Texture2D;
19
+ *
20
+ * const hero = new LayeredSprite();
21
+ * hero.addLayer('skin', skinTexture, 0);
22
+ * hero.addLayer('hair', hairTexture, 1);
23
+ * hero.addLayer('weapon', swordTexture, 2);
24
+ *
25
+ * hero.layer('hair')?.lerpTint(0x8b4513, 1); // dye it brown
26
+ * hero.setTexture('weapon', swordTexture); // equip a different sword later
27
+ * console.log(hero.hasLayer('weapon')); // true
28
+ * ```
10
29
  */
11
30
  export class LayeredSprite extends Container {
12
31
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"LayeredSprite.js","sourceRoot":"","sources":["../../../src/two-d/render/LayeredSprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD;;;;;;;GAOG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAA5C;;QACS,WAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IA2C3C,CAAC;IAzCA;;;;OAIG;IACH,QAAQ,CAAC,IAAY,EAAE,OAAkB,EAAE,KAAK,GAAG,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,MAAM,CAAC;IACf,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,4FAA4F;IAC5F,UAAU,CAAC,IAAY,EAAE,OAAkB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK;YAAE,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3C,CAAC;IAEO,MAAM;QACb,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;CACD"}
1
+ {"version":3,"file":"LayeredSprite.js","sourceRoot":"","sources":["../../../src/two-d/render/LayeredSprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAA5C;;QACS,WAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IA2C3C,CAAC;IAzCA;;;;OAIG;IACH,QAAQ,CAAC,IAAY,EAAE,OAAkB,EAAE,KAAK,GAAG,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,MAAM,CAAC;IACf,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,4FAA4F;IAC5F,UAAU,CAAC,IAAY,EAAE,OAAkB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK;YAAE,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3C,CAAC;IAEO,MAAM;QACb,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;CACD"}
@@ -1,6 +1,17 @@
1
1
  import { Container } from 'pixi.js';
2
2
  /** the cell indices in `explored` not yet baked into a minimap's texture - pure, so it can
3
- * be tested without a renderer */
3
+ * be tested without a renderer
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { newlyRevealed } from '@datamoc/mw_games/two-d/render';
8
+ *
9
+ * const explored = new Set([4, 9, 12]);
10
+ * const alreadyDrawn = new Set([4]);
11
+ *
12
+ * console.log(newlyRevealed(explored, alreadyDrawn)); // [9, 12]
13
+ * ```
14
+ */
4
15
  export declare function newlyRevealed(explored: ReadonlySet<number>, alreadyDrawn: ReadonlySet<number>): number[];
5
16
  export interface MinimapOptions {
6
17
  /** the level's own width, in cells - needed to turn a cell index back into x/y */
@@ -25,6 +36,19 @@ export interface MinimapOptions {
25
36
  * whole map from scratch on every call, which is the one open engineering question this
26
37
  * item named: how an explored-cell set becomes a small texture without becoming a
27
38
  * per-frame cost that grows with how much of the level has been seen.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * import { Minimap } from '@datamoc/mw_games/two-d/render';
43
+ *
44
+ * const minimap = new Minimap({ widthInCells: 40, heightInCells: 24, cellSize: 2 });
45
+ *
46
+ * const explored = new Set([0, 1, 40]);
47
+ * minimap.sync(explored, (x, y) => ((x + y) % 2 === 0 ? 0x3a3a2a : 0x2f5a2f));
48
+ * minimap.setMarker(0, 0, Math.PI / 2); // the hero, facing down
49
+ *
50
+ * console.log(minimap.exploredCount); // 3
51
+ * ```
28
52
  */
29
53
  export declare class Minimap extends Container {
30
54
  private readonly widthInCells;
@@ -1 +1 @@
1
- {"version":3,"file":"Minimap.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/Minimap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmC,MAAM,SAAS,CAAC;AAGrE;kCACkC;AAClC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAMxG;AAED,MAAM,WAAW,cAAc;IAC9B,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IAEtB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,OAAQ,SAAQ,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,MAAM,CAAkB;IAEhC,YAAY,OAAO,EAAE,cAAc,EAalC;IAED,2FAA2F;IAC3F,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAgBpF;IAED,2FAA2F;IAC3F,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,IAAI,CAcvE;IAED,iGAAiG;IACjG,KAAK,IAAI,IAAI,CAGZ;IAEQ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAGpE;CACD"}
1
+ {"version":3,"file":"Minimap.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/Minimap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmC,MAAM,SAAS,CAAC;AAGrE;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAMxG;AAED,MAAM,WAAW,cAAc;IAC9B,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IAEtB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,OAAQ,SAAQ,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,MAAM,CAAkB;IAEhC,YAAY,OAAO,EAAE,cAAc,EAalC;IAED,2FAA2F;IAC3F,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAgBpF;IAED,2FAA2F;IAC3F,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,IAAI,CAcvE;IAED,iGAAiG;IACjG,KAAK,IAAI,IAAI,CAGZ;IAEQ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAGpE;CACD"}