@tolokoban/tgd 2.0.118 → 2.0.120

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 (205) hide show
  1. package/lib/dist/bounding-box.js +2 -2
  2. package/lib/dist/buffer/buffer.js +7 -9
  3. package/lib/dist/camera/camera-orthographic.d.ts +1 -0
  4. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  5. package/lib/dist/camera/camera-orthographic.js +13 -3
  6. package/lib/dist/camera/camera-perspective.d.ts +1 -0
  7. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  8. package/lib/dist/camera/camera-perspective.js +13 -3
  9. package/lib/dist/camera/camera.d.ts +1 -0
  10. package/lib/dist/camera/camera.d.ts.map +1 -1
  11. package/lib/dist/camera/camera.js +7 -8
  12. package/lib/dist/canvas/gizmo/gizmo.js +16 -15
  13. package/lib/dist/canvas/landscape/landscape.js +8 -2
  14. package/lib/dist/code/math.js +6 -3
  15. package/lib/dist/code/noise.js +18 -6
  16. package/lib/dist/color/color.d.ts +1 -1
  17. package/lib/dist/color/color.d.ts.map +1 -1
  18. package/lib/dist/color/color.js +16 -2
  19. package/lib/dist/context/animation/animation-manager.js +4 -6
  20. package/lib/dist/context/context.d.ts +8 -0
  21. package/lib/dist/context/context.d.ts.map +1 -1
  22. package/lib/dist/context/context.js +51 -20
  23. package/lib/dist/context/webgl-params.d.ts +9 -3
  24. package/lib/dist/context/webgl-params.d.ts.map +1 -1
  25. package/lib/dist/context/webgl-params.js +39 -12
  26. package/lib/dist/controller/camera/orbit.js +26 -6
  27. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  28. package/lib/dist/dataset/dataset.js +26 -35
  29. package/lib/dist/debug/console.js +6 -4
  30. package/lib/dist/debug/debug.js +5 -6
  31. package/lib/dist/factory/mesh-glb.d.ts +4 -6
  32. package/lib/dist/factory/mesh-glb.d.ts.map +1 -1
  33. package/lib/dist/factory/mesh-glb.js +6 -6
  34. package/lib/dist/filter/blur.js +14 -8
  35. package/lib/dist/filter/filter.js +2 -3
  36. package/lib/dist/filter/hue-rotation.js +2 -2
  37. package/lib/dist/geometry/geometry.js +7 -10
  38. package/lib/dist/geometry/grid.js +3 -3
  39. package/lib/dist/geometry/tools/marching-cubes/marching-cubes.js +2 -3
  40. package/lib/dist/input/gamepad.js +9 -17
  41. package/lib/dist/input/pointer.d.ts.map +1 -1
  42. package/lib/dist/input/pointer.js +53 -22
  43. package/lib/dist/light/light.js +2 -3
  44. package/lib/dist/loader/asset.js +11 -14
  45. package/lib/dist/loader/binary.js +44 -51
  46. package/lib/dist/loader/font.d.ts +13 -0
  47. package/lib/dist/loader/font.d.ts.map +1 -0
  48. package/lib/dist/loader/font.js +28 -0
  49. package/lib/dist/loader/image.js +13 -16
  50. package/lib/dist/loader/index.d.ts +1 -0
  51. package/lib/dist/loader/index.d.ts.map +1 -1
  52. package/lib/dist/loader/index.js +2 -1
  53. package/lib/dist/loader/video.js +13 -16
  54. package/lib/dist/log.js +2 -3
  55. package/lib/dist/material/camera-light.d.ts +1 -0
  56. package/lib/dist/material/camera-light.d.ts.map +1 -1
  57. package/lib/dist/material/camera-light.js +7 -3
  58. package/lib/dist/material/diffuse.js +2 -3
  59. package/lib/dist/material/flat.js +2 -3
  60. package/lib/dist/material/glass.js +6 -8
  61. package/lib/dist/material/global.js +6 -8
  62. package/lib/dist/material/gltf.d.ts +29 -0
  63. package/lib/dist/material/gltf.d.ts.map +1 -0
  64. package/lib/dist/material/gltf.js +186 -0
  65. package/lib/dist/material/hull.js +4 -5
  66. package/lib/dist/material/index.d.ts +2 -0
  67. package/lib/dist/material/index.d.ts.map +1 -1
  68. package/lib/dist/material/index.js +3 -1
  69. package/lib/dist/material/material.js +5 -2
  70. package/lib/dist/material/mirror.d.ts +18 -0
  71. package/lib/dist/material/mirror.d.ts.map +1 -0
  72. package/lib/dist/material/mirror.js +56 -0
  73. package/lib/dist/material/solid.js +2 -3
  74. package/lib/dist/material/toon.js +7 -7
  75. package/lib/dist/math/mat4.js +3 -4
  76. package/lib/dist/math/transfo.js +11 -14
  77. package/lib/dist/math/vec4.d.ts +1 -0
  78. package/lib/dist/math/vec4.d.ts.map +1 -1
  79. package/lib/dist/math/vec4.js +18 -14
  80. package/lib/dist/painter/background/background.js +2 -2
  81. package/lib/dist/painter/clear.js +5 -6
  82. package/lib/dist/painter/filter/filter.js +9 -7
  83. package/lib/dist/painter/fragment-shader/fragment-shader.js +3 -5
  84. package/lib/dist/painter/framebuffer-msaa.js +5 -2
  85. package/lib/dist/painter/framebuffer.js +5 -8
  86. package/lib/dist/painter/gizmo/gizmo.d.ts.map +1 -1
  87. package/lib/dist/painter/gizmo/gizmo.js +5 -5
  88. package/lib/dist/painter/gizmo/painters/normal.js +4 -7
  89. package/lib/dist/painter/gizmo/painters/tips.d.ts.map +1 -1
  90. package/lib/dist/painter/gizmo/painters/tips.js +11 -13
  91. package/lib/dist/painter/group-camera.js +2 -3
  92. package/lib/dist/painter/group.js +6 -8
  93. package/lib/dist/painter/icon/icon.js +10 -8
  94. package/lib/dist/painter/icon/sprite.js +2 -3
  95. package/lib/dist/painter/lod/lod.js +26 -30
  96. package/lib/dist/painter/logic.js +2 -3
  97. package/lib/dist/painter/mesh/gltf/gltf.d.ts +27 -5
  98. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  99. package/lib/dist/painter/mesh/gltf/gltf.js +100 -52
  100. package/lib/dist/painter/mesh/mesh/mesh.js +24 -17
  101. package/lib/dist/painter/mix/mix.js +6 -7
  102. package/lib/dist/painter/node/node.js +11 -17
  103. package/lib/dist/painter/overlay/overlay.js +14 -19
  104. package/lib/dist/painter/painter.js +2 -2
  105. package/lib/dist/painter/points-cloud/points-cloud-morphing.js +12 -14
  106. package/lib/dist/painter/points-cloud/points-cloud.js +11 -12
  107. package/lib/dist/painter/program.js +24 -11
  108. package/lib/dist/painter/segments/segments-morphing.js +30 -14
  109. package/lib/dist/painter/segments/segments.js +33 -20
  110. package/lib/dist/painter/skybox/skybox.d.ts +18 -8
  111. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  112. package/lib/dist/painter/skybox/skybox.js +90 -44
  113. package/lib/dist/painter/sprites/accessor.js +2 -2
  114. package/lib/dist/painter/sprites/sprites-hue.js +18 -8
  115. package/lib/dist/painter/sprites/sprites.js +53 -20
  116. package/lib/dist/painter/state/state.d.ts +1 -1
  117. package/lib/dist/painter/state/state.d.ts.map +1 -1
  118. package/lib/dist/painter/state/state.js +6 -11
  119. package/lib/dist/painter/tubes/geometry.js +3 -4
  120. package/lib/dist/painter/tubes/tubes.js +3 -4
  121. package/lib/dist/painter/x-ray/background.js +2 -2
  122. package/lib/dist/painter/x-ray/x-ray.js +8 -5
  123. package/lib/dist/parser/gltf/gltf.d.ts +13 -5
  124. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  125. package/lib/dist/parser/gltf/gltf.js +113 -114
  126. package/lib/dist/parser/gltf/parser.d.ts.map +1 -1
  127. package/lib/dist/parser/gltf/parser.js +12 -1
  128. package/lib/dist/parser/mesh/wavefront.js +3 -5
  129. package/lib/dist/program/program.d.ts.map +1 -1
  130. package/lib/dist/program/program.js +6 -7
  131. package/lib/dist/reference-map.js +3 -5
  132. package/lib/dist/shader/code.js +2 -2
  133. package/lib/dist/texture/texture-cube.d.ts +19 -7
  134. package/lib/dist/texture/texture-cube.d.ts.map +1 -1
  135. package/lib/dist/texture/texture-cube.js +54 -2
  136. package/lib/dist/texture/texture2d.d.ts +9 -2
  137. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  138. package/lib/dist/texture/texture2d.js +51 -49
  139. package/lib/dist/time/interval/interval.js +2 -3
  140. package/lib/dist/types/gltf.d.ts +2 -1
  141. package/lib/dist/types/gltf.d.ts.map +1 -1
  142. package/lib/dist/types/gltf.js +10 -4
  143. package/lib/dist/types/guards.js +2 -3
  144. package/lib/dist/types/input-pointer.d.ts +5 -0
  145. package/lib/dist/types/input-pointer.d.ts.map +1 -1
  146. package/lib/dist/types/texture-cube.d.ts +1 -0
  147. package/lib/dist/types/texture-cube.d.ts.map +1 -1
  148. package/lib/dist/uniform/ubo-camera.d.ts +2 -1
  149. package/lib/dist/uniform/ubo-camera.d.ts.map +1 -1
  150. package/lib/dist/uniform/ubo-camera.js +9 -2
  151. package/lib/dist/uniform/uniform-buffer-object.js +2 -2
  152. package/lib/dist/utils/action/camera.js +3 -4
  153. package/lib/dist/utils/animation/chain-transfo-interpolations.js +6 -2
  154. package/lib/dist/utils/animation/chain.js +12 -12
  155. package/lib/dist/utils/bbox.js +3 -3
  156. package/lib/dist/utils/canvas.js +3 -3
  157. package/lib/dist/utils/ensure.d.ts +2 -0
  158. package/lib/dist/utils/ensure.d.ts.map +1 -1
  159. package/lib/dist/utils/ensure.js +21 -5
  160. package/lib/dist/utils/fullscreen.js +31 -38
  161. package/lib/dist/utils/reference-map.js +3 -5
  162. package/lib/dist/utils/state/blend.d.ts +1 -1
  163. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  164. package/lib/dist/utils/state/blend.js +28 -1
  165. package/lib/dist/utils/state/stencil.js +2 -2
  166. package/lib/dist/vao/vao.js +8 -9
  167. package/lib/dist/version.d.ts +1 -1
  168. package/lib/dist/version.js +1 -1
  169. package/lib/dist/wasm/function.js +2 -3
  170. package/lib/dist/wasm/index.js +16 -19
  171. package/lib/dist/wasm/wast.js +3 -4
  172. package/lib/dist/webgl/texture/texture2d.js +2 -3
  173. package/package.json +1 -1
  174. package/lib/dist/math/common.test.d.ts +0 -2
  175. package/lib/dist/math/common.test.d.ts.map +0 -1
  176. package/lib/dist/math/common.test.js +0 -22
  177. package/lib/dist/math/mat3.test.d.ts +0 -2
  178. package/lib/dist/math/mat3.test.d.ts.map +0 -1
  179. package/lib/dist/math/mat3.test.js +0 -32
  180. package/lib/dist/math/mat4.test.d.ts +0 -2
  181. package/lib/dist/math/mat4.test.d.ts.map +0 -1
  182. package/lib/dist/math/mat4.test.js +0 -57
  183. package/lib/dist/math/math.test.d.ts +0 -2
  184. package/lib/dist/math/math.test.d.ts.map +0 -1
  185. package/lib/dist/math/math.test.js +0 -23
  186. package/lib/dist/math/quat.test.d.ts +0 -3
  187. package/lib/dist/math/quat.test.d.ts.map +0 -1
  188. package/lib/dist/math/quat.test.js +0 -99
  189. package/lib/dist/math/vec3.test.d.ts +0 -2
  190. package/lib/dist/math/vec3.test.d.ts.map +0 -1
  191. package/lib/dist/math/vec3.test.js +0 -36
  192. package/lib/dist/math/vec4.test.d.ts +0 -2
  193. package/lib/dist/math/vec4.test.d.ts.map +0 -1
  194. package/lib/dist/math/vec4.test.js +0 -15
  195. package/lib/dist/painter/gizmo/painters/axes.1.d.ts +0 -14
  196. package/lib/dist/painter/gizmo/painters/axes.1.d.ts.map +0 -1
  197. package/lib/dist/painter/gizmo/painters/axes.1.js +0 -50
  198. package/lib/dist/painter/skybox/skybox.frag +0 -15
  199. package/lib/dist/painter/skybox/skybox.vert +0 -13
  200. package/lib/dist/utils/bbox.test.d.ts +0 -2
  201. package/lib/dist/utils/bbox.test.d.ts.map +0 -1
  202. package/lib/dist/utils/bbox.test.js +0 -45
  203. package/lib/dist/utils/template.test.d.ts +0 -2
  204. package/lib/dist/utils/template.test.d.ts.map +0 -1
  205. package/lib/dist/utils/template.test.js +0 -17
@@ -6,7 +6,6 @@ import { TgdPainter } from "../painter.js";
6
6
  import { PainterSprite } from "./sprite.js";
7
7
  export class TgdPainterIcon extends TgdPainter {
8
8
  constructor(context, options) {
9
- var _a, _b, _c, _d, _e, _f;
10
9
  super();
11
10
  this.context = context;
12
11
  this.eventPointerTap = new TgdEvent();
@@ -22,9 +21,9 @@ export class TgdPainterIcon extends TgdPainter {
22
21
  this.overlayheight = height;
23
22
  this.refresh();
24
23
  };
25
- this.name = (_a = options.name) !== null && _a !== void 0 ? _a : "TgdPainterIcon";
24
+ this.name = options.name ?? "TgdPainterIcon";
26
25
  const sprite = (this.sprite = new PainterSprite(context, options));
27
- const texture = (this.texture = new TgdTexture2D(context).loadBitmap(tgdCanvasCreate((_b = options.width) !== null && _b !== void 0 ? _b : 1, (_c = options.height) !== null && _c !== void 0 ? _c : 1)));
26
+ const texture = (this.texture = new TgdTexture2D(context).loadBitmap(tgdCanvasCreate(options.width ?? 1, options.height ?? 1)));
28
27
  const clear = new TgdPainterClear(context, {
29
28
  color: [0, 0, 0, 0],
30
29
  depth: 1,
@@ -34,17 +33,20 @@ export class TgdPainterIcon extends TgdPainter {
34
33
  fixedSize: true,
35
34
  children: [clear, sprite],
36
35
  }));
37
- const overlay = (this.overlay = new TgdPainterOverlay(context, Object.assign(Object.assign({}, options), { texture: framebuffer.textureColor0 })));
36
+ const overlay = (this.overlay = new TgdPainterOverlay(context, {
37
+ ...options,
38
+ texture: framebuffer.textureColor0,
39
+ }));
38
40
  overlay.eventTap.addListener((evt) => this.eventPointerTap.dispatch(evt));
39
41
  overlay.eventResize.addListener(this.handleOverlayResize);
40
42
  this.state = new TgdPainterState(context, {
41
43
  cull: "off",
42
- blend: (_d = options.blend) !== null && _d !== void 0 ? _d : "alpha",
43
- depth: (_e = options.depth) !== null && _e !== void 0 ? _e : "off",
44
+ blend: options.blend ?? "alpha",
45
+ depth: options.depth ?? "off",
44
46
  children: [overlay],
45
47
  });
46
48
  this._color = ensureTgdVec4(options.color, new TgdVec4(1, 1, 1, 1));
47
- this._index = (_f = options.index) !== null && _f !== void 0 ? _f : 0;
49
+ this._index = options.index ?? 0;
48
50
  }
49
51
  get index() {
50
52
  return this._index;
@@ -137,4 +139,4 @@ export class TgdPainterIcon extends TgdPainter {
137
139
  this.state.paint(time, delta);
138
140
  }
139
141
  }
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL2ljb24vaWNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JDLE9BQU8sRUFFSCxhQUFhLEVBQ2IsZUFBZSxFQUdmLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLE9BQU8sR0FLVixNQUFNLFlBQVksQ0FBQTtBQUNuQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUMsTUFBTSxZQUFZLENBQUE7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBcUJ4QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFjMUMsWUFDb0IsT0FBbUIsRUFDbkMsT0FBOEI7O1FBRTlCLEtBQUssRUFBRSxDQUFBO1FBSFMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQWR2QixvQkFBZSxHQUFHLElBQUksUUFBUSxFQUEyQixDQUFBO1FBU2pFLFVBQUssR0FBRyxJQUFJLENBQUE7UUFDWixpQkFBWSxHQUFHLEVBQUUsQ0FBQTtRQUNqQixrQkFBYSxHQUFHLEVBQUUsQ0FBQTtRQTRJMUIsWUFBTyxHQUFHLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDeEIsQ0FBQyxDQUFBO1FBRWdCLHdCQUFtQixHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQyxFQUFFLEVBQUU7WUFDNUYsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUE7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUE7WUFDM0Is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
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL2ljb24vaWNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JDLE9BQU8sRUFFSCxhQUFhLEVBQ2IsZUFBZSxFQUdmLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLE9BQU8sR0FLVixNQUFNLFlBQVksQ0FBQTtBQUNuQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUMsTUFBTSxZQUFZLENBQUE7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBcUJ4QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFjMUMsWUFDb0IsT0FBbUIsRUFDbkMsT0FBOEI7UUFFOUIsS0FBSyxFQUFFLENBQUE7UUFIUyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBZHZCLG9CQUFlLEdBQUcsSUFBSSxRQUFRLEVBQTJCLENBQUE7UUFTakUsVUFBSyxHQUFHLElBQUksQ0FBQTtRQUNaLGlCQUFZLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLGtCQUFhLEdBQUcsRUFBRSxDQUFBO1FBNEkxQixZQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUN4QixDQUFDLENBQUE7UUFFZ0Isd0JBQW1CLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXFDLEVBQUUsRUFBRTtZQUM1RixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQTtZQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQTtZQUMzQixJ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
@@ -81,11 +81,10 @@ export class PainterSprite extends TgdPainter {
81
81
  return this._index;
82
82
  }
83
83
  set index(index) {
84
- var _a;
85
84
  if (this._index === index)
86
85
  return;
87
86
  this._index = index;
88
- const { x, y, width, height } = (_a = this.atlas[index]) !== null && _a !== void 0 ? _a : { x: 0, y: 0, width: 0, height: 0 };
87
+ const { x, y, width, height } = this.atlas[index] ?? { x: 0, y: 0, width: 0, height: 0 };
89
88
  this.uniUV.x = x;
90
89
  this.uniUV.y = y;
91
90
  this.uniUV.z = width;
@@ -109,4 +108,4 @@ export class PainterSprite extends TgdPainter {
109
108
  this.program.paint(time, delta);
110
109
  }
111
110
  }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvaWNvbi9zcHJpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFJeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFRMUMsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBUXpDLFlBQ0ksT0FBbUIsRUFDbkIsRUFDSSxPQUFPLEVBQ1AsS0FBSyxHQUFHO1FBQ0o7WUFDSSxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsQ0FBQztTQUNaO0tBQ0osRUFDRCxLQUFLLEdBQUcsQ0FBQyxFQUNULEtBQUssR0FDYztRQUV2QixLQUFLLEVBQUUsQ0FBQTtRQXBCSCxXQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDWCxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUNiLFVBQUssR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBbUJsQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLEVBQUU7WUFDMUUsUUFBUSxFQUFFO2dCQUNOLEtBQUssRUFBRSxNQUFNO2dCQUNiLFFBQVEsRUFBRSxNQUFNO2FBQ25CO1NBQ0osQ0FBQyxDQUFDLENBQUE7UUFDSCxrQkFBa0I7UUFDbEIsTUFBTSxNQUFNLEdBQUc7WUFDWCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDTixDQUFDLENBQUMs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
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvaWNvbi9zcHJpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFJeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFRMUMsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBUXpDLFlBQ0ksT0FBbUIsRUFDbkIsRUFDSSxPQUFPLEVBQ1AsS0FBSyxHQUFHO1FBQ0o7WUFDSSxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsQ0FBQztTQUNaO0tBQ0osRUFDRCxLQUFLLEdBQUcsQ0FBQyxFQUNULEtBQUssR0FDYztRQUV2QixLQUFLLEVBQUUsQ0FBQTtRQXBCSCxXQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDWCxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUNiLFVBQUssR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBbUJsQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLEVBQUU7WUFDMUUsUUFBUSxFQUFFO2dCQUNOLEtBQUssRUFBRSxNQUFNO2dCQUNiLFFBQVEsRUFBRSxNQUFNO2FBQ25CO1NBQ0osQ0FBQyxDQUFDLENBQUE7UUFDSCxrQkFBa0I7UUFDbEIsTUFBTSxNQUFNLEdBQUc7WUFDWCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDTixDQUFDLENBQUMs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
@@ -1,4 +1,3 @@
1
- import { __awaiter } from "tslib";
2
1
  import { TgdTransfo } from "./../../math/index.js";
3
2
  import { TgdPainterGroup } from "../group.js";
4
3
  import { TgdPainter } from "../painter.js";
@@ -26,36 +25,33 @@ export class TgdPainterLOD extends TgdPainter {
26
25
  this.group.paint(time, delta);
27
26
  this.computeOctree();
28
27
  }
29
- computeOctree() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- var _a;
32
- if (this.isComputingOctree)
33
- return;
34
- this.isComputingOctree = true;
35
- try {
36
- const { group, context, options } = this;
37
- const candidates = listBBoxes(context.camera, options.bbox, options.subdivisions, (_a = options.surfaceThreshold) !== null && _a !== void 0 ? _a : 0.25);
38
- const promises = [];
39
- for (const [x, y, z, level] of candidates) {
40
- promises.push(this.getMeshPromise(x, y, z, level));
41
- }
42
- const results = yield Promise.allSettled(promises);
43
- group.removeAll(false);
44
- for (const result of results) {
45
- if (result.status === "fulfilled") {
46
- const painter = result.value;
47
- if (painter) {
48
- group.add(painter);
49
- this.paintersToDelete.add(painter);
50
- }
28
+ async computeOctree() {
29
+ if (this.isComputingOctree)
30
+ return;
31
+ this.isComputingOctree = true;
32
+ try {
33
+ const { group, context, options } = this;
34
+ const candidates = listBBoxes(context.camera, options.bbox, options.subdivisions, options.surfaceThreshold ?? 0.25);
35
+ const promises = [];
36
+ for (const [x, y, z, level] of candidates) {
37
+ promises.push(this.getMeshPromise(x, y, z, level));
38
+ }
39
+ const results = await Promise.allSettled(promises);
40
+ group.removeAll(false);
41
+ for (const result of results) {
42
+ if (result.status === "fulfilled") {
43
+ const painter = result.value;
44
+ if (painter) {
45
+ group.add(painter);
46
+ this.paintersToDelete.add(painter);
51
47
  }
52
48
  }
53
- this.context.paint();
54
- }
55
- finally {
56
- this.isComputingOctree = false;
57
49
  }
58
- });
50
+ this.context.paint();
51
+ }
52
+ finally {
53
+ this.isComputingOctree = false;
54
+ }
59
55
  }
60
56
  getMeshPromise(x, y, z, level) {
61
57
  const fromCache = this.cache.get(x, y, z, level);
@@ -66,7 +62,7 @@ export class TgdPainterLOD extends TgdPainter {
66
62
  return promise;
67
63
  }
68
64
  debug(caption) {
69
- console.debug(caption !== null && caption !== void 0 ? caption : `${this.name} (id: ${this.id}, active: ${this.active})`);
65
+ console.debug(caption ?? `${this.name} (id: ${this.id}, active: ${this.active})`);
70
66
  }
71
67
  }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvbG9kL2xvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQXlDckMsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBUXpDLFlBQ29CLE9BQW1CLEVBQ2xCLE9BQTZCO1FBRTlDLEtBQUssRUFBRSxDQUFBO1FBSFMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNsQixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQVRsQyxZQUFPLEdBQWtDLElBQUksVUFBVSxFQUFFLENBQUE7UUFFeEQsVUFBSyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUE7UUFDN0IsVUFBSyxHQUFHLElBQUksV0FBVyxFQUF3QyxDQUFBO1FBQy9ELHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUFjLENBQUE7UUFDakQsc0JBQWlCLEdBQUcsS0FBSyxDQUFBO0lBT2pDLENBQUM7SUFFRCxNQUFNO1FBQ0YsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNuRCxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDcEIsQ0FBQztRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDN0IsSUFBSSxDQUFD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
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvbG9kL2xvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBeUNyQyxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFRekMsWUFDb0IsT0FBbUIsRUFDbEIsT0FBNkI7UUFFOUMsS0FBSyxFQUFFLENBQUE7UUFIUyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBVGxDLFlBQU8sR0FBa0MsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQUV4RCxVQUFLLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtRQUM3QixVQUFLLEdBQUcsSUFBSSxXQUFXLEVBQXdDLENBQUE7UUFDL0QscUJBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQWMsQ0FBQTtRQUNqRCxzQkFBaUIsR0FBRyxLQUFLLENBQUE7SUFPakMsQ0FBQztJQUVELE1BQU07UUFDRixLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNwQixDQUFDO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDN0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFTyxLQUFLLENBQUMsYUFBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxPQUFNO1FBRWxDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUE7UUFDN0IsSUFBSSxDQUFDO1lBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1lBQ3hDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FDekIsT0FBTyxDQUFDLE1BQU0sRUFDZCxPQUFPLENBQUMsSUFBSSxFQUNaLE9BQU8sQ0FBQyxZQUFZLEVBQ3BCLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQ25DLENBQUE7WUFDRCxNQUFNLFFBQVEsR0FBMkMsRUFBRSxDQUFBO1lBQzNELEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUN4QyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtZQUN0RCxDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQ2xELEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDdEIsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO29CQUNoQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO29CQUM1QixJQUFJLE9BQU8sRUFBRSxDQUFDO3dCQUNWLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7d0JBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBQ3RDLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3hCLENBQUM7Z0JBQVMsQ0FBQztZQUNQLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUE7UUFDbEMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsS0FBYTtRQUNqRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNoRCxJQUFJLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUUvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDdkMsT0FBTyxPQUFPLENBQUE7SUFDbEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFnQjtRQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLFVBQVUsSUFBSSxDQUFDLEVBQUUsYUFBYSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUN0RixDQUFDO0NBQ0oifQ==
@@ -4,14 +4,13 @@ import { TgdPainter } from "./painter.js";
4
4
  */
5
5
  export class TgdPainterLogic extends TgdPainter {
6
6
  constructor(logicFunction, options = {}) {
7
- var _a;
8
7
  super();
9
8
  this.logicFunction = logicFunction;
10
- this.name = (_a = options.name) !== null && _a !== void 0 ? _a : `Logic/${this.name}`;
9
+ this.name = options.name ?? `Logic/${this.name}`;
11
10
  }
12
11
  delete() { }
13
12
  paint(time, delta) {
14
13
  this.logicFunction(time, delta);
15
14
  }
16
15
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9sb2dpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQUMzQyxZQUNxQixhQUFvRCxFQUNyRSxVQUFxQyxFQUFFOztRQUV2QyxLQUFLLEVBQUUsQ0FBQTtRQUhVLGtCQUFhLEdBQWIsYUFBYSxDQUF1QztRQUlyRSxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQUEsT0FBTyxDQUFDLElBQUksbUNBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDcEQsQ0FBQztJQUVELE1BQU0sS0FBVSxDQUFDO0lBRWpCLEtBQUssQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0NBQ0oifQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9sb2dpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQUMzQyxZQUNxQixhQUFvRCxFQUNyRSxVQUFxQyxFQUFFO1FBRXZDLEtBQUssRUFBRSxDQUFBO1FBSFUsa0JBQWEsR0FBYixhQUFhLENBQXVDO1FBSXJFLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsTUFBTSxLQUFVLENBQUM7SUFFakIsS0FBSyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ25DLENBQUM7Q0FDSiJ9
@@ -1,17 +1,39 @@
1
1
  import { TgdMaterial } from "../../../material";
2
- import { TgdVec4 } from "../../../math";
3
2
  import type { TgdDataGlb } from "../../../parser";
4
- import type { TgdTexture2D } from "../../../texture";
3
+ import type { ArrayNumber3, ArrayNumber4 } from "../../../types";
5
4
  import { TgdPainterMesh } from "../mesh";
6
5
  import { TgdContext } from "../../../context";
6
+ import { TgdTextureCube } from "../../../texture";
7
+ export interface TgdPainterMeshGltfMaterialDescription {
8
+ name: string;
9
+ asset: TgdDataGlb;
10
+ context: TgdContext;
11
+ color?: ArrayNumber4;
12
+ abedo?: {
13
+ imageIndex: number;
14
+ };
15
+ metallicRoughness?: {
16
+ imageIndex: number;
17
+ };
18
+ normal?: {
19
+ imageIndex: number;
20
+ };
21
+ occlusion?: {
22
+ imageIndex: number;
23
+ };
24
+ emission?: {
25
+ imageIndex: number;
26
+ strength: ArrayNumber3;
27
+ };
28
+ skybox?: TgdTextureCube;
29
+ }
7
30
  export interface TgdPainterMeshGltfOptions {
8
31
  asset: TgdDataGlb;
9
32
  meshIndexOrName?: number | string;
10
33
  primitiveIndex?: number;
11
34
  name?: string;
12
- material?: TgdMaterial | ((this: void, options: {
13
- color?: TgdVec4 | TgdTexture2D;
14
- }) => TgdMaterial);
35
+ material?: TgdMaterial | ((this: void, options: TgdPainterMeshGltfMaterialDescription) => TgdMaterial);
36
+ skybox?: TgdTextureCube;
15
37
  }
16
38
  /**
17
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/gltf/gltf.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAW,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,WAAW,yBAAyB;IACtC,KAAK,EAAE,UAAU,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;KAAE,KAAK,WAAW,CAAC,CAAA;CACtG;AAED;GACG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;gBACtC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB;CAqCtE"}
1
+ {"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/gltf/gltf.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAgB,cAAc,EAAE,MAAM,cAAc,CAAA;AAI3D,MAAM,WAAW,qCAAqC;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,UAAU,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,KAAK,CAAC,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,iBAAiB,CAAC,EAAE;QAChB,UAAU,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,MAAM,CAAC,EAAE;QACL,UAAU,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,SAAS,CAAC,EAAE;QACR,UAAU,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,QAAQ,CAAC,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,YAAY,CAAA;KACzB,CAAA;IACD,MAAM,CAAC,EAAE,cAAc,CAAA;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACtC,KAAK,EAAE,UAAU,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,qCAAqC,KAAK,WAAW,CAAC,CAAA;IACtG,MAAM,CAAC,EAAE,cAAc,CAAA;CAC1B;AAED;GACG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;gBACtC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB;CAiDtE"}
@@ -1,18 +1,25 @@
1
1
  import { TgdDataset } from "./../../../dataset/index.js";
2
2
  import { TgdGeometry } from "./../../../geometry/index.js";
3
- import { TgdLight } from "./../../../light/index.js";
4
3
  import { TgdMaterial } from "./../../../material/index.js";
5
- import { TgdMaterialCameraLight } from "./../../../material/camera-light.js";
6
- import { TgdVec3, TgdVec4 } from "./../../../math/index.js";
4
+ import { tgdCalcRandom } from "./../../../math/index.js";
7
5
  import { TgdPainterMesh } from "../mesh/index.js";
6
+ import { TgdMaterialGltf } from "./../../../material/gltf.js";
7
+ import { TgdTexture2D, TgdTextureCube } from "./../../../texture/index.js";
8
+ import { tgdCanvasCreateFill } from "./../../../utils/index.js";
9
+ import { TgdColor } from "./../../../color/index.js";
8
10
  /**
9
11
  */
10
12
  export class TgdPainterMeshGltf extends TgdPainterMesh {
11
13
  constructor(context, options) {
12
- var _a;
13
- const { asset, meshIndexOrName = 0, primitiveIndex = 0, material: materialFactory = makeMaterial } = options;
14
- const color = figureColor(asset, meshIndexOrName, primitiveIndex, context);
15
- const material = materialFactory instanceof TgdMaterial ? materialFactory : materialFactory({ color });
14
+ const { asset, meshIndexOrName = 0, primitiveIndex = 0, skybox, material: materialFactory = makeMaterial, } = options;
15
+ const materialDescription = figureMaterialDescription({
16
+ asset,
17
+ meshIndexOrName,
18
+ primitiveIndex,
19
+ context,
20
+ skybox,
21
+ });
22
+ const material = materialFactory instanceof TgdMaterial ? materialFactory : materialFactory(materialDescription);
16
23
  let computeNormals = false;
17
24
  const attributes = {
18
25
  POSITION: "vec3",
@@ -45,58 +52,99 @@ export class TgdPainterMeshGltf extends TgdPainterMesh {
45
52
  }),
46
53
  material,
47
54
  });
48
- this.name = (_a = options.name) !== null && _a !== void 0 ? _a : `Gltf/${this.name}`;
55
+ this.name = options.name ?? `Gltf/${this.name}`;
49
56
  }
50
57
  }
51
- const DEFAULT_COLOR = new TgdVec4(0.9, 0.5, 0.1, 1);
52
- function figureColor(asset, meshIndexOrName, primitiveIndex, context) {
53
- var _a, _b;
58
+ const DEFAULT_COLOR = [0.9, 0.5, 0.1, 1];
59
+ function figureMaterialDescription({ asset, meshIndexOrName, primitiveIndex, context, skybox, }) {
60
+ const description = {
61
+ asset,
62
+ context,
63
+ name: "Material",
64
+ skybox,
65
+ };
54
66
  const primitive = asset.getMeshPrimitive(meshIndexOrName, primitiveIndex);
55
- const materialIndex = (_a = primitive.material) !== null && _a !== void 0 ? _a : -1;
56
- if (materialIndex === -1)
57
- return DEFAULT_COLOR;
67
+ const materialIndex = primitive.material ?? -1;
68
+ if (materialIndex === -1) {
69
+ return {
70
+ ...description,
71
+ color: DEFAULT_COLOR,
72
+ };
73
+ }
58
74
  const material = asset.getMaterial(materialIndex);
59
- const textureEmissive = getTextureEmissive(context, asset, material);
60
- const pbr = material.pbrMetallicRoughness;
61
- if (!pbr)
62
- return textureEmissive !== null && textureEmissive !== void 0 ? textureEmissive : DEFAULT_COLOR;
63
- if (textureEmissive)
64
- return textureEmissive;
65
- if (pbr.baseColorTexture) {
66
- const textureIndex = (_b = pbr.baseColorTexture) === null || _b === void 0 ? void 0 : _b.index;
67
- const color = asset.createTexture2D(context, textureIndex !== null && textureIndex !== void 0 ? textureIndex : 0);
68
- if (context.paint)
69
- color.eventChange.addListener(context.paint);
70
- return color;
75
+ description.name = material.name ?? description.name;
76
+ description.color = material.pbrMetallicRoughness?.baseColorFactor;
77
+ const abedoIndex = material.pbrMetallicRoughness?.baseColorTexture?.index;
78
+ if (typeof abedoIndex === "number") {
79
+ description.abedo = {
80
+ imageIndex: abedoIndex,
81
+ };
82
+ }
83
+ const roughnessIndex = material.pbrMetallicRoughness?.metallicRoughnessTexture?.index;
84
+ if (typeof roughnessIndex === "number") {
85
+ description.metallicRoughness = {
86
+ imageIndex: roughnessIndex,
87
+ };
88
+ }
89
+ const normalIndex = material.normalTexture?.index;
90
+ if (typeof normalIndex === "number") {
91
+ description.normal = {
92
+ imageIndex: normalIndex,
93
+ };
94
+ }
95
+ const occlusionIndex = material.occlusionTexture?.index;
96
+ if (typeof occlusionIndex === "number") {
97
+ description.occlusion = {
98
+ imageIndex: occlusionIndex,
99
+ };
71
100
  }
72
- if (pbr.baseColorFactor) {
73
- return new TgdVec4(...pbr.baseColorFactor);
101
+ const emissionIndex = material.emissiveTexture?.index;
102
+ if (typeof emissionIndex === "number") {
103
+ description.emission = {
104
+ imageIndex: emissionIndex,
105
+ strength: material.emissiveFactor ?? [1, 1, 1],
106
+ };
74
107
  }
75
- return DEFAULT_COLOR;
108
+ console.log("🐞 [gltf@166] material =", material); // @FIXME: Remove this line written on 2026-03-24 at 09:34
109
+ console.log("🐞 [gltf@167] description =", description); // @FIXME: Remove this line written on 2026-03-24 at 09:34
110
+ return description;
111
+ }
112
+ function makeMaterial({ asset, context, normal, abedo, emission, occlusion, metallicRoughness, color, skybox, }) {
113
+ const makeTexture = (index, name) => {
114
+ if (typeof index === "number") {
115
+ const texture = asset.createTexture2D(context, index);
116
+ texture.name = name;
117
+ return texture;
118
+ }
119
+ };
120
+ const fill = ([R, G, B, A]) => {
121
+ const texture = new TgdTexture2D(context);
122
+ texture.loadBitmap(tgdCanvasCreateFill(1, 1, new TgdColor(R, G, B, A).toString()));
123
+ return texture;
124
+ };
125
+ return new TgdMaterialGltf({
126
+ textures: {
127
+ normal: makeTexture(normal?.imageIndex, "Normal") ?? fill([0.5, 0.5, 1, 1]),
128
+ albedo: makeTexture(abedo?.imageIndex, "Abedo") ?? fill(color ?? DEFAULT_COLOR),
129
+ emission: makeTexture(emission?.imageIndex, "Emission") ?? fill([0, 0, 0, 1]),
130
+ occlusion: makeTexture(occlusion?.imageIndex, "Occlusion"),
131
+ metallicRoughness: makeTexture(metallicRoughness?.imageIndex, "Roughness") ?? fill([0, 0.5, 0.5, 1]),
132
+ skybox: skybox ?? makeDefaultSkybox(context),
133
+ },
134
+ });
76
135
  }
77
- function makeMaterial({ color }) {
78
- const material = new TgdMaterialCameraLight({
79
- color,
80
- specularIntensity: 0.3,
81
- specularExponent: 80,
82
- light: new TgdLight({
83
- color: new TgdVec4(1, 1, 1, 1),
84
- direction: new TgdVec3(1, 0.2, 0),
85
- }),
86
- ambient: new TgdLight({
87
- color: new TgdVec4(0.2, 0.1, 0, 1),
88
- }),
136
+ function makeDefaultSkybox(context) {
137
+ const skybox = new TgdTextureCube(context, {
138
+ imageNegX: randomCanvas(),
139
+ imageNegY: randomCanvas(),
140
+ imageNegZ: randomCanvas(),
141
+ imagePosX: randomCanvas(),
142
+ imagePosY: randomCanvas(),
143
+ imagePosZ: randomCanvas(),
89
144
  });
90
- return material;
145
+ return skybox;
91
146
  }
92
- function getTextureEmissive(context, asset, material) {
93
- var _a;
94
- const emissive = material.emissiveTexture;
95
- if (!emissive)
96
- return null;
97
- const color = asset.createTexture2D(context, (_a = emissive.index) !== null && _a !== void 0 ? _a : 0);
98
- if (context.paint)
99
- color.eventChange.addListener(context.paint);
100
- return color;
147
+ function randomCanvas() {
148
+ return tgdCanvasCreateFill(1, 1, new TgdColor(tgdCalcRandom(0, 0.2), tgdCalcRandom(0.5, 0.7), tgdCalcRandom(0.7, 1), 1));
101
149
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQTZCLE1BQU0sY0FBYyxDQUFBO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBSTVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFXeEM7R0FDRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxjQUFjO0lBQ2xELFlBQVksT0FBbUIsRUFBRSxPQUFrQzs7UUFDL0QsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEdBQUcsQ0FBQyxFQUFFLGNBQWMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsR0FBRyxZQUFZLEVBQUUsR0FBRyxPQUFPLENBQUE7UUFDNUcsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzFFLE1BQU0sUUFBUSxHQUFHLGVBQWUsWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUN0RyxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUE7UUFDMUIsTUFBTSxVQUFVLEdBQXlCO1lBQ3JDLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1NBQ2pCLENBQUE7UUFDRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUMxQyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEMsVUFBVSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUE7UUFDbEMsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUE7UUFDckUsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlCLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUE7UUFDdkUsQ0FBQzthQUFNLENBQUM7WUFDSixpREFBaUQ7WUFDakQsOENBQThDO1lBQzlDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaURBQWlELENBQUMsQ0FBQTtZQUMvRCxjQUFjLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQTtRQUMzRSxDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNYLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdEIsT0FBTztnQkFDUCxRQUFRLEVBQUUsS0FBSyxDQUFDLHVCQUF1QixDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUM7Z0JBQ3hFLFFBQVEsRUFBRSxXQUFXO2dCQUNyQix1QkFBdUIsRUFBRSxjQUFjO2FBQzFDLENBQUM7WUFDRixRQUFRO1NBQ1gsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFBLE9BQU8sQ0FBQyxJQUFJLG1DQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ25ELENBQUM7Q0FDSjtBQUVELE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRW5ELFNBQVMsV0FBVyxDQUNoQixLQUFpQixFQUNqQixlQUFnQyxFQUNoQyxjQUFzQixFQUN0QixPQUFtQjs7SUFFbkIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUN6RSxNQUFNLGFBQWEsR0FBRyxNQUFBLFNBQVMsQ0FBQyxRQUFRLG1DQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzlDLElBQUksYUFBYSxLQUFLLENBQUMsQ0FBQztRQUFFLE9BQU8sYUFBYSxDQUFBO0lBRTlDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDakQsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNwRSxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUE7SUFDekMsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPLGVBQWUsYUFBZixlQUFlLGNBQWYsZUFBZSxHQUFJLGFBQWEsQ0FBQTtJQUNqRCxJQUFJLGVBQWU7UUFBRSxPQUFPLGVBQWUsQ0FBQTtJQUUzQyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLE1BQUEsR0FBRyxDQUFDLGdCQUFnQiwwQ0FBRSxLQUFLLENBQUE7UUFDaEQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxhQUFaLFlBQVksY0FBWixZQUFZLEdBQUksQ0FBQyxDQUFDLENBQUE7UUFDL0QsSUFBSSxPQUFPLENBQUMsS0FBSztZQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMvRCxPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBQ0QsT0FBTyxhQUFhLENBQUE7QUFDeEIsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFzQztJQUMvRCxNQUFNLFFBQVEsR0FBRyxJQUFJLHNCQUFzQixDQUFDO1FBQ3hDLEtBQUs7UUFDTCxpQkFBaUIsRUFBRSxHQUFHO1FBQ3RCLGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsS0FBSyxFQUFFLElBQUksUUFBUSxDQUFDO1lBQ2hCLEtBQUssRUFBRSxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUIsU0FBUyxFQUFFLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ3BDLENBQUM7UUFDRixPQUFPLEVBQUUsSUFBSSxRQUFRLENBQUM7WUFDbEIsS0FBSyxFQUFFLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNyQyxDQUFDO0tBQ0wsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxRQUFRLENBQUE7QUFDbkIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQ3ZCLE9BQW1CLEVBQ25CLEtBQWlCLEVBQ2pCLFFBQStCOztJQUUvQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFBO0lBQ3pDLElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsTUFBQSxRQUFRLENBQUMsS0FBSyxtQ0FBSSxDQUFDLENBQUMsQ0FBQTtJQUNqRSxJQUFJLE9BQU8sQ0FBQyxLQUFLO1FBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQy9ELE9BQU8sS0FBSyxDQUFBO0FBQ2hCLENBQUMifQ==
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQTZCLE1BQU0sY0FBYyxDQUFBO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBR3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBbUNyQztHQUNHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFDbEQsWUFBWSxPQUFtQixFQUFFLE9BQWtDO1FBQy9ELE1BQU0sRUFDRixLQUFLLEVBQ0wsZUFBZSxHQUFHLENBQUMsRUFDbkIsY0FBYyxHQUFHLENBQUMsRUFDbEIsTUFBTSxFQUNOLFFBQVEsRUFBRSxlQUFlLEdBQUcsWUFBWSxHQUMzQyxHQUFHLE9BQU8sQ0FBQTtRQUNYLE1BQU0sbUJBQW1CLEdBQUcseUJBQXlCLENBQUM7WUFDbEQsS0FBSztZQUNMLGVBQWU7WUFDZixjQUFjO1lBQ2QsT0FBTztZQUNQLE1BQU07U0FDVCxDQUFDLENBQUE7UUFDRixNQUFNLFFBQVEsR0FBRyxlQUFlLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFB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
@@ -12,7 +12,6 @@ import { TgdPainter } from "../../painter.js";
12
12
  */
13
13
  export class TgdPainterMesh extends TgdPainter {
14
14
  constructor(context, options = {}) {
15
- var _a, _b;
16
15
  super();
17
16
  this.context = context;
18
17
  /**
@@ -24,12 +23,11 @@ export class TgdPainterMesh extends TgdPainter {
24
23
  this.bboxMin = null;
25
24
  this.bboxMax = null;
26
25
  this.paint = (time, delta) => {
27
- var _a;
28
26
  const { context, program, geometry, material, drawMode, count, transfo, uniformCamera } = this;
29
27
  const { gl, camera } = context;
30
28
  this.logic.exec(time, delta);
31
29
  program.use();
32
- (_a = material.setUniforms) === null || _a === void 0 ? void 0 : _a.call(material, { context, program, time, delta });
30
+ material.setUniforms?.({ context, program, time, delta });
33
31
  program.uniformMatrix4fv("uniTransfoMatrix", transfo.matrix);
34
32
  if (!uniformCamera) {
35
33
  program.uniformMatrix4fv("uniModelViewMatrix", camera.matrixModelView);
@@ -55,29 +53,36 @@ export class TgdPainterMesh extends TgdPainter {
55
53
  material.attPosition = geometry.attPosition;
56
54
  material.attNormal = geometry.attNormal;
57
55
  material.attUV = geometry.attUV;
58
- const uniforms = Object.assign({ uniTransfoMatrix: "mat4" }, removeDuplicatedUniforms(material.uniforms, uniformCamera));
56
+ const uniforms = {
57
+ uniTransfoMatrix: "mat4",
58
+ ...removeDuplicatedUniforms(material.uniforms, uniformCamera),
59
+ };
59
60
  if (!uniformCamera) {
60
61
  uniforms.uniModelViewMatrix = "mat4";
61
62
  uniforms.uniProjectionMatrix = "mat4";
62
63
  }
63
64
  const vert = new TgdShaderVertex({
64
65
  uniforms,
65
- header: uniformCamera === null || uniformCamera === void 0 ? void 0 : uniformCamera.toShaderCode("uniformCamera"),
66
+ header: uniformCamera?.toShaderCode("uniformCamera"),
66
67
  attributes: {
67
68
  [geometry.attPosition]: "vec4",
68
69
  [geometry.attNormal]: "vec3",
69
70
  [geometry.attUV]: "vec2",
70
71
  },
71
72
  varying: material.varyings,
72
- functions: Object.assign(Object.assign({}, material.extraVertexShaderFunctions), { getPosition: [
73
+ functions: {
74
+ ...material.extraVertexShaderFunctions,
75
+ getPosition: [
73
76
  "vec4 getPosition(vec4 pos) {",
74
- [(_a = material.vertexShaderCodeForGetPosition) !== null && _a !== void 0 ? _a : "return pos;"],
77
+ [material.vertexShaderCodeForGetPosition ?? "return pos;"],
75
78
  "}",
76
- ], applyMaterial: [
79
+ ],
80
+ applyMaterial: [
77
81
  "void applyMaterial(vec3 position, vec3 normal, vec2 uv) {",
78
82
  [material.vertexShaderCode],
79
83
  "}",
80
- ] }),
84
+ ],
85
+ },
81
86
  mainCode: [
82
87
  `vec4 position = getPosition(${geometry.attPosition});`,
83
88
  "gl_Position = uniProjectionMatrix * uniModelViewMatrix * uniTransfoMatrix * position;",
@@ -87,12 +92,15 @@ export class TgdPainterMesh extends TgdPainter {
87
92
  const frag = new TgdShaderFragment({
88
93
  header: [
89
94
  ...ensureArray(material.fragmentShaderHeader),
90
- ...ensureArray(uniformCamera === null || uniformCamera === void 0 ? void 0 : uniformCamera.toShaderCode("uniformCamera")),
95
+ ...ensureArray(uniformCamera?.toShaderCode("uniformCamera")),
91
96
  ],
92
97
  uniforms: removeDuplicatedUniforms(material.uniforms, uniformCamera),
93
98
  outputs: { FragColor: "vec4" },
94
99
  varying: material.varyings,
95
- functions: Object.assign(Object.assign({}, material.extraFragmentShaderFunctions), { applyMaterial: ["vec4 applyMaterial() {", [material.fragmentShaderCode], "}"] }),
100
+ functions: {
101
+ ...material.extraFragmentShaderFunctions,
102
+ applyMaterial: ["vec4 applyMaterial() {", [material.fragmentShaderCode], "}"],
103
+ },
96
104
  mainCode: ["FragColor = applyMaterial();"],
97
105
  });
98
106
  if (material.debug) {
@@ -110,11 +118,11 @@ export class TgdPainterMesh extends TgdPainter {
110
118
  this.vao = new TgdVertexArray(context.gl, prg, [geometry.dataset], geometry.elements);
111
119
  this.elementsType = geometry.elementsType;
112
120
  this.count = geometry.count;
113
- this.name = (_b = options.name) !== null && _b !== void 0 ? _b : `Mesh/${this.name}`;
121
+ this.name = options.name ?? `Mesh/${this.name}`;
114
122
  }
115
123
  debug(caption) {
116
- this.program.debug(caption !== null && caption !== void 0 ? caption : this.name);
117
- this.geometry.debug(caption !== null && caption !== void 0 ? caption : this.name);
124
+ this.program.debug(caption ?? this.name);
125
+ this.geometry.debug(caption ?? this.name);
118
126
  }
119
127
  computeBoundingBox() {
120
128
  if (this.bboxMin && this.bboxMax) {
@@ -148,11 +156,10 @@ export class TgdPainterMesh extends TgdPainter {
148
156
  }
149
157
  }
150
158
  function removeDuplicatedUniforms(uniforms, uniformCamera) {
151
- var _a;
152
159
  const copy = structuredClone(uniforms);
153
- for (const name of (_a = uniformCamera === null || uniformCamera === void 0 ? void 0 : uniformCamera.names) !== null && _a !== void 0 ? _a : []) {
160
+ for (const name of uniformCamera?.names ?? []) {
154
161
  delete copy[name];
155
162
  }
156
163
  return copy;
157
164
  }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvbWVzaC9tZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3hELE9BQU8sRUFBb0IsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWhFLE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBMEIsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBR3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBVTFDO0dBQ0c7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFrQjFDLFlBQ3VCLE9BQW1CLEVBQ3RDLFVBQWlDLEVBQUU7O1FBRW5DLEtBQUssRUFBRSxDQUFBO1FBSFksWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQWxCMUM7O1dBRUc7UUFDYSxVQUFLLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQTtRQUN0QixZQUFPLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQVF6QixhQUFRLEdBQVcsQ0FBQyxDQUFBO1FBQzdCLFlBQU8sR0FBbUIsSUFBSSxDQUFBO1FBQzlCLFlBQU8sR0FBbUIsSUFBSSxDQUFBO1FBeUh0QixVQUFLLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLEVBQUU7O1lBQ3BELE1B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
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvbWVzaC9tZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3hELE9BQU8sRUFBb0IsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWhFLE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBMEIsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBR3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBVTFDO0dBQ0c7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFrQjFDLFlBQ3VCLE9BQW1CLEVBQ3RDLFVBQWlDLEVBQUU7UUFFbkMsS0FBSyxFQUFFLENBQUE7UUFIWSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBbEIxQzs7V0FFRztRQUNhLFVBQUssR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFBO1FBQ3RCLFlBQU8sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFBO1FBUXpCLGFBQVEsR0FBVyxDQUFDLENBQUE7UUFDN0IsWUFBTyxHQUFtQixJQUFJLENBQUE7UUFDOUIsWUFBTyxHQUFtQixJQUFJLENBQUE7UUF5SHRCLFVBQUssR0FBRyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsRUFBRTtZQUNwRCxNQUFN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