@tolokoban/tgd 2.0.88 → 2.0.91

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 (132) hide show
  1. package/lib/dist/bounding-box.d.ts +1 -1
  2. package/lib/dist/bounding-box.d.ts.map +1 -1
  3. package/lib/dist/context/context.d.ts +6 -4
  4. package/lib/dist/context/context.d.ts.map +1 -1
  5. package/lib/dist/context/context.js +9 -9
  6. package/lib/dist/context/webgl-params.d.ts +51 -0
  7. package/lib/dist/context/webgl-params.d.ts.map +1 -0
  8. package/lib/dist/context/webgl-params.js +152 -0
  9. package/lib/dist/filter/blur.d.ts.map +1 -1
  10. package/lib/dist/filter/blur.js +5 -13
  11. package/lib/dist/filter/index.d.ts +1 -0
  12. package/lib/dist/filter/index.d.ts.map +1 -1
  13. package/lib/dist/filter/index.js +2 -1
  14. package/lib/dist/filter/multiply.d.ts +13 -0
  15. package/lib/dist/filter/multiply.d.ts.map +1 -0
  16. package/lib/dist/filter/multiply.js +28 -0
  17. package/lib/dist/filter/verbatim.d.ts.map +1 -1
  18. package/lib/dist/filter/verbatim.js +1 -5
  19. package/lib/dist/geometry/tubes.d.ts +19 -0
  20. package/lib/dist/geometry/tubes.d.ts.map +1 -0
  21. package/lib/dist/geometry/tubes.js +78 -0
  22. package/lib/dist/index.d.ts +1 -1
  23. package/lib/dist/index.d.ts.map +1 -1
  24. package/lib/dist/index.js +2 -2
  25. package/lib/dist/material/glass.d.ts +3 -3
  26. package/lib/dist/material/glass.d.ts.map +1 -1
  27. package/lib/dist/material/glass.js +13 -15
  28. package/lib/dist/material/global.d.ts +2 -2
  29. package/lib/dist/material/global.d.ts.map +1 -1
  30. package/lib/dist/material/global.js +5 -7
  31. package/lib/dist/material/material.d.ts +10 -2
  32. package/lib/dist/material/material.d.ts.map +1 -1
  33. package/lib/dist/material/material.js +3 -3
  34. package/lib/dist/math/vec3.d.ts +2 -1
  35. package/lib/dist/math/vec3.d.ts.map +1 -1
  36. package/lib/dist/math/vec3.js +14 -4
  37. package/lib/dist/painter/background/background.d.ts +2 -0
  38. package/lib/dist/painter/background/background.d.ts.map +1 -1
  39. package/lib/dist/painter/background/background.js +7 -7
  40. package/lib/dist/painter/background-with-depth/background-with-depth.d.ts.map +1 -1
  41. package/lib/dist/painter/background-with-depth/background-with-depth.js +10 -7
  42. package/lib/dist/painter/filter/filter.d.ts +9 -9
  43. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  44. package/lib/dist/painter/filter/filter.js +80 -89
  45. package/lib/dist/painter/framebuffer-msaa.d.ts +1 -0
  46. package/lib/dist/painter/framebuffer-msaa.d.ts.map +1 -1
  47. package/lib/dist/painter/framebuffer-msaa.js +5 -2
  48. package/lib/dist/painter/framebuffer.d.ts +16 -3
  49. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  50. package/lib/dist/painter/framebuffer.js +19 -8
  51. package/lib/dist/painter/index.d.ts +2 -1
  52. package/lib/dist/painter/index.d.ts.map +1 -1
  53. package/lib/dist/painter/index.js +3 -2
  54. package/lib/dist/painter/mesh/gltf/gltf.d.ts +6 -4
  55. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  56. package/lib/dist/painter/mesh/gltf/gltf.js +5 -5
  57. package/lib/dist/painter/mesh/mesh/mesh.d.ts +3 -0
  58. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  59. package/lib/dist/painter/mesh/mesh/mesh.js +4 -4
  60. package/lib/dist/painter/mix/index.d.ts +2 -0
  61. package/lib/dist/painter/mix/index.d.ts.map +1 -0
  62. package/lib/dist/painter/mix/index.js +2 -0
  63. package/lib/dist/painter/mix/mix.d.ts +25 -0
  64. package/lib/dist/painter/mix/mix.d.ts.map +1 -0
  65. package/lib/dist/painter/mix/mix.js +85 -0
  66. package/lib/dist/painter/segments/segments-morphing.d.ts +13 -4
  67. package/lib/dist/painter/segments/segments-morphing.d.ts.map +1 -1
  68. package/lib/dist/painter/segments/segments-morphing.js +40 -38
  69. package/lib/dist/painter/segments/segments.d.ts +15 -5
  70. package/lib/dist/painter/segments/segments.d.ts.map +1 -1
  71. package/lib/dist/painter/segments/segments.js +39 -37
  72. package/lib/dist/painter/skybox/skybox.d.ts +4 -4
  73. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  74. package/lib/dist/painter/skybox/skybox.js +7 -9
  75. package/lib/dist/painter/state/state.d.ts +15 -6
  76. package/lib/dist/painter/state/state.d.ts.map +1 -1
  77. package/lib/dist/painter/state/state.js +40 -27
  78. package/lib/dist/painter/tubes/capsule.d.ts +11 -0
  79. package/lib/dist/painter/tubes/capsule.d.ts.map +1 -0
  80. package/lib/dist/painter/tubes/capsule.js +109 -0
  81. package/lib/dist/painter/tubes/ellipse.d.ts +32 -0
  82. package/lib/dist/painter/tubes/ellipse.d.ts.map +1 -0
  83. package/lib/dist/painter/tubes/ellipse.js +62 -0
  84. package/lib/dist/painter/tubes/geometry.d.ts +8 -0
  85. package/lib/dist/painter/tubes/geometry.d.ts.map +1 -0
  86. package/lib/dist/painter/tubes/geometry.js +78 -0
  87. package/lib/dist/painter/tubes/index.d.ts +2 -0
  88. package/lib/dist/painter/tubes/index.d.ts.map +1 -0
  89. package/lib/dist/painter/tubes/index.js +2 -0
  90. package/lib/dist/painter/tubes/segments-morphing.d.ts +89 -0
  91. package/lib/dist/painter/tubes/segments-morphing.d.ts.map +1 -0
  92. package/lib/dist/painter/tubes/segments-morphing.js +215 -0
  93. package/lib/dist/painter/tubes/segments.d.ts +133 -0
  94. package/lib/dist/painter/tubes/segments.d.ts.map +1 -0
  95. package/lib/dist/painter/tubes/segments.js +270 -0
  96. package/lib/dist/painter/tubes/tubes.d.ts +26 -0
  97. package/lib/dist/painter/tubes/tubes.d.ts.map +1 -0
  98. package/lib/dist/painter/tubes/tubes.js +62 -0
  99. package/lib/dist/painter/tubes/types.d.ts +45 -0
  100. package/lib/dist/painter/tubes/types.d.ts.map +1 -0
  101. package/lib/dist/painter/tubes/types.js +2 -0
  102. package/lib/dist/painter/tubes/vertices.d.ts +10 -0
  103. package/lib/dist/painter/tubes/vertices.d.ts.map +1 -0
  104. package/lib/dist/painter/tubes/vertices.js +31 -0
  105. package/lib/dist/painter/x-ray/x-ray.d.ts +2 -0
  106. package/lib/dist/painter/x-ray/x-ray.d.ts.map +1 -1
  107. package/lib/dist/painter/x-ray/x-ray.js +5 -5
  108. package/lib/dist/parser/gltf/gltf.d.ts +6 -4
  109. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  110. package/lib/dist/parser/gltf/gltf.js +8 -12
  111. package/lib/dist/texture/texture-depth.d.ts +3 -0
  112. package/lib/dist/texture/texture-depth.d.ts.map +1 -1
  113. package/lib/dist/texture/texture-depth.js +1 -1
  114. package/lib/dist/texture/texture2d.d.ts +4 -1
  115. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  116. package/lib/dist/texture/texture2d.js +10 -7
  117. package/lib/dist/types/index.d.ts +1 -1
  118. package/lib/dist/types/index.d.ts.map +1 -1
  119. package/lib/dist/types/index.js +2 -2
  120. package/lib/dist/utils/functions.d.ts +2 -0
  121. package/lib/dist/utils/functions.d.ts.map +1 -0
  122. package/lib/dist/utils/functions.js +4 -0
  123. package/lib/dist/utils/state/blend.d.ts +13 -4
  124. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  125. package/lib/dist/utils/state/blend.js +21 -22
  126. package/lib/dist/utils/state/cull.d.ts +13 -4
  127. package/lib/dist/utils/state/cull.d.ts.map +1 -1
  128. package/lib/dist/utils/state/cull.js +15 -16
  129. package/lib/dist/utils/state/depth.d.ts +13 -4
  130. package/lib/dist/utils/state/depth.d.ts.map +1 -1
  131. package/lib/dist/utils/state/depth.js +19 -20
  132. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { ArrayNumber3 } from "./types";
1
+ import type { ArrayNumber3 } from "./types";
2
2
  export declare class TgdBoundingBox {
3
3
  private xMin;
4
4
  private yMin;
@@ -1 +1 @@
1
- {"version":3,"file":"bounding-box.d.ts","sourceRoot":"","sources":["../src/bounding-box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,qBAAa,cAAc;IACvB,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA2B;gBAE3B,GAAG,MAAM,EAAE,YAAY,EAAE;IAMrC,IAAI,GAAG,IAAI,YAAY,CAEtB;IAED,IAAI,GAAG,IAAI,YAAY,CAEtB;IAED,IAAI,MAAM,IAAI,YAAY,CAIzB;IAED,IAAI,IAAI,IAAI,YAAY,CAIvB;IAED,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAU/C,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM3D,kBAAkB,IAAI,cAAc;IAQpC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM;CAQzB"}
1
+ {"version":3,"file":"bounding-box.d.ts","sourceRoot":"","sources":["../src/bounding-box.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,qBAAa,cAAc;IACvB,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA2B;gBAE3B,GAAG,MAAM,EAAE,YAAY,EAAE;IAMrC,IAAI,GAAG,IAAI,YAAY,CAEtB;IAED,IAAI,GAAG,IAAI,YAAY,CAEtB;IAED,IAAI,MAAM,IAAI,YAAY,CAIzB;IAED,IAAI,IAAI,IAAI,YAAY,CAIvB;IAED,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAU/C,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM3D,kBAAkB,IAAI,cAAc;IAQpC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM;CAQzB"}
@@ -1,8 +1,9 @@
1
- import { TgdCamera } from "../camera";
1
+ import { type TgdCamera } from "../camera";
2
2
  import { TgdInputs } from "../input";
3
- import { TgdPainterGroup } from "../painter/group";
4
- import { TgdAnimation } from "../types/animation";
5
3
  import { TgdEvent } from "../event";
4
+ import { TgdPainterGroup } from "../painter/group";
5
+ import type { TgdAnimation } from "../types/animation";
6
+ import { WebglParams } from "./webgl-params";
6
7
  /**
7
8
  * You can pass all the attributes of the [WebGL2ContextAttributes](https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext)
8
9
  * object.
@@ -73,6 +74,7 @@ export declare class TgdContext extends TgdPainterGroup {
73
74
  static get devicePixelRatio(): number;
74
75
  readonly name: string;
75
76
  readonly inputs: TgdInputs;
77
+ readonly webglParams: WebglParams;
76
78
  readonly implementationColorReadFormat: number;
77
79
  readonly implementationColorReadType: number;
78
80
  readonly eventPaint: TgdEvent<TgdContext>;
@@ -191,6 +193,6 @@ export declare class TgdContext extends TgdPainterGroup {
191
193
  preserveContextLostEvents?: boolean;
192
194
  }): void;
193
195
  private readonly createWebGLContext;
194
- stateReset(): WebGL2RenderingContext;
196
+ private stateReset;
195
197
  }
196
198
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { TgdCameraPerspective } from "./../camera/index.js";
2
+ import { TgdConsole } from "./../debug/index.js";
2
3
  import { TgdInputs } from "./../input/index.js";
4
+ import { TgdEvent } from "../event/index.js";
3
5
  import { TgdPainterGroup } from "../painter/group.js";
4
6
  import { webglLookup } from "../utils/index.js";
5
7
  import { TgdManagerAnimation } from "./animation/animation-manager.js";
6
- import { TgdEvent } from "../event/index.js";
7
- import { TgdConsole } from "./../debug/index.js";
8
+ import { WebglParams } from "./webgl-params.js";
8
9
  /**
9
10
  * This class gives you a [WebGL2RenderingContext](https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext) for a given canvas,
10
11
  * through its public readonly attribute `gl`.
@@ -121,7 +122,7 @@ export class TgdContext extends TgdPainterGroup {
121
122
  // the pause is like a frozen time.
122
123
  timeInSec -= this.pauseAccumulation;
123
124
  }
124
- const { gl } = this;
125
+ const { gl, webglParams } = this;
125
126
  const delayInSec = timeInSec - this.lastTimeInSec;
126
127
  this._fps = Math.round(1 / delayInSec);
127
128
  this.lastTimeInSec = timeInSec;
@@ -129,7 +130,7 @@ export class TgdContext extends TgdPainterGroup {
129
130
  this._camera.screenHeight = gl.drawingBufferHeight;
130
131
  this._aspectRatio = gl.drawingBufferWidth / gl.drawingBufferHeight;
131
132
  this._aspectRatioInverse = 1 / this._aspectRatio;
132
- gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);
133
+ webglParams.setViewport(0, 0, gl.canvas.width, gl.canvas.height);
133
134
  super.paint(timeInSec, delayInSec);
134
135
  if (this.animationManager.paint(timeInSec) ||
135
136
  this.paintingIsQueued ||
@@ -186,9 +187,7 @@ export class TgdContext extends TgdPainterGroup {
186
187
  text: "[TgdContext]",
187
188
  color: "#fffe",
188
189
  background: "#a00",
189
- }, ` WebGL context has been lost! ${evt instanceof WebGLContextEvent
190
- ? evt.statusMessage
191
- : evt}`);
190
+ }, ` WebGL context has been lost! ${evt instanceof WebGLContextEvent ? evt.statusMessage : evt}`);
192
191
  // @see https://wikis.khronos.org/webgl/HandlingContextLost
193
192
  evt.preventDefault();
194
193
  this.delete({ preserveContextLostEvents: true });
@@ -250,6 +249,7 @@ export class TgdContext extends TgdPainterGroup {
250
249
  this._camera = options.camera;
251
250
  this.name = (_c = options.name) !== null && _c !== void 0 ? _c : `Context#${TgdContext.incrementalId++}`;
252
251
  this.stateReset();
252
+ this.webglParams = new WebglParams(gl);
253
253
  }
254
254
  get gl() {
255
255
  if (!this._gl) {
@@ -285,7 +285,7 @@ export class TgdContext extends TgdPainterGroup {
285
285
  checkError(caption, action) {
286
286
  const { gl } = this;
287
287
  const error = gl.getError();
288
- if (error !== gl.NO_ERROR && error != gl.CONTEXT_LOST_WEBGL) {
288
+ if (error !== gl.NO_ERROR && error !== gl.CONTEXT_LOST_WEBGL) {
289
289
  console.error(`WebGL Error in ${caption}:`, webglLookup(error));
290
290
  action === null || action === void 0 ? void 0 : action();
291
291
  return true;
@@ -523,4 +523,4 @@ TgdContext.incrementalId = 1;
523
523
  function isOffscreen(canvas) {
524
524
  return canvas instanceof OffscreenCanvas;
525
525
  }
526
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFFbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBZ0R2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLGVBQWU7SUFHM0M7Ozs7T0FJRztJQUNJLE1BQU0sS0FBSyxnQkFBZ0I7O1FBQzlCLE9BQU8sTUFBQSxVQUFVLENBQUMsZ0JBQWdCLG1DQUFJLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBMkREOzs7T0FHRztJQUNILFlBQ29CLE1BQTJDLEVBQzNDLFVBQXVDLEVBQUU7O1FBRXpELEtBQUssRUFBRSxDQUFBO1FBSFMsV0FBTSxHQUFOLE1BQU0sQ0FBcUM7UUFDM0MsWUFBTyxHQUFQLE9BQU8sQ0FBa0M7UUEzRDdDLGVBQVUsR0FBRyxJQUFJLFFBQVEsRUFBYyxDQUFBO1FBQ3ZEOzs7V0FHRztRQUNhLDBCQUFxQixHQUFHLElBQUksUUFBUSxFQUFjLENBQUE7UUFDbEU7Ozs7Ozs7V0FPRztRQUNhLDhCQUF5QixHQUFHLElBQUksUUFBUSxFQUFjLENBQUE7UUFDL0QsZUFBVSxHQUFHLENBQUMsQ0FBQTtRQUViLFFBQUcsR0FBa0MsSUFBSSxDQUFBO1FBQ2pEOzs7V0FHRztRQUNLLGVB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
526
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFnRDVDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQU0sT0FBTyxVQUFXLFNBQVEsZUFBZTtJQUc5Qzs7OztPQUlHO0lBQ0ksTUFBTSxLQUFLLGdCQUFnQjs7UUFDakMsT0FBTyxNQUFBLFVBQVUsQ0FBQyxnQkFBZ0IsbUNBQUksQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUE0REQ7OztPQUdHO0lBQ0gsWUFDaUIsTUFBMkMsRUFDM0MsVUFBdUMsRUFBRTs7UUFFekQsS0FBSyxFQUFFLENBQUE7UUFIUyxXQUFNLEdBQU4sTUFBTSxDQUFxQztRQUMzQyxZQUFPLEdBQVAsT0FBTyxDQUFrQztRQTNEMUMsZUFBVSxHQUFHLElBQUksUUFBUSxFQUFjLENBQUE7UUFDdkQ7OztXQUdHO1FBQ2EsMEJBQXFCLEdBQUcsSUFBSSxRQUFRLEVBQWMsQ0FBQTtRQUNsRTs7Ozs7OztXQU9HO1FBQ2EsOEJBQXlCLEdBQUcsSUFBSSxRQUFRLEVBQWMsQ0FBQTtRQUMvRCxlQUFVLEdBQUcsQ0FBQyxDQUFBO1FBRWIsUUFBRyxHQUFrQyxJQUFJLENBQUE7UUFDakQ7OztXQUdHO1FBQ0ssZUFBVSxHQUF3QixJQUFJLENBQUE7UUFDdEMsWUFBTyxHQUFjLElBQUksb0JBQW9CLENBQUM7WUFDckQsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUN6QixHQUFHLEVBQUUsR0FBRztZQUNSLElBQUksRUFBRSxHQUFHO1lBQ1QsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNqQixJQUFJLEVBQUUsQ0FBQztTQUNQLENBQUMsQ0FBQTtRQUNNLFNBQUksR0FBRyxDQUFDLENBQUE7UUFDUixpQkFBWSxHQUFHLENBQUMsQ0FBQTtRQUNoQix3QkFBbUIsR0FBRyxDQUFDLENBQUE7UUFFdkIsc0JBQWlCLEdBQUcsS0FBSyxDQUFBO1FBQ2pDLHFFQUFxRTtRQUM3RCxxQkFBZ0IsR0FBRyxLQUFLLENBQUE7UUFDeEIsY0FBUyxHQUFHLEtBQUssQ0FBQTtRQUNqQiwwQkFBcUIsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQywwQ0FBMEM7UUFDbEMsa0JBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUMxQiw2RUFBNkU7UUFDckUsY0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNyQixrQ0FBa0M7UUFDMUIsY0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNyQixpREFBaUQ7UUFDekMsc0JBQWlCLEdBQUcsQ0FBQyxDQUFBO1FBQ1oscUJBQWdCLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFBO1FBQzdELHlEQUF5RDtRQUN4QyxtQkFBYyxHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBbVNuRDs7V0FFRztRQUNNLFVBQUssR0FBRyxHQUFHLEVBQUU7WUFDckIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQTtZQUM3QixDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQTtnQkFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQTtnQkFDN0IsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO2dCQUMzRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsVUFBVSxDQUFDLHFCQUFxQixDQUM1RCxJQUFJLENBQUMsV0FBVyxDQUNoQixDQUFBO1lBQ0YsQ0FBQztRQUNGLENBQUMsQ0FBQTtRQU1nQixnQkFBVyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7O1lBQy9DLElBQUksU0FBUyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUE7WUFDM0IsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQTtnQkFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQTtnQkFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQTtnQkFDN0IsbURBQW1EO2dCQUNuRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ1osT0FBTTtZQUNQLENBQUM7WUFDRCxJQUFJLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO2dCQUN2QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDbEIsbUNBQW1DO29CQUNuQyxTQUFTLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFBO2dCQUNwQyxDQUFDO2dCQUNELE1BQU0sRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFBO2dCQUNoQyxNQUFNLFVBQVUsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQTtnQkFDakQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQTtnQkFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUE7Z0JBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQTtnQkFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFBO2dCQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUE7Z0JBQ2xFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQTtnQkFFaEQsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ2hFLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFBO2dCQUNsQyxJQUNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO29CQUN0QyxJQUFJLENBQUMsZ0JBQWdCO29CQUNyQixJQUFJLENBQUMsU0FBUyxFQUNiLENBQUM7b0JBQ0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQTtvQkFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO2dCQUNiLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDL0IsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDckIsQ0FBQztvQkFBUyxDQUFDO2dCQUNWLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUE7Z0JBQzlCLE1BQUEsSUFBSSxDQUFDLFVBQVUsb0RBQUksQ0FBQTtZQUNwQixDQUFDO1FBQ0YsQ0FBQyxDQUFBO1FBZ0RnQix1QkFBa0IsR0FBRyxHQUFHLEVBQUU7O1lBQzFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1lBQ2hDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQy9DLElBQUksQ0FBQyxFQUFFO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtZQUU5RCxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQTtZQUNiLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQ3pCLGtCQUFrQixFQUNsQixDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNQLDJEQUEyRDtnQkFDM0QsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFBO2dCQUNwQixPQUFPLENBQUMsS0FBSyxDQUNaLDJDQUEyQyxFQUMzQyxHQUFHLFlBQVksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FDMUQsQ0FBQTtnQkFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ1osS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFBO2dCQUNkLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDMUMsQ0FBQyxFQUNELEtBQUssQ0FDTCxDQUFBO1lBQ0QsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDekIsc0JBQXNCLEVBQ3RCLEdBQUcsRUFBRTs7Z0JBQ0osT0FBTyxDQUFDLElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxDQUFBO2dCQUM3RCxNQUFBLElBQUksQ0FBQyxVQUFVLHFEQUFHLElBQUksQ0FBQyxDQUFBO2dCQUN2QixJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzlDLENBQUMsRUFDRCxLQUFLLENBQ0wsQ0FBQTtZQUNELEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxPQUFPLENBQUMsVUFBVSxtQ0FBSSxDQUFDLENBQUE7WUFDekMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsVUFBVSxDQUFDLGdCQUFnQixtQ0FBSSxDQUFDLENBQUE7WUFDbkQsQ0FBQztZQUNELElBQUksT0FBTyxDQUFDLHlCQUF5QixFQUFFLENBQUM7Z0JBQ3ZDLEVBQUUsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtZQUMxQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ2pCLE9BQU8sRUFBRSxDQUFBO1FBQ1YsQ0FBQyxDQUFBO1FBNWFBLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQTtRQUNwQyxNQUFNLENBQUMsZ0JBQWdCLENBQ3RCLGtCQUFrQixFQUNsQixDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1AsVUFBVSxDQUFDLEtBQUssQ0FDZjtnQkFDQyxJQUFJLEVBQUUsY0FBYztnQkFDcEIsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsVUFBVSxFQUFFLE1BQU07YUFDbEIsRUFDRCxpQ0FDQyxHQUFHLFlBQVksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQ3hELEVBQUUsQ0FDRixDQUFBO1lBQ0QsMkRBQTJEO1lBQzNELEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUNoRCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzFDLENBQUMsRUFDRCxLQUFLLENBQ0wsQ0FBQTtRQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDdEIsc0JBQXNCLEVBQ3RCLEdBQUcsRUFBRTtZQUNKLFVBQVUsQ0FBQyxLQUFLLENBQ2Y7Z0JBQ0MsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLEtBQUssRUFBRSxPQUFPO2dCQUNkLFVBQVUsRUFBRSxNQUFNO2FBQ2xCLEVBQ0Qsa0NBQWtDLENBQ2xDLENBQUE7WUFDRCxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFBO1lBQzNCLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO2dCQUN6QixVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDakIsQ0FBQztZQUNELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUMsQ0FBQyxFQUNELEtBQUssQ0FDTCxDQUFBO1FBQ0QsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFBLE9BQU8sQ0FBQyxVQUFVLG1DQUFJLENBQUMsQ0FBQTtRQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFBLFVBQVUsQ0FBQyxnQkFBZ0IsbUNBQUksQ0FBQyxDQUFBO1FBQ25ELENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ3ZDLEVBQUUsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtRQUMxQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQ25ELEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FDekIsQ0FBQTtRQUNYLElBQUksQ0FBQywyQkFBMkIsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUNqRCxFQUFFLENBQUMsOEJBQThCLENBQ3ZCLENBQUE7UUFDWCxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQTtRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztnQkFDZCxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFBO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztnQkFDZCxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFBO1lBQ3hDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUE7WUFDNUIsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQzFCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7Z0JBQ3hELENBQUM7WUFDRixDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7Z0JBQ3BCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1lBQ3ZCLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDYixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFBO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNuQywyQkFBMkI7WUFDM0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFBO1FBQ2xDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFBO1FBQ2pELElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FBSSxXQUFXLFVBQVUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFBO1FBQ25FLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLEVBQUU7UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FDZCwrQ0FBK0MsSUFBSSxDQUFDLElBQUksR0FBRyxDQUMzRCxDQUFBO1FBQ0YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQTtJQUNoQixDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQ2pCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUE7SUFDMUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNwQixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBaUI7UUFDM0IsSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFNO1FBRW5DLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUE7UUFDckIsTUFBTSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUE7UUFDMUMsTUFBTSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUE7UUFDNUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFVBQVUsQ0FBQyxPQUFlLEVBQUUsTUFBbUI7UUFDOUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDM0IsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDLFFBQVEsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDOUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsT0FBTyxHQUFHLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFDL0QsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxFQUFJLENBQUE7WUFDVixPQUFPLElBQUksQ0FBQTtRQUNaLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNiLENBQUM7SUFFRCxZQUFZLENBQUMsR0FBRyxVQUEwQjs7UUFDekMsTUFBTSxNQUFNLEdBQW1CLEVBQUUsQ0FBQTtRQUNqQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDYixLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFBLFNBQVMsQ0FBQyxLQUFLLG1DQUFJLENBQUMsQ0FBQyxDQUFBO1lBQzVELFNBQVMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLENBQUMsTUFBQSxTQUFTLENBQUMsS0FBSyxtQ0FBSSxDQUFDLENBQUMsQ0FBQTtZQUNoRCxLQUFLLElBQUksUUFBUSxDQUFBO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ3ZELENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDWixPQUFPLE1BQU0sQ0FBQTtJQUNkLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBdUI7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsZUFBZSxDQUFDLFVBQTBCO1FBQ3pDLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVTtZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDNUUsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFnQjtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUE7SUFDbEMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNULE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNyQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUE7SUFDdEIsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3pCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTTtRQUVwQyxJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7YUFDbEIsQ0FBQztZQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUE7WUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQTtZQUM3QixVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUE7WUFDM0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2hDLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUN2QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFJO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDbkIsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUE7UUFDckQsQ0FBQztJQUNGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUs7UUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDMUIsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQzNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsWUFBWTtRQUNYLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtRQUN2QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDOUIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFpQixFQUFFLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7b0JBQ1osT0FBTTtnQkFDUCxDQUFDO2dCQUNELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3JDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO2dCQUNiLDZEQUE2RDtnQkFDN0QsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDaEMsQ0FBQyxDQUFBO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ3pCLE1BQU07eUJBQ0osYUFBYSxFQUFFO3lCQUNmLElBQUksQ0FBQyxXQUFXLENBQUM7eUJBQ2pCLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFDNUIsQ0FBQztxQkFBTSxDQUFDO29CQUNQLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQzNCLENBQUM7WUFDRixDQUFDLENBQUE7UUFDRixDQUFDLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQ2hDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsS0FBSyxNQUFNLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN0QixJQUFJLEVBQUUsQ0FBQyxHQUFtQyxDQUFDLEtBQUssS0FBSztnQkFBRSxPQUFPLEdBQUcsQ0FBQTtRQUNsRSxDQUFDO1FBQ0QsT0FBTyxjQUFjLEtBQUssR0FBRyxDQUFBO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsOEJBQThCLEdBQUcsSUFBSTtRQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQ3RELElBQUksR0FBRyxFQUFFLENBQUM7WUFDVCxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUE7WUFDakIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQzFCLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUNyQixDQUFDLEVBQUUsOEJBQThCLENBQUMsQ0FBQTtRQUNuQyxDQUFDO0lBQ0YsQ0FBQztJQWtCTyxHQUFHO1FBQ1YsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFBO0lBQ3pCLENBQUM7SUE4Q0Q7Ozs7Ozs7OztPQVNHO0lBQ0gsU0FBUyxDQUFDLE9BQWUsRUFBRSxPQUFlO1FBQ3pDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFDdEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDdkUsRUFBRSxDQUFDLFVBQVUsQ0FDWixNQUFNLEVBQ04sTUFBTSxFQUNOLENBQUMsRUFBRSxRQUFRO1FBQ1gsQ0FBQyxFQUFFLFNBQVM7UUFDWixFQUFFLENBQUMsSUFBSSxFQUFFLFNBQVM7UUFDbEIsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQ25CLENBQUE7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUNOLHlCQUF5QixHQUFHLEtBQUssTUFHOUIsRUFBRTtRQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUNwQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtZQUMvQyxJQUFJLENBQUMseUJBQXlCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUNwRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDckMsQ0FBQztRQUNELEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNkLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFBO0lBQ2hCLENBQUM7SUE0Q08sVUFBVTtRQUNqQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFXLENBQUE7UUFDdEUsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ25DLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUN6QyxLQUFLLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsYUFBYSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDM0MsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQy9CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNwRCxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN6QixDQUFDO1FBQ0QsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUUxQixNQUFNLGtCQUFrQixHQUFXLEVBQUUsQ0FBQyxZQUFZLENBQ2pELEVBQUUsQ0FBQyx1QkFBdUIsQ0FDaEIsQ0FBQTtRQUNYLEtBQUssSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2hELEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQTtZQUNsQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUN6QyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDcEMsQ0FBQztRQUVELEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzdCLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3BDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzVDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUN4QyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUMxQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN4QixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN6QixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNyQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUMzQixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3pCLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDN0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN6QixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hCLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNuQixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3BDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BCLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3JCLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDcEIsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzlDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDZixFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDcEMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDdEMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDN0MsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDeEQsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDdEIsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDM0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDbkQsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUN4QyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2QyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNwRCxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFM0UsT0FBTyxFQUFFLENBQUE7SUFDVixDQUFDOztBQXhqQmMsd0JBQWEsR0FBRyxDQUFDLEFBQUosQ0FBSTtBQTJqQmpDLFNBQVMsV0FBVyxDQUNuQixNQUEyQztJQUUzQyxPQUFPLE1BQU0sWUFBWSxlQUFlLENBQUE7QUFDekMsQ0FBQyJ9
@@ -0,0 +1,51 @@
1
+ import type { ArrayNumber2 } from "../types";
2
+ export declare class WebglParams {
3
+ readonly gl: WebGL2RenderingContext;
4
+ private _blend;
5
+ private _blendEquationAlpha;
6
+ private _blendEquationRGB;
7
+ private _blendSrcRGB;
8
+ private _blendDstRGB;
9
+ private _blendSrcAlpha;
10
+ private _blendDstAlpha;
11
+ private _depthTest;
12
+ private _depthFunc;
13
+ private _depthWriteMask;
14
+ private _depthRange;
15
+ private _viewport;
16
+ private _cullFace;
17
+ private _cullFaceMode;
18
+ constructor(gl: WebGL2RenderingContext);
19
+ get viewport(): Int32Array;
20
+ set viewport(viewport: Int32Array);
21
+ get cullFace(): boolean;
22
+ set cullFace(enabled: boolean);
23
+ get cullFaceMode(): number;
24
+ set cullFaceMode(mode: number);
25
+ setViewport(x: number, y: number, width: number, height: number): void;
26
+ get blend(): boolean;
27
+ set blend(value: boolean);
28
+ get blendEquationAlpha(): number;
29
+ set blendEquationAlpha(value: number);
30
+ get blendEquationRGB(): number;
31
+ set blendEquationRGB(value: number);
32
+ setBlendEquationSeparate(rgb: number, alpha: number): void;
33
+ get blendSrcRGB(): number;
34
+ set blendSrcRGB(value: number);
35
+ get blendDstRGB(): number;
36
+ set blendDstRGB(value: number);
37
+ get blendSrcAlpha(): number;
38
+ set blendSrcAlpha(value: number);
39
+ get blendDstAlpha(): number;
40
+ set blendDstAlpha(value: number);
41
+ setBlendFuncSeparate(srcRGB: number, dstRGB: number, srcAlpha: number, dstAlpha: number): void;
42
+ get depthTest(): boolean;
43
+ set depthTest(value: boolean);
44
+ get depthFunc(): number;
45
+ set depthFunc(value: number);
46
+ get depthWriteMask(): boolean;
47
+ set depthWriteMask(value: boolean);
48
+ get depthRange(): Readonly<ArrayNumber2>;
49
+ set depthRange([min, max]: Readonly<ArrayNumber2>);
50
+ }
51
+ //# sourceMappingURL=webgl-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-params.d.ts","sourceRoot":"","sources":["../../src/context/webgl-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,qBAAa,WAAW;aAmBK,EAAE,EAAE,sBAAsB;IAlBtD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAQ;gBAED,EAAE,EAAE,sBAAsB;IAuBtD,IAAI,QAAQ,IAGW,UAAU,CADhC;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAIhC;IAED,IAAI,QAAQ,IAGU,OAAO,CAD5B;IACD,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAO,EAK5B;IAED,IAAI,YAAY,IAGO,MAAM,CAD5B;IACD,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,EAG5B;IAED,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQ/D,IAAI,KAAK,IAGQ,OAAO,CADvB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAKvB;IAED,IAAI,kBAAkB,IAGQ,MAAM,CADnC;IACD,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAGnC;IAED,IAAI,gBAAgB,IAGQ,MAAM,CADjC;IACD,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAGjC;IAED,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAMnD,IAAI,WAAW,IAGQ,MAAM,CAD5B;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAQ5B;IAED,IAAI,WAAW,IAGQ,MAAM,CAD5B;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAQ5B;IAED,IAAI,aAAa,IAGQ,MAAM,CAD9B;IACD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAQ9B;IAED,IAAI,aAAa,IAGQ,MAAM,CAD9B;IACD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAQ9B;IAED,oBAAoB,CACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;IASjB,IAAI,SAAS,IAGQ,OAAO,CAD3B;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAK3B;IAED,IAAI,SAAS,IAGQ,MAAM,CAD1B;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAG1B;IAED,IAAI,cAAc,IAGQ,OAAO,CADhC;IACD,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,EAGhC;IAED,IAAI,UAAU,IAAI,QAAQ,CAAC,YAAY,CAAC,CAEvC;IACD,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,EAIhD;CACD"}
@@ -0,0 +1,152 @@
1
+ export class WebglParams {
2
+ constructor(gl) {
3
+ this.gl = gl;
4
+ this._viewport = gl.getParameter(gl.VIEWPORT);
5
+ this._cullFace = Boolean(gl.getParameter(gl.CULL_FACE));
6
+ this._cullFaceMode = Number(gl.getParameter(gl.CULL_FACE_MODE));
7
+ this._blend = Boolean(gl.getParameter(gl.BLEND));
8
+ this._blendEquationAlpha = Number(gl.getParameter(gl.BLEND_EQUATION_ALPHA));
9
+ this._blendEquationRGB = Number(gl.getParameter(gl.BLEND_EQUATION_RGB));
10
+ this._blendSrcRGB = Number(gl.getParameter(gl.BLEND_SRC_RGB));
11
+ this._blendDstRGB = Number(gl.getParameter(gl.BLEND_DST_RGB));
12
+ this._blendSrcAlpha = Number(gl.getParameter(gl.BLEND_SRC_ALPHA));
13
+ this._blendDstAlpha = Number(gl.getParameter(gl.BLEND_DST_ALPHA));
14
+ this._depthTest = Boolean(this.gl.getParameter(gl.DEPTH_TEST));
15
+ this._depthFunc = Number(this.gl.getParameter(gl.DEPTH_FUNC));
16
+ this._depthWriteMask = Boolean(this.gl.getParameter(gl.DEPTH_WRITEMASK));
17
+ const [depthRangeMin, depthRangeMax] = this.gl.getParameter(gl.DEPTH_RANGE);
18
+ this._depthRange = [depthRangeMin, depthRangeMax];
19
+ }
20
+ get viewport() {
21
+ return this._viewport;
22
+ }
23
+ set viewport(viewport) {
24
+ this._viewport = viewport;
25
+ const [x, y, w, h] = viewport;
26
+ this.gl.viewport(x, y, w, h);
27
+ }
28
+ get cullFace() {
29
+ return this._cullFace;
30
+ }
31
+ set cullFace(enabled) {
32
+ this._cullFace = enabled;
33
+ const { gl } = this;
34
+ if (enabled)
35
+ gl.enable(gl.CULL_FACE);
36
+ else
37
+ gl.disable(gl.CULL_FACE);
38
+ }
39
+ get cullFaceMode() {
40
+ return this._cullFaceMode;
41
+ }
42
+ set cullFaceMode(mode) {
43
+ this._cullFaceMode = mode;
44
+ this.gl.cullFace(mode);
45
+ }
46
+ setViewport(x, y, width, height) {
47
+ this.viewport[0] = x;
48
+ this.viewport[1] = y;
49
+ this.viewport[2] = width;
50
+ this.viewport[3] = height;
51
+ this.gl.viewport(x, y, width, height);
52
+ }
53
+ get blend() {
54
+ return this._blend;
55
+ }
56
+ set blend(value) {
57
+ this._blend = value;
58
+ const { gl } = this;
59
+ if (value)
60
+ gl.enable(gl.BLEND);
61
+ else
62
+ gl.disable(gl.BLEND);
63
+ }
64
+ get blendEquationAlpha() {
65
+ return this._blendEquationAlpha;
66
+ }
67
+ set blendEquationAlpha(value) {
68
+ this._blendEquationAlpha = value;
69
+ this.gl.blendEquationSeparate(this._blendEquationRGB, value);
70
+ }
71
+ get blendEquationRGB() {
72
+ return this._blendEquationRGB;
73
+ }
74
+ set blendEquationRGB(value) {
75
+ this._blendEquationRGB = value;
76
+ this.gl.blendEquationSeparate(value, this._blendEquationAlpha);
77
+ }
78
+ setBlendEquationSeparate(rgb, alpha) {
79
+ this._blendEquationAlpha = rgb;
80
+ this._blendEquationRGB = alpha;
81
+ this.gl.blendEquationSeparate(rgb, alpha);
82
+ }
83
+ get blendSrcRGB() {
84
+ return this._blendSrcRGB;
85
+ }
86
+ set blendSrcRGB(value) {
87
+ this._blendSrcRGB = value;
88
+ this.gl.blendFuncSeparate(this._blendSrcRGB, this._blendDstRGB, this._blendSrcAlpha, this._blendDstAlpha);
89
+ }
90
+ get blendDstRGB() {
91
+ return this._blendDstRGB;
92
+ }
93
+ set blendDstRGB(value) {
94
+ this._blendDstRGB = value;
95
+ this.gl.blendFuncSeparate(this._blendSrcRGB, this._blendDstRGB, this._blendSrcAlpha, this._blendDstAlpha);
96
+ }
97
+ get blendSrcAlpha() {
98
+ return this._blendSrcAlpha;
99
+ }
100
+ set blendSrcAlpha(value) {
101
+ this._blendSrcAlpha = value;
102
+ this.gl.blendFuncSeparate(this._blendSrcRGB, this._blendDstRGB, this._blendSrcAlpha, this._blendDstAlpha);
103
+ }
104
+ get blendDstAlpha() {
105
+ return this._blendDstAlpha;
106
+ }
107
+ set blendDstAlpha(value) {
108
+ this._blendDstAlpha = value;
109
+ this.gl.blendFuncSeparate(this._blendSrcRGB, this._blendDstRGB, this._blendSrcAlpha, this._blendDstAlpha);
110
+ }
111
+ setBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha) {
112
+ this._blendSrcRGB = srcRGB;
113
+ this._blendDstRGB = dstRGB;
114
+ this._blendSrcAlpha = srcAlpha;
115
+ this._blendDstAlpha = dstAlpha;
116
+ this.gl.blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
117
+ }
118
+ get depthTest() {
119
+ return this._depthTest;
120
+ }
121
+ set depthTest(value) {
122
+ this._depthTest = value;
123
+ const { gl } = this;
124
+ if (value)
125
+ gl.enable(gl.DEPTH_TEST);
126
+ else
127
+ gl.disable(gl.DEPTH_TEST);
128
+ }
129
+ get depthFunc() {
130
+ return this._depthFunc;
131
+ }
132
+ set depthFunc(value) {
133
+ this._depthFunc = value;
134
+ this.gl.depthFunc(value);
135
+ }
136
+ get depthWriteMask() {
137
+ return this._depthWriteMask;
138
+ }
139
+ set depthWriteMask(value) {
140
+ this._depthWriteMask = value;
141
+ this.gl.depthMask(value);
142
+ }
143
+ get depthRange() {
144
+ return this._depthRange;
145
+ }
146
+ set depthRange([min, max]) {
147
+ this._depthRange[0] = min;
148
+ this._depthRange[1] = max;
149
+ this.gl.depthRange(min, max);
150
+ }
151
+ }
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViZ2wtcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHQvd2ViZ2wtcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxXQUFXO0lBbUJ2QixZQUE0QixFQUEwQjtRQUExQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUNyRCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRTdDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTtRQUUvRCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ2hELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFBO1FBQzNFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFBO1FBQ3ZFLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7UUFDN0QsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtRQUM3RCxJQUFJLENBQUMsY0FBYyxHQUFHLE1B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
@@ -1 +1 @@
1
- {"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../../src/filter/blur.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;CACnB;AAID,qBAAa,aAAc,SAAQ,SAAS;IACjC,QAAQ,EAAE,MAAM,CAAA;gBAEX,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;CAgE1D"}
1
+ {"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../../src/filter/blur.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;CAChB;AAID,qBAAa,aAAc,SAAQ,SAAS;IACpC,QAAQ,EAAE,MAAM,CAAA;gBAEX,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;CAiDvD"}
@@ -15,21 +15,18 @@ export class TgdFilterBlur extends TgdFilter {
15
15
  for (let s = 0; s < size - 1; s += 2) {
16
16
  const weight = size - s;
17
17
  total += weight;
18
- lines.push(`s = ${s + 1.4} * dir;`, `f = ${weight.toFixed(1)};`, `color += f * texture(uniTexture, varUV + s);`, `color += f * texture(uniTexture, varUV - s);`);
18
+ lines.push(`s = ${(s + 1.4).toFixed(6)} * dir;`, `f = ${weight.toFixed(1)};`, "color += f * texture(uniTexture, varUV + s);", "color += f * texture(uniTexture, varUV - s);");
19
19
  }
20
20
  if (size & 1) {
21
21
  // Size is odd (not even).
22
- lines.push(`s = ${size} * dir;`, `color += texture(uniTexture, varUV + s);`, `color += texture(uniTexture, varUV - s);`);
22
+ lines.push(`s = ${size.toFixed(1)} * dir;`, "color += texture(uniTexture, varUV + s);", "color += texture(uniTexture, varUV - s);");
23
23
  total++;
24
24
  }
25
25
  total = total + total + size + 1;
26
26
  super({
27
27
  fragmentShaderCode: [
28
- "vec2 dir = uniStrength * vec2(",
29
- [
30
- `uniInverseWidth * ${sx.toFixed(9)},`,
31
- `uniInverseHeight * ${sy.toFixed(9)}`,
32
- ],
28
+ "vec2 dir = uniStrength * uniPixel * vec2(",
29
+ [`${sx.toFixed(9)},`, `${sy.toFixed(9)}`],
33
30
  ");",
34
31
  `vec4 color = ${(size + 1).toFixed(1)} * texture(uniTexture, varUV);`,
35
32
  ...lines,
@@ -41,11 +38,6 @@ export class TgdFilterBlur extends TgdFilter {
41
38
  uniInverseHeight: "float",
42
39
  },
43
40
  setUniforms: ({ program }) => {
44
- const { gl } = program;
45
- // eslint-disable-next-line unicorn/no-unreadable-array-destructuring
46
- const [, , width, height] = gl.getParameter(gl.VIEWPORT);
47
- program.uniform1f("uniInverseWidth", 1 / width);
48
- program.uniform1f("uniInverseHeight", 1 / height);
49
41
  program.uniform1f("uniStrength", this.strength);
50
42
  },
51
43
  });
@@ -61,4 +53,4 @@ function figureOutDirection(direction) {
61
53
  }
62
54
  return direction;
63
55
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmx1ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWx0ZXIvYmx1ci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQWFwQyxNQUFNLGlCQUFpQixHQUFzQixJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFOUQsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBR3hDLFlBQVksVUFBeUMsRUFBRTtRQUNuRCxNQUFNLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQzFDLE1BQU0sU0FBUyxHQUFZLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNoRSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFBO1FBQzdCLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM3QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtRQUNsQyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtRQUNsQyxNQUFNLEtBQUssR0FBYSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUMvQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxNQUFNLEdB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
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmx1ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWx0ZXIvYmx1ci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQWFwQyxNQUFNLGlCQUFpQixHQUFzQixJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFOUQsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBRzNDLFlBQVksVUFBeUMsRUFBRTtRQUN0RCxNQUFNLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQzFDLE1BQU0sU0FBUyxHQUFZLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNoRSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFBO1FBQzdCLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM3QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtRQUNsQyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtRQUNsQyxNQUFNLEtBQUssR0FBYSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUMvQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQTtZQUN2QixLQUFLLElBQUksTUFBTSxDQUFBO1lBQ2YsS0FBSyxDQUFDLElBQUksQ0FDVCxPQUFPLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUNwQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFDM0IsOENBQThDLEVBQzlDLDhDQUE4QyxDQUM5QyxDQUFBO1FBQ0YsQ0FBQztRQUNELElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2QsMEJBQTBCO1lBQzFCLEtBQUssQ0FBQyxJQUFJLENBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQy9CLDBDQUEwQyxFQUMxQywwQ0FBMEMsQ0FDMUMsQ0FBQTtZQUNELEtBQUssRUFBRSxDQUFBO1FBQ1IsQ0FBQztRQUNELEtBQUssR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUE7UUFDaEMsS0FBSyxDQUFDO1lBQ0wsa0JBQWtCLEVBQUU7Z0JBQ25CLDJDQUEyQztnQkFDM0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsSUFBSTtnQkFDSixnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0M7Z0JBQ3JFLEdBQUcsS0FBSztnQkFDUix1QkFBdUIsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHO2FBQ2hEO1lBQ0QsUUFBUSxFQUFFO2dCQUNULFdBQVcsRUFBRSxPQUFPO2dCQUNwQixlQUFlLEVBQUUsT0FBTztnQkFDeEIsZ0JBQWdCLEVBQUUsT0FBTzthQUN6QjtZQUNELFdBQVcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQ2hELENBQUM7U0FDRCxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtJQUN6QixDQUFDO0NBQ0Q7QUFFRCxTQUFTLGtCQUFrQixDQUMxQixTQUFpRDtJQUVqRCxJQUFJLFNBQVMsS0FBSyxTQUFTO1FBQUUsT0FBTyxpQkFBaUIsQ0FBQTtJQUVyRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN0QyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQTtBQUNqQixDQUFDIn0=
@@ -2,6 +2,7 @@ export * from "./blur";
2
2
  export * from "./chromatic-aberration";
3
3
  export * from "./filter";
4
4
  export * from "./hue-rotation";
5
+ export * from "./multiply";
5
6
  export * from "./verbatim";
6
7
  export * from "./zoom";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,wBAAwB,CAAA;AACtC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,wBAAwB,CAAA;AACtC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA"}
@@ -2,6 +2,7 @@ export * from "./blur.js";
2
2
  export * from "./chromatic-aberration.js";
3
3
  export * from "./filter.js";
4
4
  export * from "./hue-rotation.js";
5
+ export * from "./multiply.js";
5
6
  export * from "./verbatim.js";
6
7
  export * from "./zoom.js";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFBO0FBQ3RCLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLFFBQVEsQ0FBQSJ9
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFBO0FBQ3RCLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLFFBQVEsQ0FBQSJ9
@@ -0,0 +1,13 @@
1
+ import { TgdVec4 } from "../math";
2
+ import type { ArrayNumber4 } from "../types";
3
+ import { TgdFilter } from "./filter";
4
+ /**
5
+ * Paint the texture as it is, without any modification.
6
+ */
7
+ export declare class TgdFilterMultiply extends TgdFilter {
8
+ readonly color: TgdVec4;
9
+ constructor({ color }: {
10
+ color?: TgdVec4 | ArrayNumber4;
11
+ });
12
+ }
13
+ //# sourceMappingURL=multiply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiply.d.ts","sourceRoot":"","sources":["../../src/filter/multiply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;IAC/C,SAAgB,KAAK,UAA0B;gBAEnC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;KAAE;CAmBzD"}
@@ -0,0 +1,28 @@
1
+ import { TgdVec4 } from "./../math/index.js";
2
+ import { TgdFilter } from "./filter.js";
3
+ /**
4
+ * Paint the texture as it is, without any modification.
5
+ */
6
+ export class TgdFilterMultiply extends TgdFilter {
7
+ constructor({ color }) {
8
+ super({
9
+ fragmentShaderCode: [
10
+ "vec2 uv = varUV;",
11
+ "vec4 color = texture(uniTexture, uv);",
12
+ "FragColor = color * uniColor;",
13
+ ],
14
+ uniforms: {
15
+ uniColor: "vec4",
16
+ },
17
+ setUniforms: (params) => {
18
+ params.program.uniform4fv("uniColor", this.color);
19
+ },
20
+ });
21
+ this.color = new TgdVec4(1, 1, 1, 1);
22
+ if (color) {
23
+ const [r, g, b, a] = color;
24
+ this.color.reset(r, g, b, a);
25
+ }
26
+ }
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL211bHRpcGx5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVwQzs7R0FFRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxTQUFTO0lBRy9DLFlBQVksRUFBRSxLQUFLLEVBQXNDO1FBQ3hELEtBQUssQ0FBQztZQUNMLGtCQUFrQixFQUFFO2dCQUNuQixrQkFBa0I7Z0JBQ2xCLHVDQUF1QztnQkFDdkMsK0JBQStCO2FBQy9CO1lBQ0QsUUFBUSxFQUFFO2dCQUNULFFBQVEsRUFBRSxNQUFNO2FBQ2hCO1lBQ0QsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDbEQsQ0FBQztTQUNELENBQUMsQ0FBQTtRQWZhLFVBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQWdCOUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDN0IsQ0FBQztJQUNGLENBQUM7Q0FDRCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"verbatim.d.ts","sourceRoot":"","sources":["../../src/filter/verbatim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;;CAc/C"}
1
+ {"version":3,"file":"verbatim.d.ts","sourceRoot":"","sources":["../../src/filter/verbatim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;;CAU/C"}
@@ -10,11 +10,7 @@ export class TgdFilterVerbatim extends TgdFilter {
10
10
  "vec4 color = texture(uniTexture, uv);",
11
11
  "FragColor = color;",
12
12
  ],
13
- uniforms: {
14
- uniZoom: "float",
15
- uniTranslation: "vec2",
16
- },
17
13
  });
18
14
  }
19
15
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYmF0aW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL3ZlcmJhdGltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFcEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQUM1QztRQUNJLEtBQUssQ0FBQztZQUNGLGtCQUFrQixFQUFFO2dCQUNoQixrQkFBa0I7Z0JBQ2xCLHVDQUF1QztnQkFDdkMsb0JBQW9CO2FBQ3ZCO1lBQ0QsUUFBUSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixjQUFjLEVBQUUsTUFBTTthQUN6QjtTQUNKLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDSiJ9
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYmF0aW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL3ZlcmJhdGltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFcEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQUMvQztRQUNDLEtBQUssQ0FBQztZQUNMLGtCQUFrQixFQUFFO2dCQUNuQixrQkFBa0I7Z0JBQ2xCLHVDQUF1QztnQkFDdkMsb0JBQW9CO2FBQ3BCO1NBQ0QsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztDQUNEIn0=
@@ -0,0 +1,19 @@
1
+ import type { TgdVec3, TgdVec4 } from "../math";
2
+ import type { ArrayNumber3, ArrayNumber4 } from "../types";
3
+ import { TgdGeometry } from "./geometry";
4
+ export interface TgdGeometryTubesOptions {
5
+ center?: ArrayNumber3 | ArrayNumber4 | TgdVec3 | TgdVec4;
6
+ radius?: number;
7
+ /**
8
+ * A value of 0 will get you a regular icosahedron.
9
+ * Then, each subdivision will cut every triangle in 3 new triangles.
10
+ *
11
+ * - Minimum: 0
12
+ * - Default: 2
13
+ */
14
+ subdivisions?: number;
15
+ }
16
+ export declare class TgdGeometryTubes extends TgdGeometry {
17
+ constructor({ center, radius, subdivisions, }?: TgdGeometryTubesOptions);
18
+ }
19
+ //# sourceMappingURL=tubes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tubes.d.ts","sourceRoot":"","sources":["../../src/geometry/tubes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,uBAAuB;IACpC,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAA;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,gBAAiB,SAAQ,WAAW;gBACjC,EACR,MAAkB,EAClB,MAAU,EACV,YAAgB,GACnB,GAAE,uBAA4B;CAoBlC"}