melonjs 20.4.0 → 20.5.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 (79) hide show
  1. package/build/audio/backend/sound.d.ts.map +1 -1
  2. package/build/audio/procedural.d.ts +7 -2
  3. package/build/audio/procedural.d.ts.map +1 -1
  4. package/build/audio/types.d.ts +22 -0
  5. package/build/audio/types.d.ts.map +1 -1
  6. package/build/camera/camera2d.d.ts +28 -0
  7. package/build/camera/camera2d.d.ts.map +1 -1
  8. package/build/camera/camera3d.d.ts +24 -3
  9. package/build/camera/camera3d.d.ts.map +1 -1
  10. package/build/geometries/polygon.d.ts +7 -1
  11. package/build/geometries/polygon.d.ts.map +1 -1
  12. package/build/index.d.ts +4 -0
  13. package/build/index.d.ts.map +1 -1
  14. package/build/index.js +1061 -166
  15. package/build/index.js.map +4 -4
  16. package/build/level/gltf/GLTFModel.d.ts +50 -7
  17. package/build/level/gltf/GLTFModel.d.ts.map +1 -1
  18. package/build/lighting/light3d.d.ts +20 -47
  19. package/build/lighting/light3d.d.ts.map +1 -1
  20. package/build/loader/loader.d.ts +106 -6
  21. package/build/loader/loader.d.ts.map +1 -1
  22. package/build/renderable/animation.d.ts +21 -6
  23. package/build/renderable/animation.d.ts.map +1 -1
  24. package/build/renderable/container.d.ts +27 -5
  25. package/build/renderable/container.d.ts.map +1 -1
  26. package/build/renderable/instanced_mesh.d.ts +34 -9
  27. package/build/renderable/instanced_mesh.d.ts.map +1 -1
  28. package/build/renderable/mesh.d.ts +131 -94
  29. package/build/renderable/mesh.d.ts.map +1 -1
  30. package/build/renderable/renderable.d.ts +17 -0
  31. package/build/renderable/renderable.d.ts.map +1 -1
  32. package/build/renderable/sprite3d.d.ts +12 -2
  33. package/build/renderable/sprite3d.d.ts.map +1 -1
  34. package/build/renderable/text/bitmaptext.d.ts +32 -7
  35. package/build/renderable/text/bitmaptext.d.ts.map +1 -1
  36. package/build/renderable/text/text.d.ts +78 -3
  37. package/build/renderable/text/text.d.ts.map +1 -1
  38. package/build/renderable/text/textmetrics.d.ts +2 -0
  39. package/build/renderable/text/textmetrics.d.ts.map +1 -1
  40. package/build/renderable/text/textstyle.d.ts.map +1 -1
  41. package/build/state/stage.d.ts +21 -0
  42. package/build/state/stage.d.ts.map +1 -1
  43. package/build/system/device.d.ts +1 -1
  44. package/build/system/device.d.ts.map +1 -1
  45. package/build/system/save.d.ts +44 -1
  46. package/build/system/save.d.ts.map +1 -1
  47. package/build/video/effects/glsl_realization.d.ts.map +1 -1
  48. package/build/video/effects/mesh_splice.d.ts +2 -0
  49. package/build/video/effects/mesh_splice.d.ts.map +1 -0
  50. package/build/video/effects/shadereffect.d.ts +12 -128
  51. package/build/video/effects/shadereffect.d.ts.map +1 -1
  52. package/build/video/effects/wgsl_realization.d.ts.map +1 -1
  53. package/build/video/gradient.d.ts +19 -0
  54. package/build/video/gradient.d.ts.map +1 -1
  55. package/build/video/renderer.d.ts.map +1 -1
  56. package/build/video/texture/noise_texture2d.d.ts +101 -34
  57. package/build/video/texture/noise_texture2d.d.ts.map +1 -1
  58. package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
  59. package/build/video/webgl/glshader.d.ts +7 -2
  60. package/build/video/webgl/glshader.d.ts.map +1 -1
  61. package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
  62. package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts.map +1 -1
  63. package/build/video/webgpu/batchers/mesh_batcher.d.ts +6 -1
  64. package/build/video/webgpu/batchers/mesh_batcher.d.ts.map +1 -1
  65. package/build/video/webgpu/webgpu_renderer.d.ts +1 -0
  66. package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
  67. package/package.json +1 -1
  68. package/skills/melonjs-3d/SKILL.md +152 -3
  69. package/skills/melonjs-3d-assets/SKILL.md +139 -0
  70. package/skills/melonjs-audio/SKILL.md +17 -0
  71. package/skills/melonjs-camera-and-drawing/SKILL.md +45 -0
  72. package/skills/melonjs-effects-and-shaders/SKILL.md +93 -1
  73. package/skills/melonjs-loading-assets/SKILL.md +97 -1
  74. package/skills/melonjs-performance/SKILL.md +55 -1
  75. package/skills/melonjs-physics/SKILL.md +78 -0
  76. package/skills/melonjs-renderables/SKILL.md +63 -1
  77. package/skills/melonjs-renderer-backends/SKILL.md +19 -0
  78. package/skills/melonjs-scenes-and-state/SKILL.md +56 -0
  79. package/skills/melonjs-ui-and-text/SKILL.md +124 -0
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/text.js"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;GAcG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,eAzCW,MAAM,KACN,MAAM,YAEd;QAAyB,IAAI,EAArB,MAAM;QACkB,IAAI,EAA5B,MAAM,GAAC,MAAM;QACW,SAAS;QACT,WAAW;QACjB,SAAS;QACT,SAAS;QACT,YAAY;QACZ,UAAU;QACmB,WAAW,GAA1D,MAAM,GAAC,QAAQ,GAAC;YAAC,CAAC,EAAC,MAAM,CAAC;YAAA,CAAC,EAAC,MAAM,CAAA;SAAC;QACjB,aAAa;QACF,IAAI;KACzC,EAqGF;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,kDA+EC;IAfA,8CAEE;IAEF;;;OAGG;IACH,wBAA4B;IAG5B,iCAAoC;IAMrC;;;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,CAkEhB;IAkBD,oCAZU,MAAM,EAiBf;IArBD;;;;;;;;;;;OAWG;IACH,gCARU,MAAM,CAUf;IAyBD,+BAZU,MAAM,EAsBf;IA1BD;;;;;OAKG;IACH,2BAFU,MAAM,CAUf;IAiED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,WAAW,CAIvB;IAED;;;OAGG;IACH,eAFW,cAAc,GAAC,aAAa,QA2BtC;IAED;;;OAGG;IACH,4EA6BC;IAED;;;;OAIG;IACH,gBAUC;CACD;uBAjlBsB,kBAAkB;sBAJR,qBAAqB;+BAEvB,gDAAgD;wBAGvD,kBAAkB"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/text.js"],"names":[],"mappings":"AAwCA;;;;;;;;;;;;;;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,GAA1D,MAAM,GAAC,QAAQ,GAAC;YAAC,CAAC,EAAC,MAAM,CAAC;YAAA,CAAC,EAAC,MAAM,CAAA;SAAC;QACjB,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,kDAgIC;IA3HA;;;;;;;;;;;;;;;;OAgBG;IACH,cARU,QAAQ,GAAC,SAAS,CAQC;IAE7B;;;;;;;;;;;;;;OAcG;IACH,qCAA2B;IA0E3B,8CAEE;IAEF;;;OAGG;IACH,wBAA4B;IAG5B,iCAAoC;IAMrC;;;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,CAkFhB;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,cAAc,GAAC,aAAa,QA0CtC;IAED;;;OAGG;IACH,4EA+GC;IAED;;;;OAIG;IACH,gBAWC;CACD;uBAzxBsB,kBAAkB;sBALR,qBAAqB;yBAC7B,yBAAyB;+BAEnB,gDAAgD;wBAGvD,kBAAkB"}
@@ -34,6 +34,8 @@ declare class TextMetrics extends Bounds {
34
34
  measureText(text: string, context?: CanvasRenderingContext2D): TextMetrics;
35
35
  glyphYOffset: number | undefined;
36
36
  glyphMaxBottom: number | undefined;
37
+ inkPadTop: number | undefined;
38
+ inkPadBottom: number | undefined;
37
39
  /**
38
40
  * wrap the given text based on the given width
39
41
  * @param {string|string[]} text - the text to be wrapped
@@ -1 +1 @@
1
- {"version":3,"file":"textmetrics.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textmetrics.js"],"names":[],"mappings":";AAIA;;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,CAyEvB;IAvCA,iCAAqB;IACrB,mCAAuB;IAwCxB;;;;;;OAMG;IACH,eALW,MAAM,GAAC,MAAM,EAAE,SACf,MAAM,YACN,wBAAwB,GACtB,MAAM,EAAE,CAyCpB;CACD;uBA1MsB,yBAAyB;iBAC/B,WAAW"}
1
+ {"version":3,"file":"textmetrics.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textmetrics.js"],"names":[],"mappings":";AA0BA;;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;uBA1SsB,yBAAyB;iBAC/B,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"textstyle.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textstyle.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wEAOC"}
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"}
@@ -2,6 +2,7 @@ import type Application from "./../application/application.ts";
2
2
  import Camera2d from "./../camera/camera2d.ts";
3
3
  import type Light2d from "./../lighting/light2d.ts";
4
4
  import { Color } from "./../math/color.ts";
5
+ import type World from "./../physics/world.js";
5
6
  import type Renderer from "./../video/renderer.js";
6
7
  interface StageSettings {
7
8
  cameras: Camera2d[];
@@ -82,6 +83,26 @@ export default class Stage {
82
83
  * @param [settings.onDestroyEvent] - called by the state manager before switching to another state
83
84
  */
84
85
  constructor(settings?: Partial<StageSettings>);
86
+ /**
87
+ * Update the stage. Override it to run your own per-frame logic, and call
88
+ * `super.update(dt)` so the world and cameras still advance.
89
+ * @param dt - time since the last update in milliseconds.
90
+ * @returns true if the stage needs to be redrawn
91
+ */
92
+ update(dt: number): boolean;
93
+ /**
94
+ * draw the current stage
95
+ *
96
+ * Lights are rendered as part of the world tree (they're now first-class
97
+ * Renderables) and the ambient overlay pass runs inside each Camera's
98
+ * post-effect FBO bracket via {@link Stage#drawLighting}.
99
+ *
100
+ * Override it to draw under or over the world, calling `super.draw(...)`
101
+ * where the world itself belongs in that order.
102
+ * @param renderer - the renderer object to draw with
103
+ * @param world - the world object to draw
104
+ */
105
+ draw(renderer: Renderer, world: World): void;
85
106
  /**
86
107
  * Draw the stage's ambient-light overlay with cutouts for each active
87
108
  * light. Called from each `Camera2d` inside its post-effect FBO bracket —
@@ -1 +1 @@
1
- {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/state/stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,iCAAiC,CAAC;AAC/D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,UAAU,aAAa;IACtB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,KACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,KACR,QAAQ,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC9D,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5C;AAUD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACzB;;;;OAIG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAoB7B;;;;;;OAMG;IACH,YAAY,EAAE,KAAK,CAAC;IAEpB;;;;;;;;OAQG;IACH,oBAAoB,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;;;;OAKG;gBACS,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAmN7C;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CACX,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAChB,UAAU,GAAE,MAAuC,EACnD,UAAU,GAAE,MAAuC,GACjD,IAAI;IAuEP;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAOxD;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;CAMtC"}
1
+ {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/state/stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,iCAAiC,CAAC;AAC/D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAC;AAE/C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,UAAU,aAAa;IACtB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,KACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,KACR,QAAQ,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC9D,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5C;AAUD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACzB;;;;OAIG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAoB7B;;;;;;OAMG;IACH,YAAY,EAAE,KAAK,CAAC;IAEpB;;;;;;;;OAQG;IACH,oBAAoB,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;;;;OAKG;gBACS,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IA2K7C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAgB3B;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAM5C;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CACX,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAChB,UAAU,GAAE,MAAuC,EACnD,UAAU,GAAE,MAAuC,GACjD,IAAI;IAuEP;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAOxD;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;CAMtC"}
@@ -204,7 +204,7 @@ export declare function isLandscape(): boolean;
204
204
  * @returns a reference to the device storage
205
205
  * @category Application
206
206
  */
207
- export declare function getStorage(type?: string): Record<string, unknown>;
207
+ export declare function getStorage(type?: string): import("./save.ts").SaveAPI;
208
208
  /**
209
209
  * return the parent DOM element for the given parent name or HTMLElement object
210
210
  * @param element - the parent element name or a HTMLElement object
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/system/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/system/device.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,46 @@
1
- declare const save: Record<string, unknown>;
1
+ import { Jsonifiable } from "type-fest";
2
+ /**
3
+ * The shape of the {@link save} namespace.
4
+ *
5
+ * Declared rather than left as a bare index signature: typed as
6
+ * `Record<string, unknown>` every member was swallowed by the index, so
7
+ * `save.add` came out as `unknown` and could not be CALLED at all under
8
+ * `strict` — the namespace's own documented example did not typecheck — while
9
+ * every registered key read back as `unknown` and needed a cast to compare or
10
+ * assign.
11
+ *
12
+ * The index signature stays, so anything registered elsewhere is still
13
+ * reachable; declared members simply take precedence over it.
14
+ */
15
+ export interface SaveAPI {
16
+ /**
17
+ * Add new keys to localStorage and set them to the given default values if
18
+ * they do not exist.
19
+ * @param props - key and corresponding values
20
+ * @returns this namespace, typed with the keys just registered, so they can
21
+ * be read back without a cast
22
+ * @example
23
+ * // Initialize "score" and "lives" with default values
24
+ * me.save.add({ score : 0, lives : 3 });
25
+ * // get or set the value through me.save
26
+ * me.save.score = 1000;
27
+ * @example
28
+ * // or keep the returned view, and read the keys with their real types
29
+ * const store = me.save.add({ score : 0, lives : 3 });
30
+ * store.lives -= 1;
31
+ */
32
+ add<T extends Record<string, Jsonifiable>>(props: T): this & T;
33
+ /**
34
+ * Remove a key from localStorage
35
+ * @param key - key to be removed
36
+ * @example
37
+ * // Remove the "score" key from localStorage
38
+ * me.save.remove("score");
39
+ */
40
+ remove(key: string): void;
41
+ /** keys registered through {@link SaveAPI.add} */
42
+ [key: string]: unknown;
43
+ }
44
+ declare const save: SaveAPI;
2
45
  export default save;
3
46
  //# sourceMappingURL=save.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/system/save.ts"],"names":[],"mappings":"AAqFA,QAAA,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAgEjC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/system/save.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAqFxC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,OAAO;IACvB;;;;;;;;;;;;;;;OAeG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAE/D;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,kDAAkD;IAClD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,IAAI,EAAE,OAqEX,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"glsl_realization.d.ts","sourceRoot":"","sources":["../../../src/video/effects/glsl_realization.js"],"names":[],"mappings":"AAoHA;;;;;;;;GAQG;AACH,+CALW,MAAM,GACJ;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CA8BvH"}
1
+ {"version":3,"file":"glsl_realization.d.ts","sourceRoot":"","sources":["../../../src/video/effects/glsl_realization.js"],"names":[],"mappings":"AAoHA;;;;;;;;GAQG;AACH,+CALW,MAAM,GACJ;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAoCvH"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=mesh_splice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh_splice.d.ts","sourceRoot":"","sources":["../../../src/video/effects/mesh_splice.js"],"names":[],"mappings":"AA4EA;;;;;;;;;;;;GAYG;AACH,6CAPW,MAAM,+BAEN,MAAM,GACJ,MAAM,GAAC,IAAI,CAmCvB;AAED;;;;;;GAMG;AACH,yCALW,MAAM,GACJ,OAAO,CAWnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qCANW,MAAM,QACN,MAAM,GACJ,MAAM,GAAC,IAAI,CAgBvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,kCANW,MAAM,SACN,MAAM,GACJ,MAAM,CAWlB"}
@@ -1,129 +1,3 @@
1
- /**
2
- * A simplified shader class for applying custom fragment effects to renderables.
3
- * Only requires a fragment `apply()` function — the vertex shader, uniforms, and
4
- * texture sampling boilerplate are handled automatically.
5
- *
6
- * ## Dual-language bodies
7
- *
8
- * An effect body is written in the active renderer's shading language:
9
- * GLSL on the WebGL renderer, WGSL on the WebGPU renderer. Pass a plain
10
- * string for a GLSL-only effect (the historical form), or one body per
11
- * language for an effect that runs on both backends:
12
- *
13
- * ```js
14
- * new ShaderEffect(renderer, { glsl: glslBody, wgsl: wgslBody });
15
- * ```
16
- *
17
- * The renderer compiles the body matching its
18
- * {@link Renderer#shaderLanguage}. When no matching body exists — a
19
- * GLSL-only effect on the WebGPU renderer, any effect on the Canvas
20
- * renderer — the effect warns once and stays **disabled**
21
- * (`enabled === false`, every method a safe no-op): the scene renders
22
- * without the effect, it never breaks.
23
- *
24
- * ## The WGSL convention
25
- *
26
- * A WGSL body mirrors the GLSL one — declarations plus an apply function,
27
- * compiled verbatim inside engine boilerplate:
28
- *
29
- * - `fn apply(color : vec4f, uv : vec2f) -> vec4f` — required; receives
30
- * the sampled, tinted pixel and its UV, returns the modified color.
31
- * - Uniforms are the members of ONE struct bound as
32
- * `@group(3) @binding(0) var<uniform> fx : MyUniforms;` — member names
33
- * are the {@link ShaderEffect#setUniform} names, so a dual-language
34
- * effect uses the same uniform names in both bodies and one
35
- * `setUniform` call serves both. Supported member types: `f32`, `i32`,
36
- * `u32`, `vec2f`, `vec3f`, `vec4f`, `mat3x3f`, `mat4x4f`,
37
- * `array<vec4f, N>`.
38
- * - Extra {@link ShaderEffect#setTexture} samplers are texture/sampler
39
- * pairs at explicit consecutive group-3 bindings (from 1):
40
- * `@group(3) @binding(1) var uNoise : texture_2d<f32>;`
41
- * `@group(3) @binding(2) var uNoiseSampler : sampler;`
42
- * - The source texture is available as `uTexture` with `uSampler`
43
- * (`textureSample(uTexture, uSampler, uv)` — the WGSL spelling of
44
- * GLSL's `texture2D(uSampler, uv)`), and the interpolated tint as
45
- * `vColor`, under the same names as the GLSL side.
46
- * - The shader builtins keep their names: `screen_uv`, `noise_uv`, and
47
- * `screen_texture` — sampled through `screen_sampler` (clamped) or
48
- * `screen_sampler_repeat` (wrapping), replacing the GLSL
49
- * `: screen_texture(repeat)` annotation.
50
- * - Porting note: a texture sampled after a non-uniform `return` or
51
- * inside a varying branch must use
52
- * `textureSampleLevel(uTexture, uSampler, uv, 0.0)` (a WGSL
53
- * uniform-control-flow rule; identical output for sprite textures).
54
- *
55
- * ## Directional UV arithmetic (`uUVYDir`)
56
- *
57
- * The vertical orientation of `apply()`'s UV space depends on the draw
58
- * path: sampling the sprite directly, `uv.y` grows downward, but the
59
- * WebGL multi-effect (pooled) path composites through capture FBOs whose
60
- * rows are bottom-up — there `uv.y` grows upward. A body that offsets its
61
- * sampling coordinate vertically (a drop shadow, a directional smear)
62
- * would render mirrored on that path. Declare a `float uUVYDir` uniform
63
- * (WGSL: `uUVYDir : f32` in the uniform struct) and multiply vertical UV
64
- * offsets by it: the renderer feeds `+1` where `uv.y` grows downward —
65
- * including every WebGPU path — and `-1` on the WebGL pooled path, so
66
- * "down" stays down everywhere. Initialize it to `1.0` with `setUniform`;
67
- * bodies that don't declare it are unaffected. The built-in
68
- * {@link DropShadowEffect} is the reference use.
69
- * @category Rendering
70
- * @example
71
- * // one effect, both backends: dual-language body
72
- * const fx = new ShaderEffect(renderer, {
73
- * glsl: `
74
- * uniform float uStrength;
75
- * vec4 apply(vec4 color, vec2 uv) {
76
- * return vec4(color.rgb * uStrength, color.a);
77
- * }
78
- * `,
79
- * wgsl: `
80
- * struct Fx { uStrength : f32, };
81
- * @group(3) @binding(0) var<uniform> fx : Fx;
82
- * fn apply(color : vec4f, uv : vec2f) -> vec4f {
83
- * return vec4f(color.rgb * fx.uStrength, color.a);
84
- * }
85
- * `,
86
- * });
87
- * mySprite.addPostEffect(fx);
88
- * fx.setUniform("uStrength", 0.5); // sets either backend
89
- * @example
90
- * // create a grayscale effect
91
- * mySprite.addPostEffect(new ShaderEffect(renderer, `
92
- * vec4 apply(vec4 color, vec2 uv) {
93
- * float gray = dot(color.rgb, vec3(0.299, 0.587, 0.114));
94
- * return vec4(vec3(gray), color.a);
95
- * }
96
- * `));
97
- * @example
98
- * // create an effect with a custom uniform
99
- * const pulse = new ShaderEffect(renderer, `
100
- * uniform float uTime;
101
- * vec4 apply(vec4 color, vec2 uv) {
102
- * float brightness = 0.8 + 0.2 * sin(uTime * 3.0);
103
- * return vec4(color.rgb * brightness, color.a);
104
- * }
105
- * `);
106
- * mySprite.addPostEffect(pulse);
107
- * // update the uniform each frame
108
- * pulse.setUniform("uTime", time);
109
- * @example
110
- * // Shader builtins — no JS plumbing, no UV math:
111
- * // `: screen_texture` keeps the sampler filled with everything drawn so
112
- * // far (a back-buffer copy; one screen copy per draw of the effect),
113
- * // `screen_uv` is this fragment's 0..1 screen position, and `noise_uv`
114
- * // runs 0..1 across the sprite regardless of its atlas frame.
115
- * const water = new ShaderEffect(renderer, `
116
- * uniform sampler2D uNoise;
117
- * uniform sampler2D screenTex : screen_texture;
118
- * uniform float uTime;
119
- * vec4 apply(vec4 color, vec2 uv) {
120
- * vec2 flow = texture2D(uNoise, noise_uv + uTime * 0.25).rg;
121
- * vec4 refracted = texture2D(screenTex, screen_uv + flow * 0.005);
122
- * return refracted * texture2D(uSampler, uv + flow * 0.005);
123
- * }
124
- * `);
125
- * water.setTexture("uNoise", noiseTexture.getTexture(), "repeat");
126
- */
127
1
  export default class ShaderEffect {
128
2
  /**
129
3
  * @param {WebGLRenderer|WebGPURenderer|CanvasRenderer} renderer - the current renderer instance
@@ -173,9 +47,19 @@ export default class ShaderEffect {
173
47
  /**
174
48
  * Set the uniform to the given value
175
49
  * @param {string} name - the uniform name
176
- * @param {object|Float32Array} value - the value to assign to that uniform
50
+ * @param {number|boolean|number[]|Float32Array|object} value - the value to assign to that
51
+ * uniform. Scalars (`float`, `int`, `bool`) take a number or a boolean;
52
+ * vectors and matrices take an array, a `Float32Array`, or any object
53
+ * exposing `toArray()` — which is every {@link Vector2d},
54
+ * {@link Vector3d}, {@link Color} and {@link Matrix3d}.
55
+ * @example
56
+ * // a scalar the body declares as `uniform float uStrength;`
57
+ * fx.setUniform("uStrength", 0.5);
58
+ * // a vec3 — an array, or anything with toArray()
59
+ * fx.setUniform("uTint", [1.0, 0.82, 0.55]);
60
+ * fx.setUniform("uOrigin", new me.Vector2d(0.5, 0.5));
177
61
  */
178
- setUniform(name: string, value: object | Float32Array): void;
62
+ setUniform(name: string, value: number | boolean | number[] | Float32Array | object): void;
179
63
  /**
180
64
  * Set the shader's `uTime` uniform (elapsed time, in seconds). A convenience
181
65
  * over `setUniform("uTime", ...)`; call it once per frame from your update
@@ -1 +1 @@
1
- {"version":3,"file":"shadereffect.d.ts","sourceRoot":"","sources":["../../../src/video/effects/shadereffect.js"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6HG;AACH;IAiCC;;;;;;;;;;;OAWG;IACH,sBAXW,aAAa,GAAC,cAAc,GAAC,cAAc,QAC3C,MAAM,GAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,cAQrC,MAAM,EAqIhB;IA/KD;;;;;;OAMG;IACH,SAFU,OAAO,CAED;IAEhB;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGC;IAElB;;;;;;;;;;OAUG;IACH,QAHU,OAAO,CAGF;IAed;;;;;;;OAOG;IACH,eAAyB;IAEzB;;;;;;OAMG;IACH;eA5ByB,MAAM;eAAS,MAAM;MA4BrB;IACzB;;;OAGG;IACH,+BAA2B;IAoB3B;;;;;;;OAOG;IACH,0CAA+B;IAQ9B;;;;;;OAMG;IACH,wBAJU,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAIK;IACpD;;;OAGG;IACH,iBAAkC;IAElC;;;OAGG;IACH,8BAKC;IAyBD;;;OAGG;IACH,mDAAkC;IAsBpC;;;;OAIG;IACH,uBAsBC;IAjBA;;;OAGG;IACH,2CAAyC;IAe1C;;;;OAIG;IACH,2BAQC;IAED;;;;OAIG;IACH,iBAHW,MAAM,SACN,MAAM,GAAC,YAAY,QAmB7B;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,iBAbW,MAAM,GACJ,YAAY,CAuCxB;IAED;;;;;;;;;;;;OAYG;IACH,gBAJW,MAAM,QA0BhB;IAbC;;;OAGG;IACH,aAAkB;IAWpB;;;;;;;;;;;;;;OAcG;IACH,6BATW,MAAM,gBACN,MAAM,eACN,MAAM,gBACN,MAAM,MACN,MAAM,MACN,MAAM,QAqDhB;IAED;;;;;;;OAOG;IACH,8DAaC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,iBAnBW,MAAM,SACN,SAAS,GAAC,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,GAAC,WAAW,WACxE,QAAQ,GAAC,UAAU,GAAC,UAAU,GAAC,WAAW,GACxC,YAAY,CA0GxB;IAED;;;;;;;;;OASG;IACH,0BAJW,MAAM,QAgGhB;IA/DI;;;OAGG;IACH,4CAAkC;IA6DvC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SATa,YAAY,CAsDxB;IAKD;;;OAGG;IACH,aAIC;IAED;;;OAGG;IACH,qCAIC;IAED;;;OAGG;IACH,iEAIC;IAED;;;OAGG;IACH,mCAEC;IAED;;;OAGG;IACH,kBAEC;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,qBAEC;IAED;;;OAGG;IACH,uBAEC;IAED;;;;OAIG;IACH,gBAyCC;CACD;qBA78BoB,sBAAsB;kCAET,uBAAuB;sBAHnC,yBAAyB"}
1
+ {"version":3,"file":"shadereffect.d.ts","sourceRoot":"","sources":["../../../src/video/effects/shadereffect.js"],"names":[],"mappings":"AAiJA;IAiCC;;;;;;;;;;;OAWG;IACH,sBAXW,aAAa,GAAC,cAAc,GAAC,cAAc,QAC3C,MAAM,GAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,cAQrC,MAAM,EAiKhB;IA3MD;;;;;;OAMG;IACH,SAFU,OAAO,CAED;IAEhB;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGC;IAElB;;;;;;;;;;OAUG;IACH,QAHU,OAAO,CAGF;IAed;;;;;;;OAOG;IACH,eAAyB;IAEzB;;;;;;OAMG;IACH;eA5ByB,MAAM;eAAS,MAAM;MA4BrB;IACzB;;;OAGG;IACH,+BAA2B;IAoB3B;;;;;;;OAOG;IACH,0CAA+B;IAE/B;;;;;OAKG;IACH,0CAA+B;IAE/B;;;;OAIG;IACH,8BAAgC;IAQ/B;;;;;;OAMG;IACH,wBAJU,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAIK;IACpD;;;OAGG;IACH,iBAAkC;IAClC;;;;;;OAMG;IACH,eAA6B;IAC7B;;;OAGG;IACH,mBAAqC;IAErC;;;OAGG;IACH,8BAKC;IAyBD;;;OAGG;IACH,mDAAkC;IAsBpC;;;;OAIG;IACH,uBAsBC;IAjBA;;;OAGG;IACH,2CAAyC;IAe1C;;;;OAIG;IACH,2BAQC;IAED;;;;;;;;;;;;;;OAcG;IACH,iBAbW,MAAM,SACN,MAAM,GAAC,OAAO,GAAC,MAAM,EAAE,GAAC,YAAY,GAAC,MAAM,QAsCrD;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,iBAbW,MAAM,GACJ,YAAY,CAoDxB;IAED;;;;;;;;;;;;OAYG;IACH,gBAJW,MAAM,QA0BhB;IAbC;;;OAGG;IACH,aAAkB;IAWpB;;;;;;;;;;;;;;OAcG;IACH,6BATW,MAAM,gBACN,MAAM,eACN,MAAM,gBACN,MAAM,MACN,MAAM,MACN,MAAM,QAqDhB;IAED;;;;;;;OAOG;IACH,8DAaC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,iBAnBW,MAAM,SACN,SAAS,GAAC,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,GAAC,WAAW,WACxE,QAAQ,GAAC,UAAU,GAAC,UAAU,GAAC,WAAW,GACxC,YAAY,CA0GxB;IAED;;;;;;;;;OASG;IACH,0BAJW,MAAM,QAgGhB;IA/DI;;;OAGG;IACH,4CAAkC;IA6DvC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SATa,YAAY,CAsDxB;IAKD;;;OAGG;IACH,aAIC;IAED;;;OAGG;IACH,qCAIC;IAED;;;OAGG;IACH,iEAIC;IAED;;;OAGG;IACH,mCAEC;IAED;;;OAGG;IACH,kBAEC;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,qBAEC;IAED;;;OAGG;IACH,uBAEC;IAED;;;;OAIG;IACH,gBAyCC;CACD;qBAjhCoB,sBAAsB;kCAET,uBAAuB;sBAHnC,yBAAyB"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgsl_realization.d.ts","sourceRoot":"","sources":["../../../src/video/effects/wgsl_realization.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;;OAIG;IACH,kBAFW,MAAM,EA2DhB;IAtDA;;;OAGG;IACH,OAFU,OAAO,CAEc;IAC/B,0BAA0B;IAC1B,OADW,MAAM,GAAC,IAAI,CAC+B;IAMrD,iEAAiE;IACjE,YAA2B;IAC3B,4DAA4D;IAC5D,gBAAmC;IACnC,iDAAiD;IACjD,cAA+B;IAC/B,0BAA0B;IAC1B,cAA+B;IAG/B,8CAA8C;IAC9C,yBAAuB;IACvB,mEAAmE;IACnE,oCAAsC;IAGtC,6BAAwD;IACxD,2CAAqC;IACrC,yCAAmC;IACnC,0CAAoC;IAIpC,gDAAmC;IAEnC;;;;OAIG;IACH,QAFU,GAAG,CAAC,MAAM,EAAE,MAAM,GAAC,MAAM,EAAE,CAAC,CAEf;IAIvB,6BAAuB;IAEvB;;;;OAIG;IACH,KAFU,MAAM,GAAC,IAAI,CAEN;IAGhB;;;;;;OAMG;IACH,iBALW,MAAM,SACN,MAAM,GAAC,MAAM,EAAE,GAAC,YAAY,GAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAC,GAE9C,OAAO,CAwDnB;IAED;;;;;OAKG;IACH,iBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAEC;CACD"}
1
+ {"version":3,"file":"wgsl_realization.d.ts","sourceRoot":"","sources":["../../../src/video/effects/wgsl_realization.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;;OAIG;IACH,kBAFW,MAAM,EA2EhB;IAtEA;;;OAGG;IACH,OAFU,OAAO,CAEc;IAC/B,0BAA0B;IAC1B,OADW,MAAM,GAAC,IAAI,CAC+B;IAMrD;;;;OAIG;IACH,MAFU,MAAM,CAEA;IAChB,wEAAwE;IACxE,2BAAoB;IACpB,iEAAiE;IACjE,YAA2B;IAC3B,4DAA4D;IAC5D,gBAAmC;IACnC,iDAAiD;IACjD,cAA+B;IAC/B,0BAA0B;IAC1B,cAA+B;IAG/B,8CAA8C;IAC9C,yBAAuB;IACvB,mEAAmE;IACnE,oCAAsC;IAEtC;;;;;OAKG;IACH,uCAA4B;IAG5B,6BAAwD;IACxD,2CAAqC;IACrC,yCAAmC;IACnC,0CAAoC;IAIpC,gDAAmC;IAEnC;;;;OAIG;IACH,QAFU,GAAG,CAAC,MAAM,EAAE,MAAM,GAAC,MAAM,EAAE,CAAC,CAEf;IAIvB,6BAAuB;IAEvB;;;;OAIG;IACH,KAFU,MAAM,GAAC,IAAI,CAEN;IAGhB;;;;;;OAMG;IACH,iBALW,MAAM,SACN,MAAM,GAAC,MAAM,EAAE,GAAC,YAAY,GAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAC,GAE9C,OAAO,CAwDnB;IAED;;;;;OAKG;IACH,iBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAEC;IAED;;;;;;;;;;;OAWG;IACH,uBALW,MAAM,GACJ,MAAM,CAWlB;CACD"}
@@ -21,6 +21,25 @@ export class Gradient {
21
21
  * gradient.addColorStop(1, "blue");
22
22
  */
23
23
  addColorStop(offset: number, color: Color | string): Gradient;
24
+ /**
25
+ * Get or create a native `CanvasGradient` for use with a 2D context.
26
+ *
27
+ * This is the one to reach for when baking a gradient into your own
28
+ * canvas — it hands back a value for `ctx.fillStyle` and touches no
29
+ * shared state, so two callers cannot clobber each other.
30
+ *
31
+ * The result is cached and reused until a stop changes.
32
+ * @param {CanvasRenderingContext2D} context - the 2D context to create the gradient on
33
+ * @returns {CanvasGradient} a native gradient bound to that context
34
+ * @example
35
+ * // bake a gradient into a standalone canvas
36
+ * const c = document.createElement("canvas");
37
+ * c.width = 64; c.height = 64;
38
+ * const ctx = c.getContext("2d");
39
+ * ctx.fillStyle = myGradient.toCanvasGradient(ctx);
40
+ * ctx.fillRect(0, 0, 64, 64);
41
+ */
42
+ toCanvasGradient(context: CanvasRenderingContext2D): CanvasGradient;
24
43
  /**
25
44
  * Get the interpolated color at a given position along the gradient.
26
45
  * Useful for procedural effects like trails that need per-segment colors.
@@ -1 +1 @@
1
- {"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../../src/video/gradient.js"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH;IACC;;;OAGG;IACH,kBAHW,QAAQ,GAAC,QAAQ,UACjB,MAAM,EAAE,EA8DlB;IA3DA;;;OAGG;IACH;;;OAGG;IACH,YAA2B;IAE3B,0BAAgB;IAEhB;;;;;OAKG;IACH,QAJU,MAAM,EAAE,CAIE;IAEpB;;;;;OAKG;IACH,YAJU,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAI5B;IAEpB;;;;;OAKG;IACH,iBAJU,cAAc,GAAC,SAAS,CAIF;IAEhC;;;;;OAKG;IACH,eAJU,kBAAkB,GAAC,SAAS,CAIR;IAE9B;;;;;OAKG;IACH,QAJU,OAAO,CAIC;IAElB;;;;;OAKG;IACH,cAJU;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAC,EAAE,GAAC,IAAI,CAIvB;IAGzB;;;;;;;;;OASG;IACH,qBARW,MAAM,SACN,KAAK,GAAC,MAAM,GACV,QAAQ,CA0BpB;IAED;;;;;;OAMG;IACH,0BALW,wBAAwB,GACtB,cAAc,CAkC1B;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,mBATW,cAAc,GAAC,aAAa,KAC5B,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,GACJ;QAAC,MAAM,EAAE,iBAAiB,GAAC,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAyFtF;IAED;;;;;;;;;;;OAWG;IACH,qBATW,MAAM,OACN,KAAK,GACH,KAAK,CA+CjB;IAED;;;;OAIG;IACH,0BAWC;IAED;;OAEG;IACH,gBAOC;CACD;+BAxW8B,sCAAsC;2BAF7C,kBAAkB"}
1
+ {"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../../src/video/gradient.js"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH;IACC;;;OAGG;IACH,kBAHW,QAAQ,GAAC,QAAQ,UACjB,MAAM,EAAE,EA8DlB;IA3DA;;;OAGG;IACH;;;OAGG;IACH,YAA2B;IAE3B,0BAAgB;IAEhB;;;;;OAKG;IACH,QAJU,MAAM,EAAE,CAIE;IAEpB;;;;;OAKG;IACH,YAJU,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAI5B;IAEpB;;;;;OAKG;IACH,iBAJU,cAAc,GAAC,SAAS,CAIF;IAEhC;;;;;OAKG;IACH,eAJU,kBAAkB,GAAC,SAAS,CAIR;IAE9B;;;;;OAKG;IACH,QAJU,OAAO,CAIC;IAElB;;;;;OAKG;IACH,cAJU;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAC,EAAE,GAAC,IAAI,CAIvB;IAGzB;;;;;;;;;OASG;IACH,qBARW,MAAM,SACN,KAAK,GAAC,MAAM,GACV,QAAQ,CA0BpB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,0BAVW,wBAAwB,GACtB,cAAc,CAuC1B;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,mBATW,cAAc,GAAC,aAAa,KAC5B,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,GACJ;QAAC,MAAM,EAAE,iBAAiB,GAAC,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAyFtF;IAED;;;;;;;;;;;OAWG;IACH,qBATW,MAAM,OACN,KAAK,GACH,KAAK,CA+CjB;IAED;;;;OAIG;IACH,0BAWC;IAED;;OAEG;IACH,gBAOC;CACD;+BAvX8B,sCAAsC;2BAF7C,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"AAiCA;;;GAGG;AACH;IAs0BC;;;;;;;;;;;;OAYG;IACH,2BANW,MAAM,UACN,MAAM,0BACN,OAAO,GAEL,iBAAiB,GAAC,eAAe,CAI7C;IAED;;;;;;;;;;;;OAYG;IACH,wBAFa,iBAAiB,GAAC,eAAe,CAgB7C;IAj3BD;;OAEG;IACH,sBAFW,mBAAmB,EAwO7B;IArOA;;;OAGG;IACH,cAFU,kBAAkB,CAS3B;IAED;;;;OAIG;IACH,iBAFU,MAAM,CAEO;IAEvB;;;;OAIG;IACH,oBAFU,MAAM,CAE6C;IAE7D;;;;OAIG;IACH,YAHU,QAAQ,CAGsD;IAExE;;;;OAIG;IACH,gBAFU,OAAO,CAES;IAE1B;;;;OAIG;IACH,aAFU,MAAM,GAAC,SAAS,CAEE;IAE5B;;;;;;;OAOG;IACH,cAJU,QAAQ,GAAC,YAAY,GAAC,SAAS,CAIZ;IAE7B;;;;;;OAMG;IACH,mBAJU,gBAAgB,GAAC,IAAI,CAIF;IAE7B;;;OAGG;IACH,QAFU,MAAM,CAEU;IAE1B;;;;;;;;;;OAUG;IACH,MAFU,MAAM,CAEK;IAErB;;;;;OAKG;IACH,mBAFU,WAAW,GAAC,SAAS,CAEG;IAElC;;;;;;;;OAQG;IACH,0BAHU,OAAO,CAGoB;IAErC;;;;;;OAMG;IACH,sBAHU,OAAO,CAGgB;IAEjC;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGc;IAE/B;;;;;;;;;;;;;OAaG;IACH,gBAHU,MAAM,GAAC,MAAM,GAAC,IAAI,CAGF;IAE1B;;;;;;;OAOG;IACH,qBAHU,OAAO,CAGe;IAEhC;;;;;OAKG;IACH,iBAFU,KAAK,CAOd;IAED;;;;OAIG;IACH,aAFU,WAAW,CAEe;IAGpC,oBAAiD;IACjD,mBAA+C;IAC/C,4CAAqD;IAErD;;;;;;;;;OASG;IACH,WAHU,MAAM,CAGE;IAElB;;;OAGG;IACH,kBAAkB;IAGlB,2BAAsC;IAEtC;;;;;;;OAOG;IACH,sBAAkB;IAGlB,iBAAiB;IAEjB;;;;;;;;OAQG;IACH,kBAFU,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,GAAC,WAAW,GAAC,IAAI,CAEjD;IAE5B;;;;;;;OAOG;IACH,kBAFU,MAAM,CAES;IAU1B,4BANU,MAAM,EAQf;IATD;;OAEG;IACH,wBAFU,MAAM,CAIf;IAoBD,wBAPU,MAAM,EASf;IAhBD;;;;;;;;;OASG;IACH,oBAHU,MAAM,CAKf;IAcD,kBANa,MAAM,EAQlB;IAVD;;;OAGG;IACH,cAFa,MAAM,CAIlB;IAcD,iBANa,MAAM,EAQlB;IAVD;;;OAGG;IACH,aAFa,MAAM,CAIlB;IAMD;;;;;;;;OAQG;IACH,QAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;OAEG;IACH,cAAU;IAEV;;OAEG;IACH,cAAU;IAEV;;;;;;OAMG;IACH,yBAGC;IAFA,wBAAwB;IACxB,uBAA0D;IAG3D;;;;;;;;;;;;OAYG;IACH,wBAmBC;IAED;;;;OAIG;IACH,uBAGC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,uBAXW,MAAM,eACN,QAAQ,QAGR,MAAM,UACN,MAAM,cACN,MAAM,QAoEhB;IAED;;;;;;;;;;;;OAYG;IACH,qBAJa,MAAM,CAMlB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,uBALW,MAAM,GACJ;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAgB3C;IAED;;;;;OAKG;IACH,wBAJU,MAAM,EAAE,CAMjB;IAED;;;;;OAKG;IACH,yBAJU,MAAM,CAMf;IAED;;;;;;;;;;;;OAYG;IACH,wBARW,MAAM,eACN,QAAQ,QACR,MAAM,cACN,MAAM,QAOhB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,yBAiBC;IAED;;;;;;;;;;;OAWG;IACH,6BAgGC;IA1DA,wBAAwB;IACxB,0CAAgC;IAgC7B,wBAAwB;IACxB,kBAA+B;IA0BnC;;;OAGG;IACH,2BAEC;IAED;;;;;;;OAOG;IACH,8BAJW,MAAM,QAYhB;IAED;;;;;;OAMG;IACH,yBALW;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,QAC/B,MAAM,QAyBhB;IAED;;;;;;;;;;;;;;;;;OAiBG;IAEH,eAJW,IAAI,gBACJ,QAAQ,QAGW;IAE9B;;OAEG;IACH,cAiCC;IAED;;;;OAIG;IACH,gBAAY;IAEZ;;;OAGG;IACH,aAFa,iBAAiB,CAI7B;IAED;;;;;;;;;;OAUG;IACH,oBALW,MAAM,UACN,MAAM,0BACN,OAAO,GACL,iBAAiB,GAAC,eAAe,CAI7C;IAgDD;;;OAGG;IACH,cAFa,wBAAwB,GAAC,qBAAqB,GAAC,gBAAgB,CAI3E;IAED;;;;;;;OAOG;IACH,wCAFa,MAAM,CAYlB;IAED;;;;OAIG;IACH,sCAHW,MAAM,GACJ,OAAO,CAgBnB;IAED;;;;;;;;OAQG;IACH,4BALW,UAAU,GACR,OAAO,CAenB;IAED;;;;;;;OAOG;IAEH,0BALW,UAAU,QAKO;IAE5B;;;;;;;;;;;;OAYG;IAEH,mBATW,YAAY,KACZ,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,UACN,YAAY,cACZ,OAAO,QAG2C;IAE7D;;;;;;;;OAQG;IAEH,gBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAGiB;IAElC;;;;OAIG;IACH,0BAAsB;IAEtB;;;;;;;OAOG;IAEH,iBANW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,QAGoB;IAErC;;;OAGG;IACH,uBAAmB;IAEnB;;;;OAIG;IAEH,wBAHW,OAAO,QAGQ;IAE1B;;;OAGG;IACH,gBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,oBAFW,MAAM,QAIhB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH;;;;;;;;;;;;;;;OAeG;IACH,aAJW,MAAM,GAAC,IAAI,QAMrB;IAGD,oFAsBC;IAXC;;;OAGG;IACH,wCAA8B;IAShC;;;;;;;;;;;;;;;;;;;;OAoBG;IAEH,iBAJW,MAAM,QAMhB;IAED;;;;;;;;;;;;OAYG;IACH,qBAHW,MAAM,QACN,IAAI,QA4Bd;IAED;;;;OAIG;IAEH,gBAHW,KAAK,GAAC,MAAM,GAAC,QAAQ,QAK/B;IAED;;;OAGG;IACH,YAFa,KAAK,CAIjB;IAED;;;;;;;OAOG;IACH,yBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,QAAQ,CAIpB;IAED;;;;;;;;;OASG;IACH,yBARW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,QAAQ,CAIpB;IAED;;;;;;;;;OASG;IACH,sBARW,MAAM,EAAE,QAsBlB;IAED;;;OAGG;IACH,eAFa,MAAM,EAAE,CAIpB;IAED;;;OAGG;IACH,eAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAHW,IAAI,GAAC,MAAM,GACT,OAAO,CASnB;IAED;;;;OAIG;IACH,cAHW,MAAM,UACN,MAAM,QAchB;IAED;;;OAGG;IACH,sBAFW,OAAO,QAOjB;IAED;;;;;;;;;;;OAWG;IACH,2BAFa,QAAQ,GAAC,SAAS,CAS9B;IAED;;;;;;OAMG;IACH,wBAFW,MAAM,GAAC,SAAS,GAAC,QAAQ,QAInC;IAED;;;;OAIG;IACH,sBAFW,QAAQ,QAIlB;IAED;;;;OAIG;IACH,cAHW,IAAI,GAAC,SAAS,GAAC,OAAO,GAAC,IAAI,GAAC,OAAO,GAAC,MAAM,SAC1C,OAAO,QAiFjB;IAED;;;OAGG;IACH,YAFW,IAAI,GAAC,SAAS,GAAC,OAAO,GAAC,IAAI,GAAC,OAAO,GAAC,MAAM,QAIpD;IAED;;;;;;OAMG;IACH,UALW,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,SAClD,KAAK,GAAC,MAAM,SACZ,MAAM,GACJ,iBAAiB,GAAC,eAAe,CAyB7C;IAED;;;;;;;OAOG;IAEH,YANW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,QAGe;IAEhC;;;OAGG;IACH,uBAAmB;IAEnB;;;OAGG;IACH,aAAS;IAET;;;;OAIG;IACH,gBAAY;IAEZ;;;;OAIG;IAEH,aAJW,MAAM,KACN,MAAM,QAGC;IAElB;;;OAGG;IAEH,cAHW,MAAM,QAGD;IAEhB;;;;OAIG;IAEH,SAJW,MAAM,KACN,MAAM,QAGH;IAEd;;;;OAIG;IAEH,sBAHW,MAAM,QAGO;IAExB;;;;;;;OAOG;IAEH,YANW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,QAGe;IAEhC;;;;;;;;OAQG;IAEH,cAPW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,SACN,OAAO,QAGsB;IAExC;;;;;;;OAOG;IAEH,eANW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QAGS;IAE1B;;;;;;;;OAQG;IAEH,iBAPW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,SACN,OAAO,QAGgB;IAElC;;;;;;;OAOG;IAEH,mBANW,MAAM,UACN,MAAM,QACN,MAAM,QACN,MAAM,QAGwB;IAEzC;;;;;;;;;;;;;;;;;;OAkBG;IAEH,iBAXW,gBAAgB,GAAC,eAAe,GAAC,gBAAgB,GAAC,iBAAiB,GAAC,WAAW,GAAC,eAAe,GAAC,UAAU,MAC1G,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAGkC;IAEnD;;;;;;OAMG;IAEH,eAJW,IAAI,GAAC,SAAS,GAAC,OAAO,GAAC,IAAI,GAAC,OAAO,WACnC,OAAO,QAGM;IAExB;;;OAGG;IACH,kBAAc;IAEd;;;;OAIG;IACH,cAHW,KAAK,UACL,MAAM,QAMhB;IAED;;;OAGG;IACH,kBAGC;IAED;;;;;;;;;;;;;;;OAeG;IACH,gBAHW,MAAM,QAgBhB;IAED;;;;;;;OAOG;IACH,cANW,MAAM,YACN,MAAM,gBAOhB;IAED;;;;;;;;OAQG;IACH,qBANW,MAAM,YACN,MAAM,gBAOhB;IAED;;;;;;;OAOG;IACH,iBANW,MAAM,YACN,MAAM,gBAOhB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IAEH,yBAfG;QAAiC,MAAM;QAIwC,MAAM;eAAlE,MAAM;eAAK,MAAM;mBAAS,MAAM;oBAAU,MAAM;;KAMnE,GAAU,SAAS,CAOrB;CACD;;;;;+BAlvD8B,sCAAsC;yBAL5C,qBAAqB;kCAQb,sCAAsC;mBAXpD,2BAA2B;sBACxB,oBAAoB;wBAMlB,kBAAkB;yBALjB,qBAAqB;0BAavB,8BAA8B;yBAT5B,eAAe;4BAcf,wBAAwB;+BAJrB,8BAA8B;6BAChC,0BAA0B;0BAC7B,yBAAyB;6BACtB,4BAA4B;0CAEf,wBAAwB"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"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"}
@@ -1,4 +1,100 @@
1
1
  export default NoiseTexture2d;
2
+ /**
3
+ * What a {@link NoiseTexture2d} bakes WITH — its own settings, as opposed to
4
+ * the field's.
5
+ */
6
+ export type NoiseTexture2dBakeSettings = {
7
+ /**
8
+ * - baked texture width in pixels
9
+ */
10
+ width?: number;
11
+ /**
12
+ * - baked texture height in pixels
13
+ */
14
+ height?: number;
15
+ /**
16
+ * - an existing {@link Noise} to bake; when omitted
17
+ * one is built from the forwarded field settings
18
+ */
19
+ noise?: Noise;
20
+ /**
21
+ * - tile cleanly in both axes
22
+ */
23
+ seamless?: boolean;
24
+ /**
25
+ * - edge blend band width as a
26
+ * fraction (0..1) of the smaller dimension, when `seamless`
27
+ */
28
+ seamlessBlendSkirt?: number;
29
+ /**
30
+ * - invert the noise value (`1 - v`)
31
+ */
32
+ invert?: boolean;
33
+ /**
34
+ * - encode as a normal map
35
+ */
36
+ asNormalMap?: boolean;
37
+ /**
38
+ * - normal steepness when `asNormalMap`
39
+ */
40
+ bumpStrength?: number;
41
+ /**
42
+ * - map the noise
43
+ * value to a color
44
+ */
45
+ colorRamp?: import("../gradient.js").Gradient;
46
+ /**
47
+ * - sample in 3D (`getNoise3d`) using an
48
+ * internal `time` as the third axis, advanced by {@link NoiseTexture2d#update}
49
+ */
50
+ animated?: boolean;
51
+ /**
52
+ * - animation speed in noise z-units per second
53
+ * (only used while `animated`)
54
+ */
55
+ speed?: number;
56
+ };
57
+ /**
58
+ * Everything the constructor takes.
59
+ *
60
+ * The settings object is handed to {@link Noise} WHOLE when no `noise` instance
61
+ * is given, so every field setting — `type`, `seed`, `frequency`/`scale`,
62
+ * `octaves`, `gain`/`persistence`, `lacunarity`, `fractalType`, the domain-warp
63
+ * settings — belongs here too. Spelling them out a second time is what would
64
+ * drift; the intersection cannot.
65
+ */
66
+ export type NoiseTexture2dSettings = NoiseTexture2dBakeSettings & import("../../math/noise.ts").NoiseSettings;
67
+ /**
68
+ * What a {@link NoiseTexture2d} bakes WITH — its own settings, as opposed to
69
+ * the field's.
70
+ * @typedef {object} NoiseTexture2dBakeSettings
71
+ * @property {number} [width=256] - baked texture width in pixels
72
+ * @property {number} [height=256] - baked texture height in pixels
73
+ * @property {Noise} [noise] - an existing {@link Noise} to bake; when omitted
74
+ * one is built from the forwarded field settings
75
+ * @property {boolean} [seamless=false] - tile cleanly in both axes
76
+ * @property {number} [seamlessBlendSkirt=0.1] - edge blend band width as a
77
+ * fraction (0..1) of the smaller dimension, when `seamless`
78
+ * @property {boolean} [invert=false] - invert the noise value (`1 - v`)
79
+ * @property {boolean} [asNormalMap=false] - encode as a normal map
80
+ * @property {number} [bumpStrength=1] - normal steepness when `asNormalMap`
81
+ * @property {import("../gradient.js").Gradient} [colorRamp] - map the noise
82
+ * value to a color
83
+ * @property {boolean} [animated=false] - sample in 3D (`getNoise3d`) using an
84
+ * internal `time` as the third axis, advanced by {@link NoiseTexture2d#update}
85
+ * @property {number} [speed=1] - animation speed in noise z-units per second
86
+ * (only used while `animated`)
87
+ */
88
+ /**
89
+ * Everything the constructor takes.
90
+ *
91
+ * The settings object is handed to {@link Noise} WHOLE when no `noise` instance
92
+ * is given, so every field setting — `type`, `seed`, `frequency`/`scale`,
93
+ * `octaves`, `gain`/`persistence`, `lacunarity`, `fractalType`, the domain-warp
94
+ * settings — belongs here too. Spelling them out a second time is what would
95
+ * drift; the intersection cannot.
96
+ * @typedef {NoiseTexture2dBakeSettings & import("../../math/noise.ts").NoiseSettings} NoiseTexture2dSettings
97
+ */
2
98
  /**
3
99
  * A {@link Texture2d} that bakes a {@link Noise} field into a drawable canvas —
4
100
  * usable directly as a sprite image, a normal map, an image layer, or a custom
@@ -41,39 +137,10 @@ export default NoiseTexture2d;
41
137
  */
42
138
  declare class NoiseTexture2d extends Texture2d {
43
139
  /**
44
- * @param {object} [settings] - configuration; any {@link Noise} setting
45
- * (`type`, `seed`, `frequency`/`scale`, `octaves`, `gain`/`persistence`,
46
- * `lacunarity`, `fractalType`, domain-warp settings) is forwarded when no
47
- * `noise` instance is given.
48
- * @param {number} [settings.width=256] - baked texture width in pixels
49
- * @param {number} [settings.height=256] - baked texture height in pixels
50
- * @param {Noise} [settings.noise] - an existing {@link Noise} to bake; when
51
- * omitted one is built from the forwarded settings
52
- * @param {boolean} [settings.seamless=false] - tile cleanly in both axes
53
- * @param {number} [settings.seamlessBlendSkirt=0.1] - edge blend band width
54
- * as a fraction (0..1) of the smaller dimension, when `seamless`
55
- * @param {boolean} [settings.invert=false] - invert the noise value (`1 - v`)
56
- * @param {boolean} [settings.asNormalMap=false] - encode as a normal map
57
- * @param {number} [settings.bumpStrength=1] - normal steepness when `asNormalMap`
58
- * @param {Gradient} [settings.colorRamp] - map the noise value to a color
59
- * @param {boolean} [settings.animated=false] - sample in 3D (`getNoise3d`)
60
- * using an internal `time` as the third axis, advanced by {@link NoiseTexture2d#update}
61
- * @param {number} [settings.speed=1] - animation speed in noise z-units per
62
- * second (only used while `animated`)
63
- */
64
- constructor(settings?: {
65
- width?: number | undefined;
66
- height?: number | undefined;
67
- noise?: Noise | undefined;
68
- seamless?: boolean | undefined;
69
- seamlessBlendSkirt?: number | undefined;
70
- invert?: boolean | undefined;
71
- asNormalMap?: boolean | undefined;
72
- bumpStrength?: number | undefined;
73
- colorRamp?: any;
74
- animated?: boolean | undefined;
75
- speed?: number | undefined;
76
- });
140
+ * @param {NoiseTexture2dSettings} [settings] - bake settings, plus any
141
+ * {@link NoiseSettings} for the field itself
142
+ */
143
+ constructor(settings?: NoiseTexture2dSettings);
77
144
  /** baked texture width in pixels @type {number} */
78
145
  width: number;
79
146
  /** baked texture height in pixels @type {number} */
@@ -128,6 +195,6 @@ declare class NoiseTexture2d extends Texture2d {
128
195
  */
129
196
  getTexture(): HTMLCanvasElement;
130
197
  }
131
- import Texture2d from "./texture2d.ts";
132
198
  import { Noise } from "../../math/noise.ts";
199
+ import Texture2d from "./texture2d.ts";
133
200
  //# sourceMappingURL=noise_texture2d.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"noise_texture2d.d.ts","sourceRoot":"","sources":["../../../src/video/texture/noise_texture2d.js"],"names":[],"mappings":";AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH;IACC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,uBAhBG;QAA0B,KAAK;QACL,MAAM;QACP,KAAK;QAEH,QAAQ;QACT,kBAAkB;QAEjB,MAAM;QACN,WAAW;QACZ,YAAY;QACV,SAAS;QACV,QAAQ;QAET,KAAK;KAEjC,EAwDA;IApDA,mDAAmD;IACnD,OADyC,MAAM,CACb;IAClC,oDAAoD;IACpD,QAD0C,MAAM,CACZ;IACpC,0DAA0D;IAC1D,OADiD,KAAK,CAEiB;IACvE,gDAAgD;IAChD,UADqC,OAAO,CACF;IAC1C,2EAA2E;IAC3E,oBADiE,MAAM,CAItE;IACD,6CAA6C;IAC7C,QADkC,OAAO,CACH;IACtC,qEAAqE;IACrE,aAD0D,OAAO,CACjB;IAChD,yDAAyD;IACzD,cAD+C,MAAM,CACL;IAChD,2EAA2E;IAC3E,WAD0D,QAAQ,GAAC,IAAI,CAC5B;IAC3C,4EAA4E;IAC5E,UADiE,OAAO,CAC9B;IAC1C,iEAAiE;IACjE,OADuD,MAAM,CAC7B;IAChC,sEAAsE;IACtE,MAD4D,MAAM,CACrD;IAEb;;;;OAIG;IACH,SAJ2D,iBAAiB,GAAC,IAAI,CAI9D;IACnB;;;;OAIG;IACH,YAJkE,SAAS,GAAC,IAAI,CAI1D;IACtB;;;;OAIG;IACH,UAJqE,YAAY,GAAC,IAAI,CAIlE;IACpB;wFACoF;IACpF,UADkE,MAAM,CACvD;IAKlB;;;;;OAKG;IACH,eAFa,MAAM,CAIlB;IAED;;;;;OAKG;IACH,QAFa,cAAc,CAiC1B;IAED;;;;;;;;;OASG;IACH,WAHW,MAAM,GACJ,cAAc,CAQ1B;IAED;;;;;;;;OAQG;IACH,kCAMC;IAED;;;;;OAKG;IACH,8CAOC;IAED;;;;;;;OAOG;IACH,qBAJa,YAAY,CA4CxB;IAED;;;OAGG;IACH,+CASC;IAED;;;OAGG;IACH,+CAWC;IAED;;;;;;OAMG;IACH,+CA+BC;IAED;;OAEG;IACH,cAFa,iBAAiB,CAI7B;CAcD;sBAlXqB,gBAAgB;sBAFhB,qBAAqB"}
1
+ {"version":3,"file":"noise_texture2d.d.ts","sourceRoot":"","sources":["../../../src/video/texture/noise_texture2d.js"],"names":[],"mappings":";;;;;;;;;YAkBc,MAAM;;;;aACN,MAAM;;;;;YACN,KAAK;;;;eAEL,OAAO;;;;;yBACP,MAAM;;;;aAEN,OAAO;;;;kBACP,OAAO;;;;mBACP,MAAM;;;;;gBACN,OAAO,gBAAgB,EAAE,QAAQ;;;;;eAEjC,OAAO;;;;;YAEP,MAAM;;;;;;;;;;;qCAYP,0BAA0B,GAAG,OAAO,qBAAqB,EAAE,aAAa;AA9BrF;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH;IACC;;;OAGG;IACH,uBAHW,sBAAsB,EA0DhC;IApDA,mDAAmD;IACnD,OADyC,MAAM,CACb;IAClC,oDAAoD;IACpD,QAD0C,MAAM,CACZ;IACpC,0DAA0D;IAC1D,OADiD,KAAK,CAEiB;IACvE,gDAAgD;IAChD,UADqC,OAAO,CACF;IAC1C,2EAA2E;IAC3E,oBADiE,MAAM,CAItE;IACD,6CAA6C;IAC7C,QADkC,OAAO,CACH;IACtC,qEAAqE;IACrE,aAD0D,OAAO,CACjB;IAChD,yDAAyD;IACzD,cAD+C,MAAM,CACL;IAChD,2EAA2E;IAC3E,WAD0D,QAAQ,GAAC,IAAI,CAC5B;IAC3C,4EAA4E;IAC5E,UADiE,OAAO,CAC9B;IAC1C,iEAAiE;IACjE,OADuD,MAAM,CAC7B;IAChC,sEAAsE;IACtE,MAD4D,MAAM,CACrD;IAEb;;;;OAIG;IACH,SAJ2D,iBAAiB,GAAC,IAAI,CAI9D;IACnB;;;;OAIG;IACH,YAJkE,SAAS,GAAC,IAAI,CAI1D;IACtB;;;;OAIG;IACH,UAJqE,YAAY,GAAC,IAAI,CAIlE;IACpB;wFACoF;IACpF,UADkE,MAAM,CACvD;IAKlB;;;;;OAKG;IACH,eAFa,MAAM,CAIlB;IAED;;;;;OAKG;IACH,QAFa,cAAc,CAiC1B;IAED;;;;;;;;;OASG;IACH,WAHW,MAAM,GACJ,cAAc,CAQ1B;IAED;;;;;;;;OAQG;IACH,kCAMC;IAED;;;;;OAKG;IACH,8CAOC;IAED;;;;;;;OAOG;IACH,qBAJa,YAAY,CA4CxB;IAED;;;OAGG;IACH,+CASC;IAED;;;OAGG;IACH,+CAWC;IAED;;;;;;OAMG;IACH,+CA+BC;IAED;;OAEG;IACH,cAFa,iBAAiB,CAI7B;CAcD;sBApYqB,qBAAqB;sBAErB,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"mesh_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/batchers/mesh_batcher.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesh_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/batchers/mesh_batcher.js"],"names":[],"mappings":"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"}
@@ -148,11 +148,16 @@ export default class GLShader {
148
148
  /**
149
149
  * Set the uniform to the given value
150
150
  * @param {string} name - the uniform name
151
- * @param {object|Float32Array} value - the value to assign to that uniform
151
+ * @param {number|boolean|number[]|Float32Array|object} value - the value to assign to that
152
+ * uniform. Scalars (`float`, `int`, `bool`) take a number or a boolean;
153
+ * vectors and matrices take an array, a `Float32Array`, or any object
154
+ * exposing `toArray()` — which is every {@link Vector2d},
155
+ * {@link Vector3d}, {@link Color} and {@link Matrix3d}.
152
156
  * @example
153
157
  * myShader.setUniform("uProjectionMatrix", this.projectionMatrix);
158
+ * myShader.setUniform("uStrength", 0.5); // a scalar is a plain number
154
159
  */
155
- setUniform(name: string, value: object | Float32Array): void;
160
+ setUniform(name: string, value: number | boolean | number[] | Float32Array | object): void;
156
161
  /**
157
162
  * activate the given vertex attribute for this shader.
158
163
  *
@@ -1 +1 @@
1
- {"version":3,"file":"glshader.d.ts","sourceRoot":"","sources":["../../../src/video/webgl/glshader.js"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,iBAtCW,qBAAqB,UAGrB,MAAM,GAAC,MAAM,aAGb,MAAM,cACN,MAAM,EAqLhB;IAzIA;;;OAGG;IACH,IAFU,qBAAqB,CAEnB;IAEZ;;;;;OAKG;IACH,kBAHU,OAAO,CAIwD;IAEzE;;;;;OAKG;IACH,mBAHU,OAAO,CAGuB;IAExC;;;OAGG;IACH,MAFU,MAAM,GAAC,SAAS,CAEV;IAEhB;;;;OAIG;IACH,OAFU,MAAM,GAAC,SAAS,CAER;IAIlB,mBAAqB;IAKrB;;;OAGG;IACH;;;MAAwD;IAWxD;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGK;IAEtB;;;;;;;;;OASG;IACH,QAHU,OAAO,CAGE;IAEnB;;;;;;;;;;OAUG;IACH,oBAHU,OAAO,CAGK;IAGtB;;;OAGG;IACH,+BAA2B;IAC3B;;;OAGG;IACH,oCAA+B;IAC/B;;;OAGG;IACH,+BAA2B;IAG3B;;;OAGG;IACH,mBAAwC;IAMtC,sBAAmB;IACnB,iBAAoB;IACpB,qBAAsB;IAgBzB;;;;;;;;OAQG;IACH,iBA0CC;IAzCA,YAGC;IACD,cAGC;IAoCF;;;;;;;OAOG;IACH,uBAgBC;IAED;;;;;;;OAOG;IACH,2BAMC;IAED;;OAEG;IACH,aAcC;IAED;;;;OAIG;IACH,wBAHW,MAAM,GACJ,KAAK,CAcjB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,SACN,MAAM,GAAC,YAAY,QA4C7B;IAED;;;;;;;;;;;;;OAaG;IACH,wBAJW,qBAAqB,cACrB,MAAM,EAAE,UACR,MAAM,QAmBhB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,SAFa,QAAQ,CA8BpB;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAVW,MAAM,QACN,MAAM,oBACN,kBAAkB,EAAE,mBACpB,MAAM,GACJ,MAAM,GAAC,IAAI,CAiFvB;IAED;;;;;OAKG;IACH,gBAkCC;CACD"}
1
+ {"version":3,"file":"glshader.d.ts","sourceRoot":"","sources":["../../../src/video/webgl/glshader.js"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,iBAtCW,qBAAqB,UAGrB,MAAM,GAAC,MAAM,aAGb,MAAM,cACN,MAAM,EAqLhB;IAzIA;;;OAGG;IACH,IAFU,qBAAqB,CAEnB;IAEZ;;;;;OAKG;IACH,kBAHU,OAAO,CAIwD;IAEzE;;;;;OAKG;IACH,mBAHU,OAAO,CAGuB;IAExC;;;OAGG;IACH,MAFU,MAAM,GAAC,SAAS,CAEV;IAEhB;;;;OAIG;IACH,OAFU,MAAM,GAAC,SAAS,CAER;IAIlB,mBAAqB;IAKrB;;;OAGG;IACH;;;MAAwD;IAWxD;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGK;IAEtB;;;;;;;;;OASG;IACH,QAHU,OAAO,CAGE;IAEnB;;;;;;;;;;OAUG;IACH,oBAHU,OAAO,CAGK;IAGtB;;;OAGG;IACH,+BAA2B;IAC3B;;;OAGG;IACH,oCAA+B;IAC/B;;;OAGG;IACH,+BAA2B;IAG3B;;;OAGG;IACH,mBAAwC;IAMtC,sBAAmB;IACnB,iBAAoB;IACpB,qBAAsB;IAgBzB;;;;;;;;OAQG;IACH,iBA0CC;IAzCA,YAGC;IACD,cAGC;IAoCF;;;;;;;OAOG;IACH,uBAgBC;IAED;;;;;;;OAOG;IACH,2BAMC;IAED;;OAEG;IACH,aAcC;IAED;;;;OAIG;IACH,wBAHW,MAAM,GACJ,KAAK,CAcjB;IAED;;;;;;;;;;;OAWG;IACH,iBAVW,MAAM,SACN,MAAM,GAAC,OAAO,GAAC,MAAM,EAAE,GAAC,YAAY,GAAC,MAAM,QAiDrD;IAED;;;;;;;;;;;;;OAaG;IACH,wBAJW,qBAAqB,cACrB,MAAM,EAAE,UACR,MAAM,QAmBhB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,SAFa,QAAQ,CA8BpB;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAVW,MAAM,QACN,MAAM,oBACN,kBAAkB,EAAE,mBACpB,MAAM,GACJ,MAAM,GAAC,IAAI,CAiFvB;IAED;;;;;OAKG;IACH,gBAkCC;CACD"}