melonjs 20.11.0 → 20.13.0

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 (208) hide show
  1. package/README.md +3 -1
  2. package/build/application/application.d.ts.map +1 -1
  3. package/build/application/settings.d.ts +6 -2
  4. package/build/application/settings.d.ts.map +1 -1
  5. package/build/audio/backend/sound.d.ts.map +1 -1
  6. package/build/audio/playback.d.ts.map +1 -1
  7. package/build/audio/spatial.d.ts +13 -2
  8. package/build/audio/spatial.d.ts.map +1 -1
  9. package/build/audio/types.d.ts +25 -3
  10. package/build/audio/types.d.ts.map +1 -1
  11. package/build/camera/camera2d.d.ts +2 -0
  12. package/build/camera/camera2d.d.ts.map +1 -1
  13. package/build/camera/camera3d.d.ts.map +1 -1
  14. package/build/camera/effects/fade_effect.d.ts.map +1 -1
  15. package/build/camera/effects/pixelate_transition_effect.d.ts +67 -0
  16. package/build/camera/effects/pixelate_transition_effect.d.ts.map +1 -0
  17. package/build/geometries/ellipse.d.ts +11 -4
  18. package/build/geometries/ellipse.d.ts.map +1 -1
  19. package/build/geometries/line.d.ts +2 -2
  20. package/build/geometries/line.d.ts.map +1 -1
  21. package/build/geometries/polygon.d.ts +5 -4
  22. package/build/geometries/polygon.d.ts.map +1 -1
  23. package/build/geometries/rectangle.d.ts +2 -2
  24. package/build/geometries/rectangle.d.ts.map +1 -1
  25. package/build/geometries/roundrect.d.ts +2 -2
  26. package/build/geometries/roundrect.d.ts.map +1 -1
  27. package/build/index.d.ts +14 -2
  28. package/build/index.d.ts.map +1 -1
  29. package/build/index.js +12716 -7233
  30. package/build/index.js.map +4 -4
  31. package/build/input/gamepad.d.ts.map +1 -1
  32. package/build/input/pointerevent.d.ts.map +1 -1
  33. package/build/lang/console.d.ts +16 -1
  34. package/build/lang/console.d.ts.map +1 -1
  35. package/build/level/tiled/TMXLayer.d.ts +48 -14
  36. package/build/level/tiled/TMXLayer.d.ts.map +1 -1
  37. package/build/level/tiled/TMXTileMap.d.ts +1 -1
  38. package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
  39. package/build/level/tiled/TMXTileset.d.ts.map +1 -1
  40. package/build/level/tiled/TMXUtils.d.ts.map +1 -1
  41. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -1
  42. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -1
  43. package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts.map +1 -1
  44. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -1
  45. package/build/level/tiled/renderer/TMXRenderer.d.ts +1 -1
  46. package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -1
  47. package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -1
  48. package/build/loader/loader.d.ts +55 -11
  49. package/build/loader/loader.d.ts.map +1 -1
  50. package/build/loader/loadingscreen.d.ts.map +1 -1
  51. package/build/math/color.d.ts.map +1 -1
  52. package/build/math/math.d.ts +6 -1
  53. package/build/math/math.d.ts.map +1 -1
  54. package/build/math/matrix2d.d.ts +3 -2
  55. package/build/math/matrix2d.d.ts.map +1 -1
  56. package/build/math/matrix3d.d.ts +4 -1
  57. package/build/math/matrix3d.d.ts.map +1 -1
  58. package/build/math/observableVector2d.d.ts +6 -6
  59. package/build/math/observableVector2d.d.ts.map +1 -1
  60. package/build/math/observableVector3d.d.ts +8 -8
  61. package/build/math/observableVector3d.d.ts.map +1 -1
  62. package/build/particles/emitter.d.ts +15 -3
  63. package/build/particles/emitter.d.ts.map +1 -1
  64. package/build/particles/particle.d.ts +6 -0
  65. package/build/particles/particle.d.ts.map +1 -1
  66. package/build/particles/settings.d.ts +22 -5
  67. package/build/particles/settings.d.ts.map +1 -1
  68. package/build/physics/bounds.d.ts +5 -5
  69. package/build/physics/bounds.d.ts.map +1 -1
  70. package/build/physics/builtin/body.d.ts +15 -4
  71. package/build/physics/builtin/body.d.ts.map +1 -1
  72. package/build/physics/builtin/builtin-adapter.d.ts.map +1 -1
  73. package/build/physics/builtin/detector.d.ts.map +1 -1
  74. package/build/physics/builtin/raycast.d.ts.map +1 -1
  75. package/build/physics/world.d.ts.map +1 -1
  76. package/build/renderable/animation.d.ts +6 -1
  77. package/build/renderable/animation.d.ts.map +1 -1
  78. package/build/renderable/container.d.ts +40 -6
  79. package/build/renderable/container.d.ts.map +1 -1
  80. package/build/renderable/entity/entity.d.ts.map +1 -1
  81. package/build/renderable/frameAnimation.d.ts.map +1 -1
  82. package/build/renderable/imagelayer.d.ts.map +1 -1
  83. package/build/renderable/instanced_mesh.d.ts.map +1 -1
  84. package/build/renderable/mesh.d.ts.map +1 -1
  85. package/build/renderable/renderable.d.ts.map +1 -1
  86. package/build/renderable/sprite.d.ts +8 -2
  87. package/build/renderable/sprite.d.ts.map +1 -1
  88. package/build/renderable/text/bitmaptext.d.ts +12 -3
  89. package/build/renderable/text/bitmaptext.d.ts.map +1 -1
  90. package/build/renderable/text/text.d.ts +147 -4
  91. package/build/renderable/text/text.d.ts.map +1 -1
  92. package/build/renderable/text/textmetrics.d.ts +10 -2
  93. package/build/renderable/text/textmetrics.d.ts.map +1 -1
  94. package/build/renderable/text/textstyle.d.ts.map +1 -1
  95. package/build/renderable/trail3d.d.ts.map +1 -1
  96. package/build/renderable/ui/panelpaint.d.ts +5 -1
  97. package/build/renderable/ui/panelpaint.d.ts.map +1 -1
  98. package/build/renderable/ui/progressbar.d.ts +267 -95
  99. package/build/renderable/ui/progressbar.d.ts.map +1 -1
  100. package/build/renderable/ui/uibaseelement.d.ts +436 -50
  101. package/build/renderable/ui/uibaseelement.d.ts.map +1 -1
  102. package/build/renderable/ui/uicheckbox.d.ts +383 -0
  103. package/build/renderable/ui/uicheckbox.d.ts.map +1 -0
  104. package/build/renderable/ui/uifocus.d.ts +6 -0
  105. package/build/renderable/ui/uifocus.d.ts.map +1 -0
  106. package/build/renderable/ui/uilabel.d.ts +31 -0
  107. package/build/renderable/ui/uilabel.d.ts.map +1 -0
  108. package/build/renderable/ui/uipanel.d.ts +589 -116
  109. package/build/renderable/ui/uipanel.d.ts.map +1 -1
  110. package/build/renderable/ui/uiskin.d.ts +25 -0
  111. package/build/renderable/ui/uiskin.d.ts.map +1 -0
  112. package/build/renderable/ui/uislider.d.ts +518 -0
  113. package/build/renderable/ui/uislider.d.ts.map +1 -0
  114. package/build/renderable/ui/uispriteelement.d.ts +161 -85
  115. package/build/renderable/ui/uispriteelement.d.ts.map +1 -1
  116. package/build/renderable/ui/uitextbutton.d.ts +369 -63
  117. package/build/renderable/ui/uitextbutton.d.ts.map +1 -1
  118. package/build/state/stage.d.ts +3 -2
  119. package/build/state/stage.d.ts.map +1 -1
  120. package/build/state/state.d.ts +31 -6
  121. package/build/state/state.d.ts.map +1 -1
  122. package/build/system/legacy_pool.d.ts.map +1 -1
  123. package/build/system/pool.d.ts.map +1 -1
  124. package/build/system/save.d.ts +2 -1
  125. package/build/system/save.d.ts.map +1 -1
  126. package/build/tweens/tween.d.ts +5 -2
  127. package/build/tweens/tween.d.ts.map +1 -1
  128. package/build/utils/fetchdata.d.ts.map +1 -1
  129. package/build/video/canvas/canvas_renderer.d.ts +1 -5
  130. package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
  131. package/build/video/effects/bloom.d.ts +3 -2
  132. package/build/video/effects/bloom.d.ts.map +1 -1
  133. package/build/video/effects/blur.d.ts +1 -1
  134. package/build/video/effects/chromaticAberration.d.ts +1 -1
  135. package/build/video/effects/dissolve.d.ts.map +1 -1
  136. package/build/video/effects/dropShadow.d.ts +1 -1
  137. package/build/video/effects/glow.d.ts +1 -1
  138. package/build/video/effects/glsl_realization.d.ts.map +1 -1
  139. package/build/video/effects/hologram.d.ts.map +1 -1
  140. package/build/video/effects/local_space.d.ts +19 -0
  141. package/build/video/effects/local_space.d.ts.map +1 -0
  142. package/build/video/effects/mesh_splice.d.ts.map +1 -1
  143. package/build/video/effects/outline.d.ts +1 -1
  144. package/build/video/effects/pixelate.d.ts +1 -1
  145. package/build/video/effects/radialGradient.d.ts +4 -12
  146. package/build/video/effects/radialGradient.d.ts.map +1 -1
  147. package/build/video/effects/scanline.d.ts.map +1 -1
  148. package/build/video/effects/shadereffect.d.ts.map +1 -1
  149. package/build/video/effects/shine.d.ts +5 -0
  150. package/build/video/effects/shine.d.ts.map +1 -1
  151. package/build/video/effects/sway.d.ts +9 -4
  152. package/build/video/effects/sway.d.ts.map +1 -1
  153. package/build/video/effects/vignette.d.ts.map +1 -1
  154. package/build/video/effects/wave.d.ts +9 -7
  155. package/build/video/effects/wave.d.ts.map +1 -1
  156. package/build/video/effects/wgsl/parse.d.ts.map +1 -1
  157. package/build/video/effects/wgsl/scaffold.d.ts.map +1 -1
  158. package/build/video/effects/wgsl_realization.d.ts.map +1 -1
  159. package/build/video/renderer.d.ts +22 -5
  160. package/build/video/renderer.d.ts.map +1 -1
  161. package/build/video/renderstate.d.ts +26 -3
  162. package/build/video/renderstate.d.ts.map +1 -1
  163. package/build/video/rendertarget/webgpurendertarget.d.ts +1 -0
  164. package/build/video/rendertarget/webgpurendertarget.d.ts.map +1 -1
  165. package/build/video/texture/atlas.d.ts +31 -31
  166. package/build/video/texture/atlas.d.ts.map +1 -1
  167. package/build/video/utils/pixel_snap.d.ts +44 -0
  168. package/build/video/utils/pixel_snap.d.ts.map +1 -0
  169. package/build/video/utils/tessellation.d.ts +11 -0
  170. package/build/video/utils/tessellation.d.ts.map +1 -1
  171. package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
  172. package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
  173. package/build/video/webgl/batchers/quad_batcher.d.ts +2 -1
  174. package/build/video/webgl/batchers/quad_batcher.d.ts.map +1 -1
  175. package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
  176. package/build/video/webgl/webgl_renderer.d.ts +3 -6
  177. package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
  178. package/build/video/webgpu/batchers/mesh_batcher.d.ts +0 -1
  179. package/build/video/webgpu/batchers/mesh_batcher.d.ts.map +1 -1
  180. package/build/video/webgpu/batchers/primitive_batcher.d.ts.map +1 -1
  181. package/build/video/webgpu/batchers/quad_batcher.d.ts.map +1 -1
  182. package/build/video/webgpu/effect_binding.d.ts.map +1 -1
  183. package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
  184. package/build/video/webgpu/webgpu_renderer.d.ts +6 -10
  185. package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
  186. package/package.json +1 -1
  187. package/skills/AGENTS.md +2 -1
  188. package/skills/melonjs/SKILL.md +3 -2
  189. package/skills/melonjs-audio/SKILL.md +31 -8
  190. package/skills/melonjs-camera-and-drawing/SKILL.md +41 -1
  191. package/skills/melonjs-display-and-scaling/SKILL.md +19 -5
  192. package/skills/melonjs-effects-and-shaders/SKILL.md +53 -17
  193. package/skills/melonjs-events/SKILL.md +3 -1
  194. package/skills/melonjs-getting-started/SKILL.md +1 -2
  195. package/skills/melonjs-input/SKILL.md +61 -3
  196. package/skills/melonjs-lighting/SKILL.md +4 -3
  197. package/skills/melonjs-loading-assets/SKILL.md +57 -15
  198. package/skills/melonjs-math/SKILL.md +14 -3
  199. package/skills/melonjs-particles-and-trails/SKILL.md +72 -8
  200. package/skills/melonjs-performance/SKILL.md +3 -0
  201. package/skills/melonjs-physics/SKILL.md +53 -4
  202. package/skills/melonjs-plugins/SKILL.md +25 -1
  203. package/skills/melonjs-renderables/SKILL.md +11 -3
  204. package/skills/melonjs-renderer-backends/SKILL.md +2 -2
  205. package/skills/melonjs-scenes-and-state/SKILL.md +32 -2
  206. package/skills/melonjs-sprites-and-animation/SKILL.md +14 -0
  207. package/skills/melonjs-tilemaps/SKILL.md +96 -2
  208. package/skills/melonjs-ui-and-text/SKILL.md +560 -23
@@ -1 +1 @@
1
- {"version":3,"file":"renderable.d.ts","sourceRoot":"","sources":["../../src/renderable/renderable.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderable.d.ts","sourceRoot":"","sources":["../../src/renderable/renderable.js"],"names":[],"mappings":"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"}
@@ -244,13 +244,15 @@ export default class Sprite extends Renderable {
244
244
  /**
245
245
  * make the object flicker
246
246
  * @param {number} duration - expressed in milliseconds
247
- * @param {Function} [callback] - Function to call when flickering ends
247
+ * @param {Function} [callback] - Function to call when flickering ends,
248
+ * with `this` set to the sprite. The flicker has already stopped when it
249
+ * runs, so the callback can start another one.
248
250
  * @returns {Sprite} Reference to this object for method chaining
249
251
  * @example
250
252
  * // make the object flicker for 1 second
251
253
  * // and then remove it
252
254
  * this.flicker(1000, function () {
253
- * world.removeChild(this);
255
+ * this.ancestor.removeChild(this);
254
256
  * });
255
257
  */
256
258
  flicker(duration: number, callback?: Function): Sprite;
@@ -288,6 +290,10 @@ export default class Sprite extends Renderable {
288
290
  /**
289
291
  * set the current animation, and reset the frame to zero. Selecting the
290
292
  * animation that is already current is a no-op unless it had completed.
293
+ * A one-frame animation played once (`loop: false`, `next`, or a callback
294
+ * returning `false`) completes after its frame delay, like any other; a
295
+ * looping one-frame animation does not step and never fires its per-cycle
296
+ * `onComplete`.
291
297
  * @param {string} name - animation id
292
298
  * @param {string|Function|object} [resetAnim] - animation id to switch to when complete, a callback, or an options object (`{ loop, next, speed, onComplete, onFrame }`)
293
299
  * @param {boolean} [preserve_dt=false] - if false will reset the elapsed time counter since last frame
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../src/renderable/sprite.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../src/renderable/sprite.js"],"names":[],"mappings":"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"}
@@ -77,6 +77,8 @@ export default class BitmapText extends Renderable {
77
77
  /**
78
78
  * Set the text baseline (e.g. the Y-coordinate for the draw operation), <br>
79
79
  * possible values are "top", "hanging", "middle", "alphabetic", "ideographic", "bottom"<br>
80
+ * A multi-line text is placed as one block: its top, middle or bottom is at
81
+ * `pos.y` ("alphabetic" and "ideographic" place it like "bottom").
80
82
  * @public
81
83
  * @type {string}
82
84
  * @default "top"
@@ -93,6 +95,8 @@ export default class BitmapText extends Renderable {
93
95
  /**
94
96
  * the maximum length in CSS pixel for a single segment of text.
95
97
  * (use -1 to disable word wrapping)
98
+ * Each `\n`-separated line is wrapped on its own, so explicit line breaks
99
+ * are kept; a word wider than this gets a line of its own.
96
100
  * @public
97
101
  * @type {number}
98
102
  * @default -1
@@ -246,15 +250,20 @@ export default class BitmapText extends Renderable {
246
250
  */
247
251
  resize(scale: number): this;
248
252
  /**
249
- * measure the given text size in pixels
250
- * @param {string} [text]
253
+ * measure the given text size in pixels.
254
+ *
255
+ * With no argument it measures the label's own text and returns the
256
+ * label's own metrics. Given another text, it measures it in this label's
257
+ * font and scale and returns a new TextMetrics for it, leaving the label's
258
+ * own metrics, bounds and drawing as they were.
259
+ * @param {string|string[]} [text] - the text to be measured, the label's own by default
251
260
  * @returns {TextMetrics} a TextMetrics object with two properties: `width` and `height`, defining the output dimensions
252
261
  * @example
253
262
  * // size a panel around a label, at the label's CURRENT scale
254
263
  * const size = label.measureText();
255
264
  * panel.resize(size.width + 16, size.height + 16);
256
265
  */
257
- measureText(text?: string): TextMetrics;
266
+ measureText(text?: string | string[]): TextMetrics;
258
267
  /**
259
268
  * draw the bitmap font
260
269
  * @param {Renderer} renderer - Reference to the destination renderer instance
@@ -1 +1 @@
1
- {"version":3,"file":"bitmaptext.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/bitmaptext.js"],"names":[],"mappings":"AAQA;;;;;;;;GAQG;AACH;;;;;;;;;GASG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,eA/BW,MAAM,KACN,MAAM,YAEd;QAA+B,IAAI,EAA3B,MAAM,8DAAM;QACM,QAAQ;QACR,IAAI;QACE,SAAS;QACf,SAAS;QACT,YAAY;QACZ,UAAU;QACmB,WAAW;eAAvC,MAAM;eAAG,MAAM;;QAChB,aAAa;QACH,WAAW;QACV,IAAI;KACzC,EAiJF;IA5HA;;;;;;OAMG;IACH,kBAHU,MAAM,CAG6B;IAE7C;;;;;;OAMG;IACH,qBAHU,MAAM,CAGkC;IAElD;;;;;;OAMG;IACH,mBAHU,MAAM,CAG4B;IAE5C;;;;;;OAMG;IACH,sBAHU,MAAM,CAGiC;IAEjD;;;;;OAKG;IACH,cAAe;IAEf;;;OAGG;IACH,kBAA2C;IAE3C;;;OAGG;IACH,kBAG2B;IAG1B;;;OAGG;IAEH,iBAAgE;IAsUlE,4BAlBU,KAAK,EAyBd;IAjCD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,wBAfU,KAAK,CAiBd;IAtSA;;;OAGG;IACH,2BAA4B;IAG5B,qBAAoC;IAOpC,wCAAwC;IACxC,qBAAwB;IACxB,eAAe;IACf,yBAAyB;IACzB;;;;OAIG;IACH,0BAAkC;IA8GnC,wBAjCU,WAAW,GAAC,IAAI,EAoDzB;IA5ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,mBA7BU,WAAW,GAAC,IAAI,CA+BzB;IArGD;;;;;OAKG;IACH,eAJW,MAAM,UACN,MAAM,GACJ,UAAU,CAWtB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,GACpB,UAAU,CAwBtB;IAgFD,kBAAkB;IAClB,yBAMC;IAoBD,oCAdU,MAAM,EAmBf;IAvBD;;;;;;;;;;;;;OAaG;IACH,gCAVU,MAAM,CAYf;IAyBD,+BAZU,MAAM,EAsBf;IA1BD;;;;;OAKG;IACH,2BAFU,MAAM,CAUf;IAsGD;;;;;;;;;;OAUG;IACH,cATW,MAAM,GAEJ,IAAI,CAiBhB;IAED;;;;;;;;OAQG;IACH,mBAPW,MAAM,GACJ,WAAW,CAQvB;IAED;;;OAGG;IACH,eAFW,QAAQ,QA6GlB;IAED;;;;;;;;;;OAUG;IACH,yBA0CC;IAED;;;;OAIG;IACH,gBAUC;CACD;uBAxqBsB,kBAAkB;sBAHnB,qBAAqB;wBAKnB,kBAAkB;iCAS2B,kBAAkB;0BAD9D,yBAAyB;8BAHvB,wBAAwB"}
1
+ {"version":3,"file":"bitmaptext.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/bitmaptext.js"],"names":[],"mappings":"AAQA;;;;;;;;GAQG;AACH;;;;;;;;;GASG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,eA/BW,MAAM,KACN,MAAM,YAEd;QAA+B,IAAI,EAA3B,MAAM,8DAAM;QACM,QAAQ;QACR,IAAI;QACE,SAAS;QACf,SAAS;QACT,YAAY;QACZ,UAAU;QACmB,WAAW;eAAvC,MAAM;eAAG,MAAM;;QAChB,aAAa;QACH,WAAW;QACV,IAAI;KACzC,EAqJF;IAhIA;;;;;;OAMG;IACH,kBAHU,MAAM,CAG6B;IAE7C;;;;;;;;OAQG;IACH,qBAHU,MAAM,CAGkC;IAElD;;;;;;OAMG;IACH,mBAHU,MAAM,CAG4B;IAE5C;;;;;;;;OAQG;IACH,sBAHU,MAAM,CAGiC;IAEjD;;;;;OAKG;IACH,cAAe;IAEf;;;OAGG;IACH,kBAA2C;IAE3C;;;OAGG;IACH,kBAG2B;IAG1B;;;OAGG;IAEH,iBAAgE;IAsUlE,4BAlBU,KAAK,EAyBd;IAjCD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,wBAfU,KAAK,CAiBd;IAtSA;;;OAGG;IACH,2BAA4B;IAG5B,qBAAoC;IAOpC,wCAAwC;IACxC,qBAAwB;IACxB,eAAe;IACf,yBAAyB;IACzB;;;;OAIG;IACH,0BAAkC;IA8GnC,wBAjCU,WAAW,GAAC,IAAI,EAoDzB;IA5ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,mBA7BU,WAAW,GAAC,IAAI,CA+BzB;IArGD;;;;;OAKG;IACH,eAJW,MAAM,UACN,MAAM,GACJ,UAAU,CAWtB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,GACpB,UAAU,CAwBtB;IAgFD,kBAAkB;IAClB,yBAMC;IAoBD,oCAdU,MAAM,EAmBf;IAvBD;;;;;;;;;;;;;OAaG;IACH,gCAVU,MAAM,CAYf;IAyBD,+BAZU,MAAM,EAsBf;IA1BD;;;;;OAKG;IACH,2BAFU,MAAM,CAUf;IAsGD;;;;;;;;;;OAUG;IACH,cATW,MAAM,GAEJ,IAAI,CAiBhB;IAED;;;;;;;;;;;;;OAaG;IACH,mBAPW,MAAM,GAAC,MAAM,EAAE,GACb,WAAW,CAavB;IAED;;;OAGG;IACH,eAFW,QAAQ,QA6GlB;IAED;;;;;;;;;;OAUG;IACH,yBA0CC;IAED;;;;OAIG;IACH,gBAUC;CACD;uBAtrBsB,kBAAkB;sBAHnB,qBAAqB;wBAKK,kBAAkB;iCASG,kBAAkB;0BAD9D,yBAAyB;8BAHvB,wBAAwB"}
@@ -2,7 +2,9 @@
2
2
  * a Text object: draws a string using a system or web font.
3
3
  *
4
4
  * The text is rasterised to a cached texture, so it draws as fast as a sprite
5
- * while staying fully styleable — `fillStyle`, `strokeStyle` + `lineWidth`, and
5
+ * while staying fully styleable — `fillStyle`, `strokeStyle` + `lineWidth`
6
+ * (with the outline behind or over the glyphs by `paintOrder`, and its corners
7
+ * set by `lineJoin` / `miterLimit`), and
6
8
  * per-object opacity — with multi-line text (embedded `\n`), optional
7
9
  * `wordWrapWidth` word-wrapping, and chainable {@link Text#bold} /
8
10
  * {@link Text#italic}. `font` accepts any CSS family, including the generic
@@ -24,6 +26,9 @@ export default class Text extends Renderable {
24
26
  * @param {boolean} [settings.gradientPerLine=true] - restart a gradient fill on every line; `false` spans one ramp across the whole block, as a plain canvas does
25
27
  * @param {Color|string} [settings.strokeStyle="#000000"] - a CSS color value used for the glyph outline (drawn when `lineWidth` > 0)
26
28
  * @param {number} [settings.lineWidth=0] - outline width in pixels (0 = no stroke)
29
+ * @param {"round"|"bevel"|"miter"} [settings.lineJoin="round"] - the shape of the outline's corners: "round", "bevel" or "miter" (pointed, as a plain canvas draws them)
30
+ * @param {number} [settings.miterLimit=10] - with a "miter" join, how far a corner may point, in half line widths, before it is cut flat
31
+ * @param {"stroke"|"fill"} [settings.paintOrder="stroke"] - what is painted first: "stroke" puts the outline behind the glyphs, so it shows only around them; "fill" puts it over them, where its inner half covers the glyph
27
32
  * @param {string} [settings.textAlign="left"] - horizontal text alignment ("left", "center", "right")
28
33
  * @param {string} [settings.textBaseline="top"] - the text baseline ("top", "hanging", "middle", "alphabetic", "ideographic", "bottom")
29
34
  * @param {number} [settings.lineHeight=1.0] - line spacing height
@@ -66,6 +71,52 @@ export default class Text extends Renderable {
66
71
  * // gradientPerLine: false, // ...or span ONE ramp across both lines
67
72
  * }));
68
73
  * @example
74
+ * // outlined text and its corners: the outline is centred on the glyph
75
+ * // edge and drawn behind it (see `paintOrder`), and its corners are set
76
+ * // by `lineJoin`
77
+ * const outline = {
78
+ * font: "sans-serif",
79
+ * size: 48,
80
+ * fillStyle: "#ffffff",
81
+ * strokeStyle: "#1d3557",
82
+ * lineWidth: 6,
83
+ * };
84
+ *
85
+ * // "round" (the default): the outline is the same width all around
86
+ * app.world.addChild(new Text(10, 10, { ...outline, text: "ROUND" }));
87
+ *
88
+ * // "bevel": corners cut flat
89
+ * app.world.addChild(new Text(10, 70, { ...outline, lineJoin: "bevel", text: "BEVEL" }));
90
+ *
91
+ * // "miter": pointed corners, as a plain canvas strokes text. At the
92
+ * // canvas's default limit of 10 a sharp glyph ("A", "V", "M") grows a
93
+ * // long spike...
94
+ * app.world.addChild(new Text(10, 130, { ...outline, lineJoin: "miter", text: "MITER" }));
95
+ *
96
+ * // ...which `miterLimit` caps: a corner that would point further than
97
+ * // this many half line widths is cut flat instead
98
+ * app.world.addChild(new Text(10, 190, { ...outline, lineJoin: "miter", miterLimit: 3, text: "MITER 3" }));
99
+ *
100
+ * // whichever is set, the whole outline is drawn: the label's texture
101
+ * // grows to hold it, while its position and bounds stay the same
102
+ * @example
103
+ * // the outline behind the glyphs, or over them, with `paintOrder`
104
+ * const label = {
105
+ * font: "sans-serif",
106
+ * size: 48,
107
+ * fillStyle: "#ffd23f",
108
+ * strokeStyle: "#1b1b1b",
109
+ * lineWidth: 6,
110
+ * };
111
+ *
112
+ * // "stroke" (the default): the outline is painted first, behind the
113
+ * // glyphs, so they stay whole and it shows only around them
114
+ * app.world.addChild(new Text(10, 10, { ...label, text: "BEHIND" }));
115
+ *
116
+ * // "fill": the glyphs first and the outline over them, centred on their
117
+ * // edge, so its inner half covers them: a thick one hides them
118
+ * app.world.addChild(new Text(10, 70, { ...label, paintOrder: "fill", text: "OVER" }));
119
+ * @example
69
120
  * // a web font (loaded via the fontface loader) is used by its family name
70
121
  * loader.preload(
71
122
  * [{ name: "kenpixel", type: "fontface", src: "data/font/kenvector.woff2" }],
@@ -83,6 +134,9 @@ export default class Text extends Renderable {
83
134
  gradientPerLine?: boolean | undefined;
84
135
  strokeStyle?: string | Color | undefined;
85
136
  lineWidth?: number | undefined;
137
+ lineJoin?: "round" | "bevel" | "miter" | undefined;
138
+ miterLimit?: number | undefined;
139
+ paintOrder?: "fill" | "stroke" | undefined;
86
140
  textAlign?: string | undefined;
87
141
  textBaseline?: string | undefined;
88
142
  lineHeight?: number | undefined;
@@ -113,6 +167,86 @@ export default class Text extends Renderable {
113
167
  * @default 0
114
168
  */
115
169
  lineWidth: number;
170
+ /**
171
+ * The shape of the outline's corners, where the stroke turns on a
172
+ * glyph: "round", "bevel" (cut flat) or "miter" (pointed). The
173
+ * canvas's own default is "miter", which on a thick outline grows
174
+ * long spikes from sharp glyphs such as "A", "V" or "M"; "round"
175
+ * keeps the outline the same width all around, as most game text
176
+ * outlines are.
177
+ *
178
+ * The text is baked with room for whichever is set, so no corner is
179
+ * cut: "miter" takes more, up to {@link Text#miterLimit} half line
180
+ * widths around the text.
181
+ *
182
+ * Like the other style properties, a change shows from the next
183
+ * {@link Text#setText}.
184
+ * @type {"round"|"bevel"|"miter"}
185
+ * @default "round"
186
+ * @example
187
+ * // sharp, pointed corners, as a plain canvas strokes them
188
+ * const title = new Text(0, 0, {
189
+ * font: "sans-serif",
190
+ * size: 48,
191
+ * fillStyle: "#ffffff",
192
+ * strokeStyle: "#000000",
193
+ * lineWidth: 6,
194
+ * lineJoin: "miter",
195
+ * miterLimit: 3, // and no spike past 3 half widths
196
+ * text: "VICTORY",
197
+ * });
198
+ */
199
+ lineJoin: "round" | "bevel" | "miter";
200
+ /**
201
+ * With a "miter" {@link Text#lineJoin}: how far a corner of the
202
+ * outline may point, in half line widths, before it is cut flat
203
+ * instead. The canvas's default, 10, lets sharp glyphs grow long
204
+ * spikes; 2 to 4 keeps most corners pointed and the spikes short.
205
+ * Has no effect with "round" or "bevel" joins. A value the canvas
206
+ * would refuse (zero, negative, infinite or NaN) draws with 10.
207
+ *
208
+ * Like the other style properties, a change shows from the next
209
+ * {@link Text#setText}.
210
+ * @type {number}
211
+ * @default 10
212
+ * @example
213
+ * // pointed corners with short spikes
214
+ * label.lineJoin = "miter";
215
+ * label.miterLimit = 2;
216
+ * label.setText("VICTORY"); // re-bakes with the new corners
217
+ */
218
+ miterLimit: number;
219
+ /**
220
+ * What is painted first, the outline ("stroke") or the glyphs
221
+ * ("fill"), as the CSS and SVG `paint-order` property says it.
222
+ *
223
+ * The outline is centred on the glyph's edge, so half of it lies
224
+ * inside the glyph. With "stroke", the default, the outline is
225
+ * painted first and the glyphs over it: they stay whole, and the
226
+ * outline shows only around them, at half its `lineWidth`. With
227
+ * "fill", the glyphs are painted first and the outline over them,
228
+ * as a plain canvas does with `fillText` then `strokeText`: its inner
229
+ * half covers the glyph, so a thick outline, or a thin face, hides
230
+ * the letters.
231
+ *
232
+ * Either way the outline reaches as far out, and the label's size and
233
+ * bounds are the same. Like the other style properties, a change
234
+ * shows from the next {@link Text#setText}.
235
+ * @type {"stroke"|"fill"}
236
+ * @default "stroke"
237
+ * @example
238
+ * // the outline over the glyphs, as melonJS drew it before 20.13
239
+ * const label = new Text(0, 0, {
240
+ * font: "sans-serif",
241
+ * size: 32,
242
+ * fillStyle: "#ffffff",
243
+ * strokeStyle: "#000000",
244
+ * lineWidth: 2,
245
+ * paintOrder: "fill",
246
+ * text: "SCORE",
247
+ * });
248
+ */
249
+ paintOrder: "stroke" | "fill";
116
250
  /**
117
251
  * Set the default text alignment (or justification),<br>
118
252
  * possible values are "left", "right", and "center".<br>
@@ -123,6 +257,8 @@ export default class Text extends Renderable {
123
257
  /**
124
258
  * Set the text baseline (e.g. the Y-coordinate for the draw operation), <br>
125
259
  * possible values are "top", "hanging", "middle", "alphabetic", "ideographic", "bottom"<br>
260
+ * A multi-line text is placed as one block: its top, middle or bottom is at
261
+ * `pos.y` ("alphabetic" and "ideographic" place it like "bottom").
126
262
  * @type {string}
127
263
  * @default "top"
128
264
  */
@@ -137,6 +273,8 @@ export default class Text extends Renderable {
137
273
  /**
138
274
  * the maximum length in CSS pixel for a single segment of text.
139
275
  * (use -1 to disable word wrapping)
276
+ * Each `\n`-separated line is wrapped on its own, so explicit line breaks
277
+ * are kept; a word wider than this gets a line of its own.
140
278
  * @type {number}
141
279
  * @default -1
142
280
  */
@@ -242,8 +380,13 @@ export default class Text extends Renderable {
242
380
  */
243
381
  public get visibleRatio(): number;
244
382
  /**
245
- * measure the given text size in pixels
246
- * @param {string} [text] - the text to be measured
383
+ * measure the given text size in pixels.
384
+ *
385
+ * With no argument it measures the label's own text and returns the
386
+ * label's own metrics. Given another text, it measures it in this label's
387
+ * style and returns a new TextMetrics for it, leaving the label's own
388
+ * metrics, bounds and drawing as they were.
389
+ * @param {string|string[]} [text] - the text to be measured, the label's own by default
247
390
  * @returns {TextMetrics} a TextMetrics object defining the dimensions of the given piece of text
248
391
  * @example
249
392
  * // size a panel around a label
@@ -254,7 +397,7 @@ export default class Text extends Renderable {
254
397
  * // room for the widest state a counter will reach
255
398
  * const widest = label.measureText("00:00").width;
256
399
  */
257
- measureText(text?: string): TextMetrics;
400
+ measureText(text?: string | string[]): TextMetrics;
258
401
  /**
259
402
  * draw a text at the specified coord
260
403
  * @param {Renderer} renderer - Reference to the destination renderer instance
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/text.js"],"names":[],"mappings":"AAiDA;;;;;;;;;;;;;;GAcG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH,eA7DW,MAAM,KACN,MAAM,YAEd;QAAyB,IAAI,EAArB,MAAM;QACkB,IAAI,EAA5B,MAAM,GAAC,MAAM;QACoB,SAAS;QACvB,eAAe;QACV,WAAW;QACjB,SAAS;QACT,SAAS;QACT,YAAY;QACZ,UAAU;QACmB,WAAW;eAAvC,MAAM;eAAG,MAAM;;QAChB,aAAa;QACZ,IAAI;QACJ,MAAM;QACI,IAAI;KACzC,EAsHF;IAtEA;;;;OAIG;IACH,WAHU,KAAK,CAGwB;IAEvC;;;;OAIG;IACH,aAHU,KAAK,CAG0B;IAEzC;;;;OAIG;IACH,WAHU,MAAM,CAGE;IAElB;;;;;OAKG;IACH,WAHU,MAAM,CAGO;IAEvB;;;;;OAKG;IACH,cAHU,MAAM,CAGS;IAEzB;;;;;OAKG;IACH,YAHU,MAAM,CAGK;IAErB;;;;;OAKG;IACH,eAHU,MAAM,CAGO;IAEvB;;;;OAIG;IACH,UAHU,MAAM,CAGE;IAElB;;;;;OAKG;IACH,cAAe;IAMhB;;;OAGG;IACH,kDA8KC;IAjJA;;;;;;;;;;;;;;;;OAgBG;IACH,cARU,QAAQ,GAAC,SAAS,CAQC;IAE7B;;;;;;;;;;;;;;OAcG;IACH,qCAA2B;IA4F1B,8CAEE;IAGH;;;OAGG;IACH,wBAA4B;IAK3B,iCAAoC;IAOtC;;;OAGG;IACH,QAFa,IAAI,CAWhB;IAJC,UAA+B;IAMjC;;;OAGG;IACH,UAFa,IAAI,CAWhB;IAED;;;;;;;;OAQG;IACH,cAPW,MAAM,SACN,MAAM,GAAC,MAAM,GACX,IAAI,CAwChB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,GACpB,IAAI,CAuFhB;IAkBD,oCAZU,MAAM,EAiBf;IArBD;;;;;;;;;;;OAWG;IACH,gCARU,MAAM,CAUf;IAkCD,+BAlBU,MAAM,EA4Bf;IAnCD;;;;;;;;;;;;;;OAcG;IACH,2BARU,MAAM,CAgBf;IAiED;;;;;;;;;;;;OAYG;IACH,mBAXW,MAAM,GACJ,WAAW,CAYvB;IAED;;;OAGG;IACH,eAFW,QAAQ,QA0ClB;IAED;;;OAGG;IACH,4EA+GC;IAED;;;;OAIG;IACH,gBAWC;CACD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wGAQG;uBA92B8C,kBAAkB;sBANlC,qBAAqB;yBAE7B,yBAAyB;+BAEnB,gDAAgD;wBAGvD,kBAAkB;0BASjB,yBAAyB;8BAHvB,wBAAwB"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/text.js"],"names":[],"mappings":"AAiDA;;;;;;;;;;;;;;;;GAgBG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8GG;IACH,eA9GW,MAAM,KACN,MAAM,YAEd;QAAyB,IAAI,EAArB,MAAM;QACkB,IAAI,EAA5B,MAAM,GAAC,MAAM;QACoB,SAAS;QACvB,eAAe;QACV,WAAW;QACjB,SAAS;QACQ,QAAQ;QACzB,UAAU;QACD,UAAU;QACnB,SAAS;QACT,YAAY;QACZ,UAAU;QACmB,WAAW;eAAvC,MAAM;eAAG,MAAM;;QAChB,aAAa;QACZ,IAAI;QACJ,MAAM;QACI,IAAI;KACzC,EA2PF;IA7JA;;;;OAIG;IACH,WAHU,KAAK,CAGwB;IAEvC;;;;OAIG;IACH,aAHU,KAAK,CAG0B;IAEzC;;;;OAIG;IACH,WAHU,MAAM,CAGE;IAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,UAfU,OAAO,GAAC,OAAO,GAAC,OAAO,CAeV;IAEvB;;;;;;;;;;;;;;;;;OAiBG;IACH,YARU,MAAM,CAQI;IAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,YAdU,QAAQ,GAAC,MAAM,CAcC;IAE1B;;;;;OAKG;IACH,WAHU,MAAM,CAGO;IAEvB;;;;;;;OAOG;IACH,cAHU,MAAM,CAGS;IAEzB;;;;;OAKG;IACH,YAHU,MAAM,CAGK;IAErB;;;;;;;OAOG;IACH,eAHU,MAAM,CAGO;IAEvB;;;;OAIG;IACH,UAHU,MAAM,CAGE;IAElB;;;;;OAKG;IACH,cAAe;IAMhB;;;OAGG;IACH,kDAkLC;IArJA;;;;;;;;;;;;;;;;OAgBG;IACH,cARU,QAAQ,GAAC,SAAS,CAQC;IAE7B;;;;;;;;;;;;;;OAcG;IACH,qCAA2B;IAgG1B,8CAEE;IAGH;;;OAGG;IACH,wBAA4B;IAK3B,iCAAoC;IAOtC;;;OAGG;IACH,QAFa,IAAI,CAWhB;IAJC,UAA+B;IAMjC;;;OAGG;IACH,UAFa,IAAI,CAWhB;IAED;;;;;;;;OAQG;IACH,cAPW,MAAM,SACN,MAAM,GAAC,MAAM,GACX,IAAI,CAwChB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,GACpB,IAAI,CA+FhB;IAkBD,oCAZU,MAAM,EAiBf;IArBD;;;;;;;;;;;OAWG;IACH,gCARU,MAAM,CAUf;IAkCD,+BAlBU,MAAM,EA4Bf;IAnCD;;;;;;;;;;;;;;OAcG;IACH,2BARU,MAAM,CAgBf;IAwDD;;;;;;;;;;;;;;;;;OAiBG;IACH,mBAXW,MAAM,GAAC,MAAM,EAAE,GACb,WAAW,CAmBvB;IAED;;;OAGG;IACH,eAFW,QAAQ,QAsClB;IAED;;;OAGG;IACH,4EA+HC;IAED;;;;OAIG;IACH,gBAWC;CACD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wGAQG;uBAnhC8C,kBAAkB;sBANlC,qBAAqB;yBAE7B,yBAAyB;+BAEnB,gDAAgD;wBAG/B,kBAAkB;0BASzC,yBAAyB;8BAHvB,wBAAwB"}
@@ -1,3 +1,4 @@
1
+
1
2
  export default TextMetrics;
2
3
  /**
3
4
  * a Text Metrics object that contains helper for text manipulation
@@ -36,12 +37,19 @@ declare class TextMetrics extends Bounds {
36
37
  glyphMaxBottom: number | undefined;
37
38
  inkPadTop: number | undefined;
38
39
  inkPadBottom: number | undefined;
40
+ inkPadLeft: number | undefined;
41
+ inkPadRight: number | undefined;
39
42
  /**
40
- * wrap the given text based on the given width
43
+ * wrap the given text based on the given width.
44
+ *
45
+ * Each `\n`-separated line (each entry, for an array) is wrapped on its
46
+ * own, so wrapping only ever adds line breaks: the explicit ones are kept,
47
+ * blank lines included. A line breaks between words, never inside one: a
48
+ * word wider than `width` is put on a line of its own and overflows it.
41
49
  * @param {string|string[]} text - the text to be wrapped
42
50
  * @param {number} width - maximum width of one segment of text in css pixel
43
51
  * @param {CanvasRenderingContext2D} [context] - reference to an active 2d context for canvas rendering
44
- * @returns {string[]} an array of string representing wrapped text
52
+ * @returns {string[]} an array of string representing wrapped text, one entry per line
45
53
  */
46
54
  wordWrap(text: string | string[], width: number, context?: CanvasRenderingContext2D): string[];
47
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"textmetrics.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textmetrics.js"],"names":[],"mappings":";AA+BA;;GAEG;AACH;IACC;;OAEG;IACH,sBAFW,IAAI,GAAC,UAAU,EAczB;IARA;;;;OAIG;IACH,UAHU,UAAU,CAGI;IAKzB;;;OAGG;IACH,cAFa,MAAM,CAalB;IAED;;;;;OAKG;IACH,gBAJW,MAAM,YACN,wBAAwB,GACtB,MAAM,CA4BlB;IAED;;;;;OAKG;IACH,kBAJW,MAAM,YACN,wBAAwB,GACtB,WAAW,CAiHvB;IA/EA,iCAAqB;IACrB,mCAAuB;IAmCvB,8BAAkB;IAClB,iCAAqB;IA4CtB;;;;;;;;;;;;;;;OAeG;IACH,gBAJa,WAAW,CAoBvB;IAED;;;;;;OAMG;IACH,eALW,MAAM,GAAC,MAAM,EAAE,SACf,MAAM,YACN,wBAAwB,GACtB,MAAM,EAAE,CAyCpB;CACD;uBA/SsB,yBAAyB;4BAOrB,kBAAkB;iBAN5B,WAAW;4BAKD,iBAAiB"}
1
+ {"version":3,"file":"textmetrics.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textmetrics.js"],"names":[],"mappings":"AA+BA;;;;;;;GAOG;AACH,gCALW,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,GAAC,IAAI,GACzB,MAAM,EAAE,CAWpB;AAED;;;;;;;;GAQG;AACH,6BANW,MAAM,EAAE,KACR,MAAM,EAAE,GACN,OAAO,CAcnB;;AAaD;;GAEG;AACH;IACC;;OAEG;IACH,sBAFW,IAAI,GAAC,UAAU,EAczB;IARA;;;;OAIG;IACH,UAHU,UAAU,CAGI;IAKzB;;;OAGG;IACH,cAFa,MAAM,CAalB;IAED;;;;;OAKG;IACH,gBAJW,MAAM,YACN,wBAAwB,GACtB,MAAM,CA4BlB;IAED;;;;;OAKG;IACH,kBAJW,MAAM,YACN,wBAAwB,GACtB,WAAW,CAuJvB;IArHA,iCAAqB;IACrB,mCAAuB;IAyCvB,8BAAkB;IAClB,iCAAqB;IACrB,+BAAmB;IACnB,gCAAoB;IA0ErB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,gBAJa,WAAW,CAcvB;IAED;;;;;;;;;;;OAWG;IACH,cAJa,MAAM,CAclB;IAED;;;;;;;;;;;OAWG;IACH,eALW,MAAM,GAAC,MAAM,EAAE,SACf,MAAM,YACN,wBAAwB,GACtB,MAAM,EAAE,CA8CpB;CACD;uBAxasB,yBAAyB;4BAOrB,kBAAkB;iBAN5B,WAAW;4BAKD,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"textstyle.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textstyle.js"],"names":[],"mappings":"AAmEA;;;;;;;;GAQG;AACH,iDAPW,wBAAwB,SACxB,MAAM,GACJ,MAAM,GAAC,cAAc,CAcjC"}
1
+ {"version":3,"file":"textstyle.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textstyle.js"],"names":[],"mappings":"AAwFA;;;;;;;;;;;;GAYG;AACH,mCALW,MAAM,GACJ,MAAM,CAclB;AAED;;;;;;;;GAQG;AACH,iDAPW,wBAAwB,SACxB,MAAM,GACJ,MAAM,GAAC,cAAc,CAgBjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trail3d.d.ts","sourceRoot":"","sources":["../../src/renderable/trail3d.js"],"names":[],"mappings":"AAoCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,eAzBW,MAAM,KAEN,MAAM,aAEd;QAAuC,MAAM;QACnB,MAAM;QAIN,QAAQ;QACR,WAAW;QACX,KAAK;QACH,UAAU;QACN,KAAK;QACkC,QAAQ;iBAAnD,MAAM;mBAAS,KAAK,GAAC,MAAM;;QACrB,SAAS;QACN,YAAY;QACvB,OAAO;QACP,SAAS;QACR,SAAS;KACpC,EA+HF;IA1EA;;;OAGG;IACH,QAFU,UAAU,GAAC,QAAQ,GAAC,IAAI,CAEG;IACrC,qBAAqB;IACrB,UADW,MAAM,CACuB;IACxC,qBAAqB;IACrB,aADW,MAAM,CAC2B;IAG5C,uBAAuB;IACvB,YADW,MAAM,EAAE,CAIT;IAEV;;;OAGG;IACH,mBAAwB;IACxB;;;;;;;OAOG;IACH,eAAiB;IACjB,wBAAwB;IACxB,oBAA8C;IAC9C,wBAAwB;IACxB,qBAAoC;IACpC,6DAA6D;IAC7D,kCAA0C;IAC1C,wBAAwB;IACxB,wBAAqE;IACrE;;;;;;;;;;;OAWG;IACH,iBAAiB;IACjB,wBAAwB;IACxB,iBAAiB;IAEjB,4BAAkD;IAqDnD,wBAPU,QAAQ,EAiBjB;IAxBD;;;;;;;;;OASG;IACH,oBAHU,QAAQ,CAKjB;IAzCA,0BAA6B;IAuB9B,sBANU,MAAM,EAUf;IAhBD;;;;;;;OAOG;IACH,iBAFU,MAAM,CAIf;IAkCD;;;;;;;;;;OAUG;IACH,gBAHW,KAAK,GAAC,MAAM,GACV,OAAO,CAQnB;IAED;;;;OAIG;IACH,mBAHW,CAAC,KAAK,GAAC,MAAM,GAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAC,MAAM,CAAA;KAAC,CAAC,EAAE,GACjD,OAAO,CAMnB;IAED;;;;OAIG;IACH,gBAHU,QAAQ,CAKjB;IAED;;;;;;;;;OASG;IACH,YAJW,MAAM,KACN,MAAM,MACN,MAAM,QAiBhB;IAED,iDAAiD;IACjD,cAEC;IAuCD;;;;;;;;;;;;;;;OAeG;IACH,sBA2DC;IAED;;;;;;;;;;;;;;OAcG;IACH,wBALW,OAAO,GACL,MAAM,CAuBlB;IAED;;;;;;OAMG;IACH,eALW,QAAQ,aACR,QAAQ,QA6BlB;IAED;;;;;OAKG;IACH,sBAJW,QAAQ,QA2FlB;IAED;;;;;;;OAOG;IACH,kBAJa,MAAM,GAAC,IAAI,CAsCvB;IAwBD;;;;;;;OAOG;IACH,uBAJa,MAAM,CAwBlB;CAmBD;iBA/tBgB,WAAW;4BAMD,iBAAiB;yBATnB,qBAAqB;8BAQnB,sBAAsB;2BADzB,kBAAkB;0BAGjB,sBAAsB;qBAb1B,uBAAuB"}
1
+ {"version":3,"file":"trail3d.d.ts","sourceRoot":"","sources":["../../src/renderable/trail3d.js"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,eAzBW,MAAM,KAEN,MAAM,aAEd;QAAuC,MAAM;QACnB,MAAM;QAIN,QAAQ;QACR,WAAW;QACX,KAAK;QACH,UAAU;QACN,KAAK;QACkC,QAAQ;iBAAnD,MAAM;mBAAS,KAAK,GAAC,MAAM;;QACrB,SAAS;QACN,YAAY;QACvB,OAAO;QACP,SAAS;QACR,SAAS;KACpC,EA+HF;IA1EA;;;OAGG;IACH,QAFU,UAAU,GAAC,QAAQ,GAAC,IAAI,CAEG;IACrC,qBAAqB;IACrB,UADW,MAAM,CACuB;IACxC,qBAAqB;IACrB,aADW,MAAM,CAC2B;IAG5C,uBAAuB;IACvB,YADW,MAAM,EAAE,CAIT;IAEV;;;OAGG;IACH,mBAAwB;IACxB;;;;;;;OAOG;IACH,eAAiB;IACjB,wBAAwB;IACxB,oBAA8C;IAC9C,wBAAwB;IACxB,qBAAoC;IACpC,6DAA6D;IAC7D,kCAA0C;IAC1C,wBAAwB;IACxB,wBAAqE;IACrE;;;;;;;;;;;OAWG;IACH,iBAAiB;IACjB,wBAAwB;IACxB,iBAAiB;IAEjB,4BAAkD;IAqDnD,wBAPU,QAAQ,EAiBjB;IAxBD;;;;;;;;;OASG;IACH,oBAHU,QAAQ,CAKjB;IAzCA,0BAA6B;IAuB9B,sBANU,MAAM,EAUf;IAhBD;;;;;;;OAOG;IACH,iBAFU,MAAM,CAIf;IAkCD;;;;;;;;;;OAUG;IACH,gBAHW,KAAK,GAAC,MAAM,GACV,OAAO,CAQnB;IAED;;;;OAIG;IACH,mBAHW,CAAC,KAAK,GAAC,MAAM,GAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAC,MAAM,CAAA;KAAC,CAAC,EAAE,GACjD,OAAO,CAMnB;IAED;;;;OAIG;IACH,gBAHU,QAAQ,CAKjB;IAED;;;;;;;;;OASG;IACH,YAJW,MAAM,KACN,MAAM,MACN,MAAM,QAiBhB;IAED,iDAAiD;IACjD,cAEC;IAuCD;;;;;;;;;;;;;;;OAeG;IACH,sBA2DC;IAED;;;;;;;;;;;;;;OAcG;IACH,wBALW,OAAO,GACL,MAAM,CAuBlB;IAED;;;;;;OAMG;IACH,eALW,QAAQ,aACR,QAAQ,QA0BlB;IAED;;;;;OAKG;IACH,sBAJW,QAAQ,QA2FlB;IAED;;;;;;;OAOG;IACH,kBAJa,MAAM,GAAC,IAAI,CAsCvB;IAwBD;;;;;;;OAOG;IACH,uBAJa,MAAM,CAwBlB;CAmBD;iBAptBgB,WAAW;4BAMD,iBAAiB;yBATnB,qBAAqB;8BAQnB,sBAAsB;2BADzB,kBAAkB;0BAGjB,sBAAsB;qBAd1B,uBAAuB"}
@@ -1,5 +1,9 @@
1
1
  import { Color } from "../../math/color.ts";
2
2
  import type { Gradient } from "../../video/gradient.js";
3
- /** anything {@link Renderer#setColor} will take */
3
+ /**
4
+ * A colour a widget is painted with: a CSS string, a {@link Color} (kept
5
+ * and read every frame, so changing it animates the widget), or a gradient.
6
+ * @category UI
7
+ */
4
8
  export type Paint = Color | string | Gradient;
5
9
  //# sourceMappingURL=panelpaint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"panelpaint.d.ts","sourceRoot":"","sources":["../../../src/renderable/ui/panelpaint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAa,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,mDAAmD;AACnD,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"panelpaint.d.ts","sourceRoot":"","sources":["../../../src/renderable/ui/panelpaint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAa,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC"}