@tolokoban/tgd 2.0.104 → 2.0.106

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 (60) hide show
  1. package/lib/dist/context/context.d.ts +11 -0
  2. package/lib/dist/context/context.d.ts.map +1 -1
  3. package/lib/dist/context/context.js +32 -8
  4. package/lib/dist/filter/blur.d.ts +3 -0
  5. package/lib/dist/filter/blur.d.ts.map +1 -1
  6. package/lib/dist/filter/blur.js +11 -2
  7. package/lib/dist/filter/chromatic-aberration.d.ts +1 -0
  8. package/lib/dist/filter/chromatic-aberration.d.ts.map +1 -1
  9. package/lib/dist/filter/chromatic-aberration.js +5 -3
  10. package/lib/dist/filter/filter.d.ts +1 -1
  11. package/lib/dist/filter/filter.d.ts.map +1 -1
  12. package/lib/dist/filter/filter.js +1 -1
  13. package/lib/dist/filter/hue-rotation.js +2 -2
  14. package/lib/dist/filter/multiply.d.ts.map +1 -1
  15. package/lib/dist/filter/multiply.js +2 -1
  16. package/lib/dist/filter/verbatim.d.ts.map +1 -1
  17. package/lib/dist/filter/verbatim.js +2 -1
  18. package/lib/dist/filter/zoom.d.ts.map +1 -1
  19. package/lib/dist/filter/zoom.js +4 -3
  20. package/lib/dist/geometry/box.js +9 -2
  21. package/lib/dist/light/light.d.ts +2 -2
  22. package/lib/dist/light/light.d.ts.map +1 -1
  23. package/lib/dist/light/light.js +3 -2
  24. package/lib/dist/painter/filter/filter.d.ts +2 -7
  25. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  26. package/lib/dist/painter/filter/filter.js +44 -59
  27. package/lib/dist/painter/filter/framebuffers.d.ts +15 -0
  28. package/lib/dist/painter/filter/framebuffers.d.ts.map +1 -0
  29. package/lib/dist/painter/filter/framebuffers.js +69 -0
  30. package/lib/dist/painter/framebuffer.d.ts +5 -5
  31. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  32. package/lib/dist/painter/framebuffer.js +78 -73
  33. package/lib/dist/painter/state/state.d.ts +1 -1
  34. package/lib/dist/painter/state/state.d.ts.map +1 -1
  35. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  36. package/lib/dist/parser/gltf/gltf.js +1 -7
  37. package/lib/dist/shader/fragment.d.ts +1 -0
  38. package/lib/dist/shader/fragment.d.ts.map +1 -1
  39. package/lib/dist/shader/fragment.js +12 -3
  40. package/lib/dist/texture/texture2d.d.ts +2 -0
  41. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  42. package/lib/dist/texture/texture2d.js +38 -32
  43. package/lib/dist/utils/ensure.d.ts +4 -0
  44. package/lib/dist/utils/ensure.d.ts.map +1 -0
  45. package/lib/dist/utils/ensure.js +21 -0
  46. package/lib/dist/utils/index.d.ts +1 -1
  47. package/lib/dist/utils/index.d.ts.map +1 -1
  48. package/lib/dist/utils/index.js +2 -2
  49. package/lib/dist/version.d.ts +1 -1
  50. package/lib/dist/version.js +1 -1
  51. package/package.json +1 -1
  52. package/lib/dist/painter/gizmo/painters/normal.1.d.ts +0 -21
  53. package/lib/dist/painter/gizmo/painters/normal.1.d.ts.map +0 -1
  54. package/lib/dist/painter/gizmo/painters/normal.1.js +0 -111
  55. package/lib/dist/painter/gizmo/tips.d.ts +0 -22
  56. package/lib/dist/painter/gizmo/tips.d.ts.map +0 -1
  57. package/lib/dist/painter/gizmo/tips.js +0 -51
  58. package/lib/dist/utils/array.d.ts +0 -2
  59. package/lib/dist/utils/array.d.ts.map +0 -1
  60. package/lib/dist/utils/array.js +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../src/parser/gltf/gltf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../src/parser/gltf/gltf.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,6 @@ export class TgdDataGlb {
53
53
  const bufferView = (_d = gltf.bufferViews) === null || _d === void 0 ? void 0 : _d[image.bufferView];
54
54
  if (!bufferView)
55
55
  throw new Error(`No bufferView with index #${image.bufferView}!`);
56
- console.log("Image", imageIndex, bufferView);
57
56
  images.push((_g = (yield tgdLoadImageFromArrayBuffer(chunks[bufferView.buffer].slice((_e = bufferView.byteOffset) !== null && _e !== void 0 ? _e : 0, ((_f = bufferView.byteOffset) !== null && _f !== void 0 ? _f : 0) + bufferView.byteLength)))) !== null && _g !== void 0 ? _g : EMPTY_IMAGE);
58
57
  }
59
58
  return new TgdDataGlb(gltf, chunks, images, content.byteLength);
@@ -86,7 +85,6 @@ export class TgdDataGlb {
86
85
  createTransfoFromNode(node) {
87
86
  const transfo = {};
88
87
  if (node.rotation) {
89
- console.log("🚀 [gltf] node.rotation =", node.rotation); // @FIXME: Remove this line written on 2025-04-17 at 21:07
90
88
  transfo.orientation = new TgdQuat(node.rotation);
91
89
  }
92
90
  if (node.translation)
@@ -318,7 +316,6 @@ export class TgdDataGlb {
318
316
  const buffer = this.chunks[bufferView.buffer];
319
317
  const byteOffset = (_c = bufferView.byteOffset) !== null && _c !== void 0 ? _c : 0;
320
318
  const data = buffer.slice(byteOffset, byteOffset + bufferView.byteLength);
321
- console.log("🐞 [gltf@499] data =", data); // @FIXME: Remove this line written on 2025-12-02 at 10:47
322
319
  const view = figureOutView(data, convertTypeToNumber((_e = type !== null && type !== void 0 ? type : (_d = this.findAccessorForBufferView(bufferViewIndex)) === null || _d === void 0 ? void 0 : _d.componentType) !== null && _e !== void 0 ? _e : "Float32"));
323
320
  this.cacheBufferViewDatas.set(bufferViewIndex, view);
324
321
  return view;
@@ -341,9 +338,6 @@ export class TgdDataGlb {
341
338
  }
342
339
  const accessor = (_b = gltf.accessors) === null || _b === void 0 ? void 0 : _b[attribute];
343
340
  if (!accessor) {
344
- console.log("🚀 [gltf] attribute =", attribute); // @FIXME: Remove this line written on 2025-09-17 at 17:47
345
- console.log("🚀 [gltf] gltf =", gltf); // @FIXME: Remove this line written on 2025-09-17 at 17:46
346
- console.log("🚀 [gltf] this.getMesh(meshIndexOrName).primitives[primitiveIndex].attributes =", this.getMeshOrThrow(meshIndexOrName).primitives[primitiveIndex].attributes); // @FIXME: Remove this line written on 2025-09-17 at 17:51
347
341
  throw new Error(`No attribute "${primitiveAttribName !== null && primitiveAttribName !== void 0 ? primitiveAttribName : attribName}" for primitive #${primitiveIndex} of mesh #${meshIndexOrName}!`);
348
342
  }
349
343
  const bufferViewIndex = (_c = accessor.bufferView) !== null && _c !== void 0 ? _c : 0;
@@ -436,4 +430,4 @@ function returnFloat32Array(data) {
436
430
  return data;
437
431
  throw new Error("We were expecting a Float32Array!");
438
432
  }
439
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBYSxVQUFVLEVBQXdCLE1BQU0sa0JBQWtCLENBQUE7QUFDOUUsT0FBTyxFQUFrQixvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUdsRSxPQUFPLEVBQUUsVUFBVSxFQUE2QixNQUFNLGNBQWMsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQTBCLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSw2QkFBNkIsRUFBZ0MsTUFBTSxZQUFZLENBQUE7QUFlN0csT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRTVDLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7QUFFL0IsTUFBTSxPQUFPLFVBQVU7SUFDWixNQUFNLENBQU8sS0FBSyxDQUFDLE9BQW9COzs7WUFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1lBQ2hDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDckMsTUFBTSxlQUFlLEdBQW9CLE1BQU0sSUFBSSxDQUFDLEdBQUcsRUFBRSxV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
433
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBYSxVQUFVLEVBQXdCLE1BQU0sa0JBQWtCLENBQUE7QUFDOUUsT0FBTyxFQUFrQixvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsVUFBVSxFQUE2QixNQUFNLGNBQWMsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQTBCLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSw2QkFBNkIsRUFBZ0MsTUFBTSxZQUFZLENBQUE7QUFlN0csT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRTVDLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7QUFFL0IsTUFBTSxPQUFPLFVBQVU7SUFDWixNQUFNLENBQU8sS0FBSyxDQUFDLE9BQW9COzs7WUFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1lBQ2hDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDckMsTUFBTSxlQUFlLEdBQW9CLE1BQU0sSUFBSSxDQUFDLEdBQUcsRUFBRSxV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
@@ -36,4 +36,5 @@ export declare class TgdShaderFragment {
36
36
  get code(): string;
37
37
  debug(caption?: string): void;
38
38
  }
39
+ export declare function expandOutputs<Type extends WebglAttributeType | WebglUniformType>(definition: TgdCodeVariables<Type>, comment?: string): TgdCodeBloc[];
39
40
  //# sourceMappingURL=fragment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fragment.d.ts","sourceRoot":"","sources":["../../src/shader/fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,MAAM,IAAI,CAAA;AACX,OAAO,EAGN,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAErB,MAAM,QAAQ,CAAA;AAEf;;;GAGG;AACH,qBAAa,iBAAiB;IACtB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAY;IACnD,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC5C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC7C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IACpD;;;;;;OAMG;IACI,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAA;IACzC,QAAQ,EAAE,WAAW,CAAA;IAC5B;;;;OAIG;IACI,MAAM,EAAE,WAAW,CAAA;gBAGzB,OAAO,GAAE,OAAO,CAAC;QAChB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;QACvC,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAC5C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAA;QACzC,QAAQ,EAAE,WAAW,CAAA;QACrB,MAAM,EAAE,WAAW,CAAA;KACnB,CAAM;IAsBR,IAAI,IAAI,WAcP;IAED,KAAK,CAAC,OAAO,SAAkB;CAa/B"}
1
+ {"version":3,"file":"fragment.d.ts","sourceRoot":"","sources":["../../src/shader/fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,IAAI,CAAA;AAC5F,OAAO,EAGH,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAExB,MAAM,QAAQ,CAAA;AAEf;;;GAGG;AACH,qBAAa,iBAAiB;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAY;IACnD,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC5C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC7C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IACpD;;;;;;OAMG;IACI,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAA;IACzC,QAAQ,EAAE,WAAW,CAAA;IAC5B;;;;OAIG;IACI,MAAM,EAAE,WAAW,CAAA;gBAGtB,OAAO,GAAE,OAAO,CAAC;QACb,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;QACvC,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAC5C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAA;QACzC,QAAQ,EAAE,WAAW,CAAA;QACrB,MAAM,EAAE,WAAW,CAAA;KACtB,CAAM;IAsBX,IAAI,IAAI,WAcP;IAED,KAAK,CAAC,OAAO,SAAkB;CAalC;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAS,kBAAkB,GAAG,gBAAgB,EAC5E,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAClC,OAAO,SAA6C,GACrD,WAAW,EAAE,CAQf"}
@@ -1,4 +1,4 @@
1
- import { ensureArray, TgdConsole, } from "../index.js";
1
+ import { ensureArray, TgdConsole } from "../index.js";
2
2
  import { expandFunctions, expandVariables, tgdCodeStringify, } from "./code.js";
3
3
  /**
4
4
  * Helper to write the code of a fragment Shader.
@@ -25,7 +25,7 @@ export class TgdShaderFragment {
25
25
  ...ensureArray(this.header),
26
26
  ...expandVariables(this.uniforms, "uniform"),
27
27
  ...expandVariables(this.varying, "in"),
28
- ...expandVariables(this.outputs, "out"),
28
+ ...expandOutputs(this.outputs),
29
29
  ...expandFunctions(this.functions),
30
30
  "",
31
31
  "void main() {",
@@ -44,4 +44,13 @@ export class TgdShaderFragment {
44
44
  out.debug();
45
45
  }
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhZGVyL2ZyYWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixXQUFXLEVBQ1gsVUFBVSxHQUdWLE1BQU0sSUFBSSxDQUFBO0FBQ1gsT0FBTyxFQUNOLGVBQWUsRUFDZixlQUFlLEVBSWYsZ0JBQWdCLEdBQ2hCLE1BQU0sUUFBUSxDQUFBO0FBRWY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQXFCN0IsWUFDQyxVQVFLLEVBQUU7UUE3QkQsY0FBUyxHQUFpQyxTQUFTLENBQUE7UUErQnpELE1BQU0sRUFDTCxTQUFTLEdBQUcsT0FBTyxFQUNuQixRQUFRLEdBQUcsRUFBRSxFQUNiLE9BQU8sR0FBRztZQUNULFNBQVMsRUFBRSxNQUFNO1NBQ2pCLEVBQ0QsT0FBTyxHQUFHLEVBQUUsRUFDWixTQUFTLEdBQUcsRUFBRSxFQUNkLFFBQVEsR0FBRyxDQUFDLG1DQUFtQyxDQUFDLEVBQ2hELE1BQU0sR0FBRyxFQUFFLEdBQ1gsR0FBRyxPQUFPLENBQUE7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUNyQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ1AsT0FBTyxnQkFBZ0IsQ0FBQztZQUN2QixpQkFBaUI7WUFDakIsYUFBYSxJQUFJLENBQUMsU0FBUyxTQUFTO1lBQ3BDLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDM0IsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7WUFDNUMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDdEMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDdkMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxFQUFFO1lBQ0YsZUFBZTtZQUNmLElBQUksQ0FBQyxRQUFRO1lBQ2IsR0FBRztTQUNILENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxHQUFHLGVBQWU7UUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwQixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLElBQUksVUFBVSxDQUN6QjtZQUNDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSTtZQUMzQixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxNQUFNO1NBQ2IsRUFDRCxJQUFJLENBQ0osQ0FBQTtRQUNELEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNaLENBQUM7Q0FDRCJ9
47
+ export function expandOutputs(definition, comment = "----------------------------------------") {
48
+ const names = Object.keys(definition);
49
+ if (names.length === 0)
50
+ return [];
51
+ return [
52
+ `// ${comment}`,
53
+ ...names.map((name, index) => `layout(location=${index}) out ${definition[name]} ${name};`),
54
+ ];
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhZGVyL2ZyYWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFrRCxNQUFNLElBQUksQ0FBQTtBQUM1RixPQUFPLEVBQ0gsZUFBZSxFQUNmLGVBQWUsRUFJZixnQkFBZ0IsR0FDbkIsTUFBTSxRQUFRLENBQUE7QUFFZjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBcUIxQixZQUNJLFVBUUssRUFBRTtRQTdCSixjQUFTLEdBQWlDLFNBQVMsQ0FBQTtRQStCdEQsTUFBTSxFQUNGLFNBQVMsR0FBRyxPQUFPLEVBQ25CLFFBQVEsR0FBRyxFQUFFLEVBQ2IsT0FBTyxHQUFHO1lBQ04sU0FBUyxFQUFFLE1BQU07U0FDcEIsRUFDRCxPQUFPLEdBQUcsRUFBRSxFQUNaLFNBQVMsR0FBRyxFQUFFLEVBQ2QsUUFBUSxHQUFHLENBQUMsbUNBQW1DLENBQUMsRUFDaEQsTUFBTSxHQUFHLEVBQUUsR0FDZCxHQUFHLE9BQU8sQ0FBQTtRQUNYLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLGdCQUFnQixDQUFDO1lBQ3BCLGlCQUFpQjtZQUNqQixhQUFhLElBQUksQ0FBQyxTQUFTLFNBQVM7WUFDcEMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMzQixHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztZQUM1QyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUN0QyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzlCLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDbEMsRUFBRTtZQUNGLGVBQWU7WUFDZixJQUFJLENBQUMsUUFBUTtZQUNiLEdBQUc7U0FDTixDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sR0FBRyxlQUFlO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDcEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FDdEI7WUFDSSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUk7WUFDM0IsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsTUFBTTtTQUNoQixFQUNELElBQUksQ0FDUCxDQUFBO1FBQ0QsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2YsQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDekIsVUFBa0MsRUFDbEMsT0FBTyxHQUFHLDBDQUEwQztJQUVwRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3JDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFakMsT0FBTztRQUNILE1BQU0sT0FBTyxFQUFFO1FBQ2YsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsbUJBQW1CLEtBQUssU0FBUyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLENBQUM7S0FDOUYsQ0FBQTtBQUNMLENBQUMifQ==
@@ -18,6 +18,7 @@ interface TgdTexture2DStorage {
18
18
  internalFormat: "R8" | "R16F" | "R32F" | "R8UI" | "RG8" | "RG16F" | "RG32F" | "RG8UI" | "RGB8" | "SRGB8" | "RGB565" | "R11F_G11F_B10F" | "RGB9_E5" | "RGB16F" | "RGB32F" | "RGB8UI" | "RGBA8" | "SRGB8_ALPHA8" | "RGB5_A1" | "RGBA4" | "RGBA16F" | "RGBA32F" | "RGBA8UI" | "COMPRESSED_R11_EAC" | "COMPRESSED_SIGNED_R11_EAC" | "COMPRESSED_RG11_EAC" | "COMPRESSED_SIGNED_RG11_EAC" | "COMPRESSED_RGB8_ETC2" | "COMPRESSED_RGBA8_ETC2_EAC" | "COMPRESSED_SRGB8_ETC2" | "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" | "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" | "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2" | "DEPTH_COMPONENT24" | "DEPTH_COMPONENT16" | "DEPTH_COMPONENT32F";
19
19
  }
20
20
  export interface TgdTexture2DOptions {
21
+ name?: string;
21
22
  storage?: Partial<TgdTexture2DStorage>;
22
23
  params?: WebglTextureParameters;
23
24
  load?: WebglImage | string | LoadBmpOptions;
@@ -36,6 +37,7 @@ export declare class TgdTexture2D {
36
37
  private params;
37
38
  private static counter;
38
39
  constructor(context: TgdContext, options?: TgdTexture2DOptions);
40
+ clone(name?: string): TgdTexture2D;
39
41
  get internalFormat(): TgdTexture2DStorage["internalFormat"];
40
42
  private set internalFormat(value);
41
43
  delete(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/texture/texture2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/texture/texture2d.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,12 @@ import { tgdLoadImage } from "./../loader/image.js";
3
3
  import { TgdPainterFilter, TgdPainterFramebuffer } from "./../painter/index.js";
4
4
  import { isWebglImage } from "./../types/index.js";
5
5
  import { isString } from "./../types/guards.js";
6
- import { webglLookup } from "./../utils/index.js";
6
+ import { tgdCanvasCreate, webglLookup } from "./../utils/index.js";
7
7
  import { webglTextureParametersSet } from "./../webgl/index.js";
8
8
  import { isLoadBmpOptions } from "./types.js";
9
9
  export class TgdTexture2D {
10
10
  constructor(context, options = {}) {
11
- var _a;
11
+ var _a, _b;
12
12
  this.context = context;
13
13
  this.options = options;
14
14
  this.eventChange = new TgdEvent();
@@ -25,8 +25,8 @@ export class TgdTexture2D {
25
25
  const { storage, params, load } = options;
26
26
  const { gl } = context;
27
27
  this.gl = gl;
28
- this.name = `Texture2D/${TgdTexture2D.counter++}`;
29
- this.storage = Object.assign({ width: 0, height: 0, internalFormat: (_a = storage === null || storage === void 0 ? void 0 : storage.internalFormat) !== null && _a !== void 0 ? _a : "RGBA8", levels: 1, flipY: false, premultipliedAlpha: false }, storage);
28
+ this.name = (_a = options.name) !== null && _a !== void 0 ? _a : `Texture2D/${TgdTexture2D.counter++}`;
29
+ this.storage = Object.assign({ width: 0, height: 0, internalFormat: (_b = storage === null || storage === void 0 ? void 0 : storage.internalFormat) !== null && _b !== void 0 ? _b : "RGBA8", levels: 1, flipY: false, premultipliedAlpha: false }, storage);
30
30
  const width = storage === null || storage === void 0 ? void 0 : storage.width;
31
31
  const height = storage === null || storage === void 0 ? void 0 : storage.height;
32
32
  if (typeof width === "number" && typeof height === "number") {
@@ -44,6 +44,9 @@ export class TgdTexture2D {
44
44
  this.loadBitmap(load.bmp, load);
45
45
  }
46
46
  }
47
+ clone(name) {
48
+ return new TgdTexture2D(this.context, structuredClone(Object.assign(Object.assign({}, this.options), { name: name !== null && name !== void 0 ? name : this.options.name }))).loadBitmap(tgdCanvasCreate(this.width, this.height));
49
+ }
47
50
  get internalFormat() {
48
51
  return this.storage.internalFormat;
49
52
  }
@@ -76,32 +79,35 @@ export class TgdTexture2D {
76
79
  const height = Math.ceil(h);
77
80
  if (width === this.width && height === this.height)
78
81
  return;
79
- const { gl, storage } = this;
80
- this.createTexture();
81
- this._width = width;
82
- this._height = height;
83
- storage.width = width;
84
- storage.height = height;
85
- const { internalFormat, levels } = this.storage;
86
- if (internalFormat.startsWith("COMPRESSED_")) {
87
- // We need to load an extension for that.
88
- const extension = gl.getExtension("WEBGL_compressed_texture_etc");
89
- if (!extension)
90
- throw new Error('Your browser does not support extension "WEBGL_compressed_texture_etc" on this device!');
91
- }
92
- this.bind();
93
- gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this.storage.flipY);
94
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.storage.premultipliedAlpha);
95
- gl.texStorage2D(gl.TEXTURE_2D, levels, gl[internalFormat], width, height);
96
- this.checkError(`resize(${width}, ${height})
97
- gl.texStorage2D(
98
- gl.TEXTURE_2D,
99
- ${levels},
100
- gl.${internalFormat},
101
- ${width},
102
- ${height}
103
- )`);
104
- this.unbind();
82
+ this.loadBitmap(tgdCanvasCreate(width, height));
83
+ // const { gl, storage } = this
84
+ // this.createTexture()
85
+ // this._width = width
86
+ // this._height = height
87
+ // storage.width = width
88
+ // storage.height = height
89
+ // const { internalFormat, levels } = this.storage
90
+ // if (internalFormat.startsWith("COMPRESSED_")) {
91
+ // // We need to load an extension for that.
92
+ // const extension = gl.getExtension("WEBGL_compressed_texture_etc")
93
+ // if (!extension)
94
+ // throw new Error(
95
+ // 'Your browser does not support extension "WEBGL_compressed_texture_etc" on this device!',
96
+ // )
97
+ // }
98
+ // this.bind()
99
+ // gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this.storage.flipY)
100
+ // gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.storage.premultipliedAlpha)
101
+ // gl.texStorage2D(gl.TEXTURE_2D, levels, (gl as unknown as Record<string, GLenum>)[internalFormat], width, height)
102
+ // this.checkError(`resize(${width}, ${height})
103
+ // gl.texStorage2D(
104
+ // gl.TEXTURE_2D,
105
+ // ${levels},
106
+ // gl.${internalFormat},
107
+ // ${width},
108
+ // ${height}
109
+ // )`)
110
+ // this.unbind()
105
111
  }
106
112
  checkError(caption) {
107
113
  const { gl } = this;
@@ -183,7 +189,7 @@ gl.texStorage2D(
183
189
  textureColor0: output,
184
190
  depthBuffer: false,
185
191
  children: [painter],
186
- fixedSize: [this.width, this.height],
192
+ fixedSize: true,
187
193
  });
188
194
  framebuffer.paint(0, 0);
189
195
  this.gl.deleteTexture(this._texture);
@@ -348,4 +354,4 @@ function printArray(data) {
348
354
  }
349
355
  return JSON.stringify(data);
350
356
  }
351
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RleHR1cmUvdGV4dHVyZTJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUEyQyxNQUFNLFlBQVksQ0FBQTtBQUNsRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQWdFLHlCQUF5QixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBdUIsTUFBTSxTQUFTLENBQUE7QUE0RC9ELE1BQU0sT0FBTyxZQUFZO0lBbUJyQixZQUNvQixPQUFtQixFQUNsQixVQUErQixFQUFFOztRQURsQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBbEJ0QyxnQkFBVyxHQUFHLElBQUksUUFBUSxFQUFnQixDQUFBO1FBRWxELGFBQVEsR0FBd0IsSUFBSSxDQUFBO1FBQ3BDLFdBQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNYLFlBQU8sR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVaLFdBQU0sR0FBMkI7WUFDckMsU0FBUyxFQUFFLFFBQVE7WUFDbkIsU0FBUyxFQUFFLFFBQVE7WUFDbkIsS0FBSyxFQUFFLFFBQVE7WUFDZixLQUFLLEVBQUUsUUFBUTtZQUNmLEtBQUssRUFBRSxRQUFRO1NBQ2xCLENBQUE7UUFRRyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUE7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
357
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RleHR1cmUvdGV4dHVyZTJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUEyQyxNQUFNLFlBQVksQ0FBQTtBQUNsRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDekQsT0FBTyxFQUFnRSx5QkFBeUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNwSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQXVCLE1BQU0sU0FBUyxDQUFBO0FBNEQvRCxNQUFNLE9BQU8sWUFBWTtJQW1CckIsWUFDb0IsT0FBbUIsRUFDbEIsVUFBK0IsRUFBRTs7UUFEbEMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNsQixZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQWxCdEMsZ0JBQVcsR0FBRyxJQUFJLFFBQVEsRUFBZ0IsQ0FBQTtRQUVsRCxhQUFRLEdBQXdCLElBQUksQ0FBQTtRQUNwQyxXQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDWCxZQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFWixXQUFNLEdBQTJCO1lBQ3JDLFNBQVMsRUFBRSxRQUFRO1lBQ25CLFNBQVMsRUFBRSxRQUFRO1lBQ25CLEtBQUssRUFBRSxRQUFRO1lBQ2YsS0FBSyxFQUFFLFFBQVE7WUFDZixLQUFLLEVBQUUsUUFBUTtTQUNsQixDQUFBO1FBUUcsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcs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
@@ -0,0 +1,4 @@
1
+ import { TgdVec2, TgdVec3, TgdVec4 } from "../math";
2
+ export declare function ensureArray<T>(items: T | T[] | undefined): T[];
3
+ export declare function ensureTgdVec3(vec?: TgdVec2 | TgdVec3 | TgdVec4 | number[] | number | null): TgdVec3;
4
+ //# sourceMappingURL=ensure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../src/utils/ensure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAErD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,CAG9D;AAED,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAQnG"}
@@ -0,0 +1,21 @@
1
+ import { TgdVec2, TgdVec3, TgdVec4 } from "./../math/index.js";
2
+ export function ensureArray(items) {
3
+ if (items === undefined)
4
+ return [];
5
+ return Array.isArray(items) ? items : [items];
6
+ }
7
+ export function ensureTgdVec3(vec) {
8
+ if (typeof vec === "number")
9
+ return new TgdVec3(vec, vec, vec);
10
+ if (!vec)
11
+ return new TgdVec3(0, 0, 0);
12
+ if (vec instanceof TgdVec2)
13
+ return new TgdVec3(vec.x, vec.y, 0);
14
+ if (vec instanceof TgdVec3)
15
+ return vec;
16
+ if (vec instanceof TgdVec4)
17
+ return new TgdVec3(vec.x, vec.y, vec.z);
18
+ const [x, y, z] = vec;
19
+ return new TgdVec3(x !== null && x !== void 0 ? x : 0, y !== null && y !== void 0 ? y : 0, z !== null && z !== void 0 ? z : 0);
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5zdXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2Vuc3VyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFckQsTUFBTSxVQUFVLFdBQVcsQ0FBSSxLQUEwQjtJQUNyRCxJQUFJLEtBQUssS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFDbEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDakQsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBNEQ7SUFDdEYsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzlELElBQUksQ0FBQyxHQUFHO1FBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3JDLElBQUksR0FBRyxZQUFZLE9BQU87UUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMvRCxJQUFJLEdBQUcsWUFBWSxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUE7SUFDdEMsSUFBSSxHQUFHLFlBQVksT0FBTztRQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUE7SUFDckIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLGFBQUQsQ0FBQyxjQUFELENBQUMsR0FBSSxDQUFDLEVBQUUsQ0FBQyxhQUFELENBQUMsY0FBRCxDQUFDLEdBQUksQ0FBQyxFQUFFLENBQUMsYUFBRCxDQUFDLGNBQUQsQ0FBQyxHQUFJLENBQUMsQ0FBQyxDQUFBO0FBQzlDLENBQUMifQ==
@@ -1,6 +1,6 @@
1
1
  export * from "./action";
2
2
  export * from "./animation";
3
- export * from "./array";
3
+ export * from "./ensure";
4
4
  export * from "./assert";
5
5
  export * from "./bbox";
6
6
  export * from "./canvas";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
@@ -1,6 +1,6 @@
1
1
  export * from "./action/index.js";
2
2
  export * from "./animation/index.js";
3
- export * from "./array.js";
3
+ export * from "./ensure.js";
4
4
  export * from "./assert.js";
5
5
  export * from "./bbox.js";
6
6
  export * from "./canvas.js";
@@ -11,4 +11,4 @@ export * from "./fullscreen.js";
11
11
  export * from "./pbo.js";
12
12
  export * from "./state/index.js";
13
13
  export * from "./webgl.js";
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsY0FBYyxDQUFBO0FBQzVCLGNBQWMsT0FBTyxDQUFBO0FBQ3JCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsU0FBUyxDQUFBIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsY0FBYyxDQUFBO0FBQzVCLGNBQWMsT0FBTyxDQUFBO0FBQ3JCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsU0FBUyxDQUFBIn0=
@@ -1,2 +1,2 @@
1
- export declare const version = "2.0.104";
1
+ export declare const version = "2.0.106";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const version = "2.0.104";
1
+ export const version = "2.0.106";
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUEifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolokoban/tgd",
3
- "version": "2.0.104",
3
+ "version": "2.0.106",
4
4
  "description": "ToloGameDev library for WebGL2",
5
5
  "homepage": "https://tolokoban.github.io/tgd2",
6
6
  "main": "./lib/dist/index.js",
@@ -1,21 +0,0 @@
1
- import { TgdContext } from "../../../context";
2
- import { TgdPainter } from "../../painter";
3
- import { TgdTexture2D } from "../../../texture";
4
- interface PainterTipsNormalOptions {
5
- texture: TgdTexture2D;
6
- size: number;
7
- }
8
- export declare class PainterTipsNormal extends TgdPainter {
9
- private readonly context;
10
- static create(context: TgdContext, options: Omit<PainterTipsNormalOptions, "texture">): Promise<PainterTipsNormal>;
11
- index: number;
12
- size: number;
13
- private readonly texture;
14
- private readonly prg;
15
- private readonly vao;
16
- private constructor();
17
- delete(): void;
18
- paint(time: number, delta: number): void;
19
- }
20
- export {};
21
- //# sourceMappingURL=normal.1.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normal.1.d.ts","sourceRoot":"","sources":["../../../../src/painter/gizmo/painters/normal.1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAI3C,UAAU,wBAAwB;IAC9B,OAAO,EAAE,YAAY,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,iBAAkB,SAAQ,UAAU;IAczC,OAAO,CAAC,QAAQ,CAAC,OAAO;WAbR,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAK3F,KAAK,SAAK;IACV,IAAI,EAAE,MAAM,CAAA;IAEnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC,OAAO;IA+EP,MAAM,IAAI,IAAI;IAMd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAkB3C"}