@tolokoban/tgd 2.0.17 → 2.0.20

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 (244) hide show
  1. package/lib/dist/buffer/buffer.d.ts +5 -2
  2. package/lib/dist/buffer/buffer.d.ts.map +1 -1
  3. package/lib/dist/buffer/buffer.js +13 -13
  4. package/lib/dist/camera/camera-node.js +2 -3
  5. package/lib/dist/camera/camera-orthographic.js +9 -8
  6. package/lib/dist/camera/camera-perspective.js +9 -8
  7. package/lib/dist/camera/camera.js +43 -43
  8. package/lib/dist/canvas/gizmo/gizmo.js +68 -72
  9. package/lib/dist/canvas/gizmo/painter/tips.d.ts +0 -1
  10. package/lib/dist/canvas/gizmo/painter/tips.d.ts.map +1 -1
  11. package/lib/dist/canvas/gizmo/painter/tips.js +24 -22
  12. package/lib/dist/canvas/landscape/landscape.js +4 -11
  13. package/lib/dist/color/color.js +15 -15
  14. package/lib/dist/context/animation/animation-manager.js +7 -4
  15. package/lib/dist/context/context.d.ts +5 -18
  16. package/lib/dist/context/context.d.ts.map +1 -1
  17. package/lib/dist/context/context.js +43 -79
  18. package/lib/dist/controller/camera/orbit.d.ts +24 -2
  19. package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
  20. package/lib/dist/controller/camera/orbit.js +147 -103
  21. package/lib/dist/dataset/dataset.d.ts +1 -1
  22. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  23. package/lib/dist/dataset/dataset.js +13 -18
  24. package/lib/dist/debug/debug.js +6 -5
  25. package/lib/dist/event/event.js +4 -2
  26. package/lib/dist/filter/chromatic-aberration.js +10 -10
  27. package/lib/dist/filter/filter.d.ts +10 -8
  28. package/lib/dist/filter/filter.d.ts.map +1 -1
  29. package/lib/dist/filter/filter.js +22 -20
  30. package/lib/dist/filter/hue-rotation.d.ts +1 -1
  31. package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
  32. package/lib/dist/filter/hue-rotation.js +5 -5
  33. package/lib/dist/filter/index.d.ts +2 -0
  34. package/lib/dist/filter/index.d.ts.map +1 -1
  35. package/lib/dist/filter/index.js +3 -1
  36. package/lib/dist/filter/verbatim.d.ts +8 -0
  37. package/lib/dist/filter/verbatim.d.ts.map +1 -0
  38. package/lib/dist/filter/verbatim.js +20 -0
  39. package/lib/dist/filter/zoom.d.ts +12 -0
  40. package/lib/dist/filter/zoom.d.ts.map +1 -0
  41. package/lib/dist/filter/zoom.js +25 -0
  42. package/lib/dist/geometry/geometry.js +9 -17
  43. package/lib/dist/geometry/index.d.ts +1 -0
  44. package/lib/dist/geometry/index.d.ts.map +1 -1
  45. package/lib/dist/geometry/index.js +2 -1
  46. package/lib/dist/geometry/place.d.ts +12 -0
  47. package/lib/dist/geometry/place.d.ts.map +1 -0
  48. package/lib/dist/geometry/place.js +145 -0
  49. package/lib/dist/geometry/plane.d.ts +12 -0
  50. package/lib/dist/geometry/plane.d.ts.map +1 -0
  51. package/lib/dist/geometry/plane.js +51 -0
  52. package/lib/dist/index.d.ts +4 -1
  53. package/lib/dist/index.d.ts.map +1 -1
  54. package/lib/dist/index.js +5 -2
  55. package/lib/dist/input/inputs.js +3 -4
  56. package/lib/dist/input/keyboard.js +14 -14
  57. package/lib/dist/input/pointer.js +80 -104
  58. package/lib/dist/light/light.js +5 -8
  59. package/lib/dist/loader/asset.d.ts +5 -3
  60. package/lib/dist/loader/asset.d.ts.map +1 -1
  61. package/lib/dist/loader/asset.js +37 -24
  62. package/lib/dist/loader/binary.js +29 -24
  63. package/lib/dist/loader/image.js +31 -24
  64. package/lib/dist/log.js +7 -4
  65. package/lib/dist/material/diffuse.d.ts +10 -4
  66. package/lib/dist/material/diffuse.d.ts.map +1 -1
  67. package/lib/dist/material/diffuse.js +26 -18
  68. package/lib/dist/material/ghost.d.ts +5 -4
  69. package/lib/dist/material/ghost.d.ts.map +1 -1
  70. package/lib/dist/material/ghost.js +1 -4
  71. package/lib/dist/material/hull.d.ts +25 -0
  72. package/lib/dist/material/hull.d.ts.map +1 -0
  73. package/lib/dist/material/hull.js +27 -0
  74. package/lib/dist/material/index.d.ts +1 -0
  75. package/lib/dist/material/index.d.ts.map +1 -1
  76. package/lib/dist/material/index.js +2 -1
  77. package/lib/dist/material/material.d.ts +14 -5
  78. package/lib/dist/material/material.d.ts.map +1 -1
  79. package/lib/dist/material/material.js +14 -12
  80. package/lib/dist/material/normals.d.ts +5 -4
  81. package/lib/dist/material/normals.d.ts.map +1 -1
  82. package/lib/dist/material/normals.js +1 -4
  83. package/lib/dist/material/solid.d.ts +6 -5
  84. package/lib/dist/material/solid.d.ts.map +1 -1
  85. package/lib/dist/material/solid.js +7 -10
  86. package/lib/dist/math/mat3.d.ts +6 -2
  87. package/lib/dist/math/mat3.d.ts.map +1 -1
  88. package/lib/dist/math/mat3.js +43 -4
  89. package/lib/dist/math/mat4.js +2 -2
  90. package/lib/dist/math/math.js +5 -5
  91. package/lib/dist/math/quat.d.ts +4 -1
  92. package/lib/dist/math/quat.d.ts.map +1 -1
  93. package/lib/dist/math/quat.js +25 -4
  94. package/lib/dist/math/transfo.js +12 -10
  95. package/lib/dist/math/vec4.d.ts +3 -3
  96. package/lib/dist/math/vec4.d.ts.map +1 -1
  97. package/lib/dist/math/vec4.js +20 -1
  98. package/lib/dist/painter/axis/axis.js +5 -7
  99. package/lib/dist/painter/background/background.d.ts +1 -1
  100. package/lib/dist/painter/background/background.d.ts.map +1 -1
  101. package/lib/dist/painter/background/background.js +14 -16
  102. package/lib/dist/painter/clear.d.ts +4 -3
  103. package/lib/dist/painter/clear.d.ts.map +1 -1
  104. package/lib/dist/painter/clear.js +16 -19
  105. package/lib/dist/painter/debug/index.d.ts +2 -0
  106. package/lib/dist/painter/debug/index.d.ts.map +1 -0
  107. package/lib/dist/painter/debug/index.js +2 -0
  108. package/lib/dist/painter/debug/stencil/index.d.ts +2 -0
  109. package/lib/dist/painter/debug/stencil/index.d.ts.map +1 -0
  110. package/lib/dist/painter/debug/stencil/index.js +2 -0
  111. package/lib/dist/painter/debug/stencil/stencil.d.ts +11 -0
  112. package/lib/dist/painter/debug/stencil/stencil.d.ts.map +1 -0
  113. package/lib/dist/painter/debug/stencil/stencil.frag +10 -0
  114. package/lib/dist/painter/debug/stencil/stencil.js +53 -0
  115. package/lib/dist/painter/debug/stencil/stencil.vert +7 -0
  116. package/lib/dist/painter/debug/stencil.d.ts +11 -0
  117. package/lib/dist/painter/debug/stencil.d.ts.map +1 -0
  118. package/lib/dist/painter/debug/stencil.js +41 -0
  119. package/lib/dist/painter/depth.d.ts +5 -3
  120. package/lib/dist/painter/depth.d.ts.map +1 -1
  121. package/lib/dist/painter/depth.js +4 -10
  122. package/lib/dist/painter/filter/filter.d.ts +1 -1
  123. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  124. package/lib/dist/painter/filter/filter.js +20 -33
  125. package/lib/dist/painter/framebuffer.backup.d.ts +39 -0
  126. package/lib/dist/painter/framebuffer.backup.d.ts.map +1 -0
  127. package/lib/dist/painter/framebuffer.backup.js +122 -0
  128. package/lib/dist/painter/framebuffer.d.ts +41 -9
  129. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  130. package/lib/dist/painter/framebuffer.js +105 -90
  131. package/lib/dist/painter/group.js +6 -8
  132. package/lib/dist/painter/index.d.ts +1 -1
  133. package/lib/dist/painter/index.d.ts.map +1 -1
  134. package/lib/dist/painter/index.js +2 -2
  135. package/lib/dist/painter/logic.js +3 -3
  136. package/lib/dist/painter/mesh/gltf/gltf.d.ts +1 -1
  137. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  138. package/lib/dist/painter/mesh/gltf/gltf.js +35 -58
  139. package/lib/dist/painter/mesh/hull/hull.d.ts +12 -0
  140. package/lib/dist/painter/mesh/hull/hull.d.ts.map +1 -0
  141. package/lib/dist/painter/mesh/hull/hull.js +11 -0
  142. package/lib/dist/painter/mesh/mesh/mesh.d.ts +1 -1
  143. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  144. package/lib/dist/painter/mesh/mesh/mesh.js +34 -41
  145. package/lib/dist/painter/mesh/normals/normals.js +17 -20
  146. package/lib/dist/painter/node/node.js +8 -8
  147. package/lib/dist/painter/painter.js +11 -9
  148. package/lib/dist/painter/segments/segments.d.ts +11 -3
  149. package/lib/dist/painter/segments/segments.d.ts.map +1 -1
  150. package/lib/dist/painter/segments/segments.js +27 -27
  151. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  152. package/lib/dist/painter/skybox/skybox.js +12 -13
  153. package/lib/dist/painter/state/state.d.ts +10 -1
  154. package/lib/dist/painter/state/state.d.ts.map +1 -1
  155. package/lib/dist/painter/state/state.js +23 -25
  156. package/lib/dist/parser/gltf/gltf.d.ts +5 -2
  157. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  158. package/lib/dist/parser/gltf/gltf.js +86 -55
  159. package/lib/dist/parser/mesh/wavefront.js +95 -92
  160. package/lib/dist/program/program.d.ts +6 -4
  161. package/lib/dist/program/program.d.ts.map +1 -1
  162. package/lib/dist/program/program.js +6 -11
  163. package/lib/dist/ref-map.js +9 -5
  164. package/lib/dist/resource/program.js +1 -2
  165. package/lib/dist/resource/resource.js +11 -7
  166. package/lib/dist/resource/texture2d.js +1 -2
  167. package/lib/dist/resource/textureCube.js +1 -2
  168. package/lib/dist/shader/code.d.ts +8 -8
  169. package/lib/dist/shader/code.d.ts.map +1 -1
  170. package/lib/dist/shader/code.js +1 -1
  171. package/lib/dist/shader/fragment.d.ts +11 -11
  172. package/lib/dist/shader/fragment.d.ts.map +1 -1
  173. package/lib/dist/shader/fragment.js +2 -14
  174. package/lib/dist/shader/vertex.d.ts +11 -11
  175. package/lib/dist/shader/vertex.d.ts.map +1 -1
  176. package/lib/dist/shader/vertex.js +2 -7
  177. package/lib/dist/table/index.d.ts +2 -0
  178. package/lib/dist/table/index.d.ts.map +1 -0
  179. package/lib/dist/table/index.js +2 -0
  180. package/lib/dist/table/table.d.ts +41 -0
  181. package/lib/dist/table/table.d.ts.map +1 -0
  182. package/lib/dist/table/table.js +101 -0
  183. package/lib/dist/texture/texture2d.d.ts +45 -21
  184. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  185. package/lib/dist/texture/texture2d.js +162 -129
  186. package/lib/dist/texture/texture2dArray.d.ts +43 -0
  187. package/lib/dist/texture/texture2dArray.d.ts.map +1 -0
  188. package/lib/dist/texture/texture2dArray.js +112 -0
  189. package/lib/dist/texture/textureCube.d.ts +12 -5
  190. package/lib/dist/texture/textureCube.d.ts.map +1 -1
  191. package/lib/dist/texture/textureCube.js +7 -25
  192. package/lib/dist/types/gltf.js +3 -9
  193. package/lib/dist/types/index.d.ts +0 -2
  194. package/lib/dist/types/index.d.ts.map +1 -1
  195. package/lib/dist/types/index.js +1 -3
  196. package/lib/dist/types/program.d.ts +3 -40
  197. package/lib/dist/types/program.d.ts.map +1 -1
  198. package/lib/dist/types/texture2d.d.ts +18 -2
  199. package/lib/dist/types/texture2d.d.ts.map +1 -1
  200. package/lib/dist/types/textureCube.d.ts +6 -15
  201. package/lib/dist/types/textureCube.d.ts.map +1 -1
  202. package/lib/dist/types/webgl.d.ts +22 -1
  203. package/lib/dist/types/webgl.d.ts.map +1 -1
  204. package/lib/dist/types/webgl.js +14 -1
  205. package/lib/dist/uniform/uniform-buffer-object.d.ts +49 -0
  206. package/lib/dist/uniform/uniform-buffer-object.d.ts.map +1 -0
  207. package/lib/dist/uniform/uniform-buffer-object.js +93 -0
  208. package/lib/dist/utils/action/camera.js +8 -7
  209. package/lib/dist/utils/bbox.js +3 -3
  210. package/lib/dist/utils/canvas.d.ts +28 -0
  211. package/lib/dist/utils/canvas.d.ts.map +1 -1
  212. package/lib/dist/utils/canvas.js +55 -1
  213. package/lib/dist/utils/framebuffer.d.ts +2 -0
  214. package/lib/dist/utils/framebuffer.d.ts.map +1 -0
  215. package/lib/dist/utils/framebuffer.js +7 -0
  216. package/lib/dist/utils/fullscreen.js +38 -31
  217. package/lib/dist/utils/index.d.ts +2 -0
  218. package/lib/dist/utils/index.d.ts.map +1 -1
  219. package/lib/dist/utils/index.js +3 -1
  220. package/lib/dist/utils/pbo.d.ts +9 -0
  221. package/lib/dist/utils/pbo.d.ts.map +1 -0
  222. package/lib/dist/utils/pbo.js +32 -0
  223. package/lib/dist/utils/ref-map.js +9 -5
  224. package/lib/dist/utils/state/stencil.d.ts +55 -1
  225. package/lib/dist/utils/state/stencil.d.ts.map +1 -1
  226. package/lib/dist/utils/state/stencil.js +20 -38
  227. package/lib/dist/utils/webgl.d.ts +1 -1
  228. package/lib/dist/utils/webgl.d.ts.map +1 -1
  229. package/lib/dist/vao/vao.d.ts +2 -1
  230. package/lib/dist/vao/vao.d.ts.map +1 -1
  231. package/lib/dist/vao/vao.js +10 -14
  232. package/lib/dist/webgl/index.d.ts +2 -0
  233. package/lib/dist/webgl/index.d.ts.map +1 -0
  234. package/lib/dist/webgl/index.js +2 -0
  235. package/lib/dist/webgl/texture/index.d.ts +3 -0
  236. package/lib/dist/webgl/texture/index.d.ts.map +1 -0
  237. package/lib/dist/webgl/texture/index.js +3 -0
  238. package/lib/dist/webgl/texture/texture2d.d.ts +38 -0
  239. package/lib/dist/webgl/texture/texture2d.d.ts.map +1 -0
  240. package/lib/dist/webgl/texture/texture2d.js +35 -0
  241. package/lib/dist/webgl/texture/types.d.ts +4 -0
  242. package/lib/dist/webgl/texture/types.d.ts.map +1 -0
  243. package/lib/dist/webgl/texture/types.js +2 -0
  244. package/package.json +3 -3
@@ -1,3 +1,4 @@
1
+ import { __awaiter } from "tslib";
1
2
  /**
2
3
  * GLTF specs can be found here:
3
4
  * https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html
@@ -6,13 +7,12 @@ import { TgdDataset } from "./../../dataset/index.js";
6
7
  import { parseGLB } from "./parser.js";
7
8
  import { assertTgdTypeArrayForElements, } from "./../../types/index.js";
8
9
  import { TgdGeometry } from "./../../geometry/index.js";
10
+ import { TgdTexture2D } from "./../../texture/index.js";
9
11
  export class TgdParserGLTransfertFormatBinary {
10
- gltf;
11
- chunks;
12
- cacheImages = new Map();
13
- cacheImageURLs = new Map();
14
- cacheBufferViewDatas = new Map();
15
12
  constructor(content) {
13
+ this.cacheImages = new Map();
14
+ this.cacheImageURLs = new Map();
15
+ this.cacheBufferViewDatas = new Map();
16
16
  try {
17
17
  const data = parseGLB(content);
18
18
  this.gltf = data.gltf;
@@ -24,38 +24,44 @@ export class TgdParserGLTransfertFormatBinary {
24
24
  }
25
25
  }
26
26
  getScenes() {
27
- return this.gltf.scenes ?? [];
27
+ var _a;
28
+ return (_a = this.gltf.scenes) !== null && _a !== void 0 ? _a : [];
28
29
  }
29
30
  getScene(sceneIndex) {
30
- const scene = this.gltf.scenes?.[sceneIndex];
31
+ var _a;
32
+ const scene = (_a = this.gltf.scenes) === null || _a === void 0 ? void 0 : _a[sceneIndex];
31
33
  if (!scene) {
32
34
  throw Error(`Asset has no scene with index #${sceneIndex}!`);
33
35
  }
34
36
  return scene;
35
37
  }
36
38
  getNode(nodeIndex) {
37
- const node = this.gltf.nodes?.[nodeIndex];
39
+ var _a;
40
+ const node = (_a = this.gltf.nodes) === null || _a === void 0 ? void 0 : _a[nodeIndex];
38
41
  if (!node) {
39
42
  throw Error(`Asset has no node with index #${nodeIndex}!`);
40
43
  }
41
44
  return node;
42
45
  }
43
46
  getAccessor(accessorIndex = 0) {
44
- const accessor = this.gltf.accessors?.[accessorIndex];
47
+ var _a;
48
+ const accessor = (_a = this.gltf.accessors) === null || _a === void 0 ? void 0 : _a[accessorIndex];
45
49
  if (!accessor) {
46
50
  throw Error(`Asset has no accessor with index #${accessorIndex}!`);
47
51
  }
48
52
  return accessor;
49
53
  }
50
54
  getMaterial(materialIndex) {
51
- const material = this.gltf.materials?.[materialIndex];
55
+ var _a;
56
+ const material = (_a = this.gltf.materials) === null || _a === void 0 ? void 0 : _a[materialIndex];
52
57
  if (!material) {
53
58
  throw Error(`Asset has no material with index #${materialIndex}!`);
54
59
  }
55
60
  return material;
56
61
  }
57
62
  getMesh(meshIndex = 0) {
58
- const mesh = this.gltf.meshes?.[meshIndex];
63
+ var _a;
64
+ const mesh = (_a = this.gltf.meshes) === null || _a === void 0 ? void 0 : _a[meshIndex];
59
65
  if (!mesh) {
60
66
  throw Error(`Asset has no mesh with index #${meshIndex}!`);
61
67
  }
@@ -70,9 +76,10 @@ export class TgdParserGLTransfertFormatBinary {
70
76
  return primitive;
71
77
  }
72
78
  getMeshPrimitiveIndices(meshIndex = 0, primitiveIndex = 0) {
79
+ var _a, _b;
73
80
  const primitive = this.getMeshPrimitive(meshIndex, primitiveIndex);
74
- const accessor = this.getAccessor(primitive.indices ?? 0);
75
- const elements = this.getBufferViewData(accessor.bufferView ?? 0, accessor.componentType);
81
+ const accessor = this.getAccessor((_a = primitive.indices) !== null && _a !== void 0 ? _a : 0);
82
+ const elements = this.getBufferViewData((_b = accessor.bufferView) !== null && _b !== void 0 ? _b : 0, accessor.componentType);
76
83
  assertTgdTypeArrayForElements(elements);
77
84
  return elements;
78
85
  }
@@ -94,45 +101,61 @@ export class TgdParserGLTransfertFormatBinary {
94
101
  throw Error(`Attribute "${attribName}" pointed to an inexisting accessor!\n${msg}`);
95
102
  }
96
103
  }
97
- getTexture2DOptions(textureIndex) {
98
- const texture = this.gltf.textures?.[textureIndex];
99
- if (!texture) {
104
+ createTexture2D(context, textureIndex) {
105
+ var _a, _b, _c, _d, _e;
106
+ const gltfTex = (_a = this.gltf.textures) === null || _a === void 0 ? void 0 : _a[textureIndex];
107
+ if (!gltfTex) {
100
108
  throw Error(`Asset has no texture with index #${textureIndex}!`);
101
109
  }
102
- const source = texture.source ?? texture.extensions?.EXT_texture_webp?.source ?? 0;
110
+ const source = (_e = (_b = gltfTex.source) !== null && _b !== void 0 ? _b : (_d = (_c = gltfTex.extensions) === null || _c === void 0 ? void 0 : _c.EXT_texture_webp) === null || _d === void 0 ? void 0 : _d.source) !== null && _e !== void 0 ? _e : 0;
103
111
  const url = this.getImageURL(source);
104
- const options = {
105
- image: url,
106
- };
107
- return options;
112
+ const texture = new TgdTexture2D(context);
113
+ if (url) {
114
+ loadImage(url)
115
+ .then(bmp => {
116
+ if (bmp)
117
+ texture.loadBitmap(bmp);
118
+ else
119
+ console.error("Unable to load this file:", url);
120
+ })
121
+ .catch(console.error);
122
+ }
123
+ else {
124
+ console.error(`[GLTF] texture index #${textureIndex} is empty!`);
125
+ }
126
+ return texture;
108
127
  }
109
- async loadImage(imageIndex) {
110
- const fromCache = this.cacheImages.get(imageIndex);
111
- if (fromCache)
112
- return fromCache;
113
- const url = this.getImageURL(imageIndex);
114
- if (!url)
115
- return;
116
- const promise = new Promise((resolve, reject) => {
117
- const img = new Image();
118
- img.src = url;
119
- img.onload = () => {
120
- resolve(img);
121
- };
122
- img.onerror = () => {
123
- console.error(`Unable to load image #${imageIndex}!`, this.gltf.images?.[imageIndex]);
124
- reject();
125
- };
128
+ loadImage(imageIndex) {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ const fromCache = this.cacheImages.get(imageIndex);
131
+ if (fromCache)
132
+ return fromCache;
133
+ const url = this.getImageURL(imageIndex);
134
+ if (!url)
135
+ return;
136
+ const promise = new Promise((resolve, reject) => {
137
+ const img = new Image();
138
+ img.src = url;
139
+ img.onload = () => {
140
+ resolve(img);
141
+ };
142
+ img.onerror = () => {
143
+ var _a;
144
+ console.error(`Unable to load image #${imageIndex}!`, (_a = this.gltf.images) === null || _a === void 0 ? void 0 : _a[imageIndex]);
145
+ reject();
146
+ };
147
+ });
148
+ this.cacheImages.set(imageIndex, promise);
149
+ return promise;
126
150
  });
127
- this.cacheImages.set(imageIndex, promise);
128
- return promise;
129
151
  }
130
152
  getImageURL(imageIndex) {
153
+ var _a;
131
154
  const fromCache = this.cacheImageURLs.get(imageIndex);
132
155
  if (fromCache)
133
156
  return fromCache;
134
157
  const { gltf } = this;
135
- const image = gltf.images?.[imageIndex];
158
+ const image = (_a = gltf.images) === null || _a === void 0 ? void 0 : _a[imageIndex];
136
159
  if (!image)
137
160
  return;
138
161
  if (image.uri)
@@ -150,39 +173,39 @@ export class TgdParserGLTransfertFormatBinary {
150
173
  return url;
151
174
  }
152
175
  getBufferViewData(arg, type = "Float32") {
176
+ var _a, _b, _c, _d, _e;
153
177
  if (typeof arg !== "number") {
154
- return this.getBufferViewData(arg.bufferView ?? 0, arg.componentType);
178
+ return this.getBufferViewData((_a = arg.bufferView) !== null && _a !== void 0 ? _a : 0, arg.componentType);
155
179
  }
156
180
  const bufferViewIndex = arg;
157
181
  const fromCache = this.cacheBufferViewDatas.get(bufferViewIndex);
158
182
  if (fromCache)
159
183
  return fromCache;
160
184
  const { gltf } = this;
161
- const bufferView = gltf.bufferViews?.[bufferViewIndex];
185
+ const bufferView = (_b = gltf.bufferViews) === null || _b === void 0 ? void 0 : _b[bufferViewIndex];
162
186
  if (!bufferView)
163
187
  throw Error(`No bufferView with index #${bufferViewIndex}!`);
164
188
  const buffer = this.chunks[bufferView.buffer];
165
- const byteOffset = bufferView.byteOffset ?? 0;
189
+ const byteOffset = (_c = bufferView.byteOffset) !== null && _c !== void 0 ? _c : 0;
166
190
  const data = buffer.slice(byteOffset, byteOffset + bufferView.byteLength);
167
- const view = figureOutView(data, convertTypeToNumber(type ??
168
- this.findAccessorForBufferView(bufferViewIndex)
169
- ?.componentType ??
170
- "Float32"));
191
+ 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"));
171
192
  this.cacheBufferViewDatas.set(bufferViewIndex, view);
172
193
  return view;
173
194
  }
174
195
  findAccessorForBufferView(bufferViewIndex) {
175
- return (this.gltf.accessors ?? []).find(accessor => accessor.bufferView === bufferViewIndex);
196
+ var _a;
197
+ return ((_a = this.gltf.accessors) !== null && _a !== void 0 ? _a : []).find(accessor => accessor.bufferView === bufferViewIndex);
176
198
  }
177
199
  setAttrib(dataset, attribName, meshIndex = 0, primitiveIndex = 0, primitiveAttribName) {
200
+ var _a, _b, _c, _d, _e;
178
201
  const { gltf } = this;
179
- const accessorIndex = gltf.meshes?.[meshIndex].primitives[primitiveIndex].attributes[primitiveAttribName ?? attribName] ?? -1;
180
- const accessor = gltf.accessors?.[accessorIndex];
202
+ const accessorIndex = (_b = (_a = gltf.meshes) === null || _a === void 0 ? void 0 : _a[meshIndex].primitives[primitiveIndex].attributes[primitiveAttribName !== null && primitiveAttribName !== void 0 ? primitiveAttribName : attribName]) !== null && _b !== void 0 ? _b : -1;
203
+ const accessor = (_c = gltf.accessors) === null || _c === void 0 ? void 0 : _c[accessorIndex];
181
204
  if (!accessor) {
182
- throw Error(`No attribute "${primitiveAttribName ?? attribName}" for primitive #${primitiveIndex} of mesh #${meshIndex}!`);
205
+ throw Error(`No attribute "${primitiveAttribName !== null && primitiveAttribName !== void 0 ? primitiveAttribName : attribName}" for primitive #${primitiveIndex} of mesh #${meshIndex}!`);
183
206
  }
184
- const bufferViewIndex = accessor.bufferView ?? 0;
185
- const bufferView = gltf.bufferViews?.[bufferViewIndex];
207
+ const bufferViewIndex = (_d = accessor.bufferView) !== null && _d !== void 0 ? _d : 0;
208
+ const bufferView = (_e = gltf.bufferViews) === null || _e === void 0 ? void 0 : _e[bufferViewIndex];
186
209
  if (!bufferView) {
187
210
  throw Error(`No bufferView with index #${bufferViewIndex}!`);
188
211
  }
@@ -272,4 +295,12 @@ function returnFloat32Array(data) {
272
295
  return data;
273
296
  throw new Error("We were expecting a Float32Array!");
274
297
  }
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE9BQU8sRUFBRSxVQUFVLEVBQXdCLE1BQU0sY0FBYyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFVbkMsT0FBTyxFQUNILDZCQUE2QixHQUdoQyxNQUFNLFlBQVksQ0FBQTtBQUNuQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTNDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDekIsSUFBSSxDQUF5QjtJQUU1QixNQUFNLENBQWU7SUFDckIsV0FBVyxHQUFHLElBQUksR0FBRyxFQUduQyxDQUFBO0lBQ2MsY0FBYyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO0lBQzFDLG9CQUFvQixHQUFHLElBQUksR0FBRyxFQVE1QyxDQUFBO0lBRUgsWUFBWSxPQUFvQjtRQUM1QixJQUFJLENBQUM7WUFDRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUM3QixDQUFDO1FBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNWLE1BQU0sT0FBTyxHQUNULEVBQUUsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDekQsTUFBTSxLQUFLLENBQUMsc0NBQXNDLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDaEUsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFB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
298
+ function loadImage(url) {
299
+ return new Promise(resolve => {
300
+ const img = new Image();
301
+ img.src = url;
302
+ img.onload = () => resolve(img);
303
+ img.onerror = () => resolve(null);
304
+ });
305
+ }
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsVUFBVSxFQUF3QixNQUFNLGNBQWMsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBVW5DLE9BQU8sRUFDSCw2QkFBNkIsR0FFaEMsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTNDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFtQnpDLFlBQVksT0FBb0I7UUFmZixnQkFBVyxHQUFHLElBQUksR0FBRyxFQUduQyxDQUFBO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtRQUMxQyx5QkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFRNUMsQ0FBQTtRQUdDLElBQUksQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7WUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQzdCLENBQUM7UUFBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ1YsTUFBTSxPQUFPLEdBQ1QsRUFBRSxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUN6RCxNQUFNLEtBQUssQ0FBQyxzQ0FBc0MsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUNoRSxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7O1FBQ0wsT0FBTyxNQUFBLElBQUksQ0FBQyxJ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
@@ -20,51 +20,101 @@ import { TgdGeometry } from "./../../geometry/index.js";
20
20
  * - Geometry / Triangulated Mesh: **True**
21
21
  */
22
22
  export class TgdParserMeshWavefront {
23
- name = "Mesh";
24
- attPosition = [];
25
- attNormal = [];
26
- attUV = [];
27
- /**
28
- * Three consecutive elements define a triangle.
29
- * An element is a index on the attributes array.
30
- */
31
- elements = [];
32
- elementIndex = 0;
33
- /**
34
- * The key is `${pointIndex}/${normalIndex}/${uvIndex}`.
35
- * The value is the index of the vertex (used in `elements`).
36
- */
37
- mapVertices = new Map();
38
- /**
39
- * A point ins not a vertex, but just a position in space
40
- * that can be used by several different vertices.
41
- * That's the case for faces sharing a vertex but having different
42
- * normals. A vertex is made of a position, a normal and an uv.
43
- */
44
- points = [];
45
- /**
46
- * A item of this array can be shared by different vertices.
47
- */
48
- normals = [];
49
- /**
50
- * List of vertices per face.
51
- * The vertices are represented by the index of the attribute.
52
- */
53
- verticesPerTriangle = [];
54
- /**
55
- * Here "normal" is an index on `this.normals` array.
56
- */
57
- normalPerTriangle = [];
58
- /**
59
- * The vertices are indexed per attribute.
60
- * The triangles are represented by indexes from `this.normalPerTriangle`.
61
- */
62
- trianglesPerVertex = [];
63
- /**
64
- * A item of this array can be shared by different vertices.
65
- */
66
- uvs = [];
67
23
  constructor(content) {
24
+ this.name = "Mesh";
25
+ this.attPosition = [];
26
+ this.attNormal = [];
27
+ this.attUV = [];
28
+ /**
29
+ * Three consecutive elements define a triangle.
30
+ * An element is a index on the attributes array.
31
+ */
32
+ this.elements = [];
33
+ this.elementIndex = 0;
34
+ /**
35
+ * The key is `${pointIndex}/${normalIndex}/${uvIndex}`.
36
+ * The value is the index of the vertex (used in `elements`).
37
+ */
38
+ this.mapVertices = new Map();
39
+ /**
40
+ * A point ins not a vertex, but just a position in space
41
+ * that can be used by several different vertices.
42
+ * That's the case for faces sharing a vertex but having different
43
+ * normals. A vertex is made of a position, a normal and an uv.
44
+ */
45
+ this.points = [];
46
+ /**
47
+ * A item of this array can be shared by different vertices.
48
+ */
49
+ this.normals = [];
50
+ /**
51
+ * List of vertices per face.
52
+ * The vertices are represented by the index of the attribute.
53
+ */
54
+ this.verticesPerTriangle = [];
55
+ /**
56
+ * Here "normal" is an index on `this.normals` array.
57
+ */
58
+ this.normalPerTriangle = [];
59
+ /**
60
+ * The vertices are indexed per attribute.
61
+ * The triangles are represented by indexes from `this.normalPerTriangle`.
62
+ */
63
+ this.trianglesPerVertex = [];
64
+ /**
65
+ * A item of this array can be shared by different vertices.
66
+ */
67
+ this.uvs = [];
68
+ this.onObject = (name) => {
69
+ this.name = name;
70
+ };
71
+ this.onVertex = (x, y, z) => {
72
+ this.points.push([x, y, z]);
73
+ };
74
+ this.onNormal = (x, y, z) => {
75
+ this.normals.push([x, y, z]);
76
+ };
77
+ this.onTexture = (u, v) => {
78
+ this.uvs.push([u, v]);
79
+ };
80
+ this.onFace = (vertices) => {
81
+ if (vertices.length !== 3)
82
+ throw Error("We can only deal with triangles!");
83
+ const triangle = vertices.map(this.getElem);
84
+ this.elements.push(...triangle);
85
+ this.normalPerTriangle.push(new TgdVec3(0, 0, 0));
86
+ this.verticesPerTriangle.push(triangle);
87
+ const triangleIndex = this.normalPerTriangle.length - 1;
88
+ triangle.forEach(vertexIndex => {
89
+ var _a;
90
+ var _b;
91
+ (_a = (_b = this.trianglesPerVertex)[vertexIndex]) !== null && _a !== void 0 ? _a : (_b[vertexIndex] = []);
92
+ this.trianglesPerVertex[vertexIndex].push(triangleIndex);
93
+ });
94
+ };
95
+ /**
96
+ * Return the index of the vertex for the triplet
97
+ * point/normal/uv.
98
+ */
99
+ this.getElem = (triangleSummit) => {
100
+ var _a;
101
+ const k = this.key(triangleSummit);
102
+ const index = (_a = this.mapVertices.get(k)) !== null && _a !== void 0 ? _a : -1;
103
+ if (index > -1)
104
+ return index;
105
+ const [vx, vy, vz] = this.points[triangleSummit.vertex];
106
+ this.attPosition.push(vx, vy, vz);
107
+ if (typeof triangleSummit.normal === "number") {
108
+ const [nx, ny, nz] = this.normals[triangleSummit.normal];
109
+ this.attNormal.push(nx, ny, nz);
110
+ }
111
+ if (typeof triangleSummit.uv === "number") {
112
+ const [tx, ty] = this.uvs[triangleSummit.uv];
113
+ this.attUV.push(tx, ty);
114
+ }
115
+ this.mapVertices.set(k, this.elementIndex);
116
+ return this.elementIndex++;
117
+ };
68
118
  this.reset();
69
119
  const { onVertex, onNormal, onTexture, onFace, onObject } = this;
70
120
  parse(content, { onVertex, onNormal, onTexture, onFace, onObject });
@@ -136,53 +186,6 @@ export class TgdParserMeshWavefront {
136
186
  this.mapVertices.clear();
137
187
  this.mapVertices.clear();
138
188
  }
139
- onObject = (name) => {
140
- this.name = name;
141
- };
142
- onVertex = (x, y, z) => {
143
- this.points.push([x, y, z]);
144
- };
145
- onNormal = (x, y, z) => {
146
- this.normals.push([x, y, z]);
147
- };
148
- onTexture = (u, v) => {
149
- this.uvs.push([u, v]);
150
- };
151
- onFace = (vertices) => {
152
- if (vertices.length !== 3)
153
- throw Error("We can only deal with triangles!");
154
- const triangle = vertices.map(this.getElem);
155
- this.elements.push(...triangle);
156
- this.normalPerTriangle.push(new TgdVec3(0, 0, 0));
157
- this.verticesPerTriangle.push(triangle);
158
- const triangleIndex = this.normalPerTriangle.length - 1;
159
- triangle.forEach(vertexIndex => {
160
- this.trianglesPerVertex[vertexIndex] ??= [];
161
- this.trianglesPerVertex[vertexIndex].push(triangleIndex);
162
- });
163
- };
164
- /**
165
- * Return the index of the vertex for the triplet
166
- * point/normal/uv.
167
- */
168
- getElem = (triangleSummit) => {
169
- const k = this.key(triangleSummit);
170
- const index = this.mapVertices.get(k) ?? -1;
171
- if (index > -1)
172
- return index;
173
- const [vx, vy, vz] = this.points[triangleSummit.vertex];
174
- this.attPosition.push(vx, vy, vz);
175
- if (typeof triangleSummit.normal === "number") {
176
- const [nx, ny, nz] = this.normals[triangleSummit.normal];
177
- this.attNormal.push(nx, ny, nz);
178
- }
179
- if (typeof triangleSummit.uv === "number") {
180
- const [tx, ty] = this.uvs[triangleSummit.uv];
181
- this.attUV.push(tx, ty);
182
- }
183
- this.mapVertices.set(k, this.elementIndex);
184
- return this.elementIndex++;
185
- };
186
189
  key(v) {
187
190
  return `${v.vertex}/${v.normal}`;
188
191
  }
@@ -243,4 +246,4 @@ function parse(content, options = {}) {
243
246
  function isVector3(data) {
244
247
  return data.length === 3;
245
248
  }
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F2ZWZyb250LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci9tZXNoL3dhdmVmcm9udC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsV0FBVyxFQUF1QixNQUFNLGVBQWUsQ0FBQTtBQVFoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ3ZCLElBQUksR0FBRyxNQUFNLENBQUE7SUFDYixXQUFXLEdBQWEsRUFBRSxDQUFBO0lBQzFCLFNBQVMsR0FBYSxFQUFFLENBQUE7SUFDeEIsS0FBSyxHQUFhLEVBQUUsQ0FBQTtJQUM1Qjs7O09BR0c7SUFDSyxRQUFRLEdBQWEsRUFBRSxDQUFBO0lBRXZCLFlBQVksR0FBRyxDQUFDLENBQUE7SUFDeEI7OztPQUdHO0lBQ2MsV0FBVyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO0lBQ3hEOzs7OztPQUtHO0lBQ0ssTUFBTSxHQUErQixFQUFFLENBQUE7SUFDL0M7O09BRUc7SUFDSyxPQUFPLEdBQStCLEVBQUUsQ0FBQTtJQUNoRDs7O09BR0c7SUFDSyxtQkFBbUIsR0FBZSxFQUFFLENBQUE7SUFDNUM7O09BRUc7SUFDSyxpQkFBaUIsR0FBYyxFQUFFLENBQUE7SUFDekM7OztPQUdHO0lBQ0ssa0JBQWtCLEdBQWUsRUFBRSxDQUFBO0lBQzNDOztPQUVHO0lBQ0ssR0FBRyxHQUFlLEVBQUUsQ0FBQTtJQUU1QixZQUFZLE9BQWU7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ1osTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDaEUsS0FBSyxDQUFDLE9BQU8s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
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F2ZWZyb250LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci9tZXNoL3dhdmVmcm9udC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsV0FBVyxFQUF1QixNQUFNLGVBQWUsQ0FBQTtBQVFoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBK0MvQixZQUFZLE9BQWU7UUE5Q25CLFNBQUksR0FBRyxNQUFNLENBQUE7UUFDYixnQkFBVyxHQUFhLEVBQUUsQ0FBQTtRQUMxQixjQUFTLEdBQWEsRUFBRSxDQUFBO1FBQ3hCLFVBQUssR0FBYSxFQUFFLENBQUE7UUFDNUI7OztXQUdHO1FBQ0ssYUFBUSxHQUFhLEVBQUUsQ0FBQTtRQUV2QixpQkFBWSxHQUFHLENBQUMsQ0FBQTtRQUN4Qjs7O1dBR0c7UUFDYyxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO1FBQ3hEOzs7OztXQUtHO1FBQ0ssV0FBTSxHQUErQixFQUFFLENBQUE7UUFDL0M7O1dBRUc7UUFDSyxZQUFPLEdBQStCLEVBQUUsQ0FBQTtRQUNoRDs7O1dBR0c7UUFDSyx3QkFBbUIsR0FBZSxFQUFFLENBQUE7UUFDNUM7O1dBRUc7UUFDSyxzQkFBaUIsR0FBYyxFQUFFLENBQUE7UUFDekM7OztXQUdHO1FBQ0ssdUJBQWtCLEdBQWUsRUFBRSxDQUFBO1FBQzNDOztXQUVHO1FBQ0ssUUFBRyxHQUFlLEVBQUUsQ0FBQTtRQWlGWCxhQUFRLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNwQixDQUFDLENBQUE7UUFFZ0IsYUFBUSxHQUFHLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFB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
@@ -1,18 +1,20 @@
1
1
  import { TgdMat3, TgdMat4, TgdVec3, TgdVec4 } from "../math";
2
- import { TgdProgram, TgdProgramOptions } from "../types";
2
+ import { TgdProgramOptions } from "../types";
3
3
  /**
4
4
  * This class helps to manage a WebGLProgram.
5
5
  * It will report meaninfull errors and help you with
6
6
  * the uniforms.
7
7
  */
8
- export declare class TgdProgramImpl implements TgdProgram {
9
- readonly gl: WebGL2RenderingContext;
8
+ export declare class TgdProgram {
10
9
  private readonly code;
11
10
  /** Access to the real WebGLProgram object. */
12
11
  readonly program: WebGLProgram;
12
+ readonly gl: WebGL2RenderingContext;
13
13
  private readonly shaders;
14
14
  private readonly uniformsLocations;
15
- constructor(gl: WebGL2RenderingContext, code: TgdProgramOptions);
15
+ constructor({ gl }: {
16
+ gl: WebGL2RenderingContext;
17
+ }, code: TgdProgramOptions);
16
18
  toCode({ indent }?: Partial<{
17
19
  indent: string;
18
20
  }>): string;
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/program/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE1D;;;;GAIG;AACH,qBAAa,cAAe,YAAW,UAAU;aAQzB,EAAE,EAAE,sBAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI;IARzB,8CAA8C;IAC9C,SAAgB,OAAO,EAAE,YAAY,CAAA;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0C;gBAGxD,EAAE,EAAE,sBAAsB,EACzB,IAAI,EAAE,iBAAiB;IA+B5C,MAAM,CAAC,EAAE,MAAW,EAAE,GAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAM;IAuBxD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAMnC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASvC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;IAoBtD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKvD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAKtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKlE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAKtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKvD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKlE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKtC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK7C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKxD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKnE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAK5C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAK5C;;;OAGG;IACH,GAAG;IAKH,MAAM;IAMN,KAAK,CAAC,OAAO,SAAe;IAO5B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,oBAAoB;CA0B/B"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/program/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C;;;;GAIG;AACH,qBAAa,UAAU;IAUf,OAAO,CAAC,QAAQ,CAAC,IAAI;IATzB,8CAA8C;IAC9C,SAAgB,OAAO,EAAE,YAAY,CAAA;IACrC,SAAgB,EAAE,EAAE,sBAAsB,CAAA;IAE1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0C;gBAGxE,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAA;KAAE,EACrB,IAAI,EAAE,iBAAiB;IAgC5C,MAAM,CAAC,EAAE,MAAW,EAAE,GAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAM;IAuBxD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAMnC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASvC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;IAoBtD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKvD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAKtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKlE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAKtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKvD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKlE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKtC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK7C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKxD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKnE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAK5C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAK5C;;;OAGG;IACH,GAAG;IAKH,MAAM;IAMN,KAAK,CAAC,OAAO,SAAe;IAO5B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,oBAAoB;CA0B/B"}