@tolokoban/tgd 2.0.24 → 2.0.26

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 (190) hide show
  1. package/lib/dist/camera/camera-orthographic.d.ts +1 -0
  2. package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
  3. package/lib/dist/camera/camera-orthographic.js +21 -1
  4. package/lib/dist/camera/camera-perspective.d.ts +1 -0
  5. package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
  6. package/lib/dist/camera/camera-perspective.js +21 -1
  7. package/lib/dist/camera/camera.d.ts +1 -0
  8. package/lib/dist/camera/camera.d.ts.map +1 -1
  9. package/lib/dist/camera/camera.js +4 -1
  10. package/lib/dist/canvas/gizmo/painter/shader.frag +1 -1
  11. package/lib/dist/canvas/gizmo/painter/shader.vert +1 -1
  12. package/lib/dist/code/color.d.ts +4 -4
  13. package/lib/dist/code/color.d.ts.map +1 -1
  14. package/lib/dist/code/color.js +3 -3
  15. package/lib/dist/code/coords.d.ts +4 -4
  16. package/lib/dist/code/coords.d.ts.map +1 -1
  17. package/lib/dist/code/coords.js +4 -4
  18. package/lib/dist/code/random.d.ts +2 -2
  19. package/lib/dist/code/random.d.ts.map +1 -1
  20. package/lib/dist/code/random.js +2 -2
  21. package/lib/dist/context/animation/animation-manager.d.ts +1 -0
  22. package/lib/dist/context/animation/animation-manager.d.ts.map +1 -1
  23. package/lib/dist/context/animation/animation-manager.js +11 -3
  24. package/lib/dist/context/context.d.ts +12 -2
  25. package/lib/dist/context/context.d.ts.map +1 -1
  26. package/lib/dist/context/context.js +80 -37
  27. package/lib/dist/controller/camera/orbit.d.ts +15 -2
  28. package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
  29. package/lib/dist/controller/camera/orbit.js +15 -3
  30. package/lib/dist/data/gltf/gltf.d.ts +60 -0
  31. package/lib/dist/data/gltf/gltf.d.ts.map +1 -0
  32. package/lib/dist/data/gltf/gltf.js +337 -0
  33. package/lib/dist/data/gltf/index.d.ts +2 -0
  34. package/lib/dist/data/gltf/index.d.ts.map +1 -0
  35. package/lib/dist/data/gltf/index.js +2 -0
  36. package/lib/dist/data/gltf/parser.d.ts +13 -0
  37. package/lib/dist/data/gltf/parser.d.ts.map +1 -0
  38. package/lib/dist/data/gltf/parser.js +54 -0
  39. package/lib/dist/data/index.d.ts +2 -0
  40. package/lib/dist/data/index.d.ts.map +1 -0
  41. package/lib/dist/data/index.js +2 -0
  42. package/lib/dist/factory/index.d.ts +2 -0
  43. package/lib/dist/factory/index.d.ts.map +1 -0
  44. package/lib/dist/factory/index.js +2 -0
  45. package/lib/dist/factory/mesh-glb.d.ts +42 -0
  46. package/lib/dist/factory/mesh-glb.d.ts.map +1 -0
  47. package/lib/dist/factory/mesh-glb.js +91 -0
  48. package/lib/dist/index.d.ts +1 -0
  49. package/lib/dist/index.d.ts.map +1 -1
  50. package/lib/dist/index.js +2 -1
  51. package/lib/dist/input/pointer.d.ts +2 -1
  52. package/lib/dist/input/pointer.d.ts.map +1 -1
  53. package/lib/dist/input/pointer.js +8 -1
  54. package/lib/dist/interface/transformable.d.ts +1 -0
  55. package/lib/dist/interface/transformable.d.ts.map +1 -1
  56. package/lib/dist/loader/asset.d.ts +2 -2
  57. package/lib/dist/loader/asset.d.ts.map +1 -1
  58. package/lib/dist/loader/asset.js +1 -1
  59. package/lib/dist/loader/binary.d.ts +3 -2
  60. package/lib/dist/loader/binary.d.ts.map +1 -1
  61. package/lib/dist/loader/binary.js +20 -4
  62. package/lib/dist/material/diffuse.d.ts.map +1 -1
  63. package/lib/dist/material/diffuse.js +7 -5
  64. package/lib/dist/material/flat.d.ts +20 -0
  65. package/lib/dist/material/flat.d.ts.map +1 -0
  66. package/lib/dist/material/flat.js +18 -0
  67. package/lib/dist/material/index.d.ts +1 -0
  68. package/lib/dist/material/index.d.ts.map +1 -1
  69. package/lib/dist/material/index.js +2 -1
  70. package/lib/dist/math/index.d.ts +1 -0
  71. package/lib/dist/math/index.d.ts.map +1 -1
  72. package/lib/dist/math/index.js +2 -1
  73. package/lib/dist/math/mat2.d.ts +29 -0
  74. package/lib/dist/math/mat2.d.ts.map +1 -0
  75. package/lib/dist/math/mat2.js +94 -0
  76. package/lib/dist/math/quat.d.ts +2 -1
  77. package/lib/dist/math/quat.d.ts.map +1 -1
  78. package/lib/dist/math/quat.js +6 -28
  79. package/lib/dist/math/transfo.d.ts +8 -4
  80. package/lib/dist/math/transfo.d.ts.map +1 -1
  81. package/lib/dist/math/transfo.js +41 -27
  82. package/lib/dist/math/vec3.d.ts +2 -2
  83. package/lib/dist/math/vec3.d.ts.map +1 -1
  84. package/lib/dist/math/vec3.js +6 -5
  85. package/lib/dist/painter/axes/axes.frag +1 -1
  86. package/lib/dist/painter/axes/axes.vert +1 -1
  87. package/lib/dist/painter/background/background.d.ts +28 -2
  88. package/lib/dist/painter/background/background.d.ts.map +1 -1
  89. package/lib/dist/painter/background/background.frag +1 -1
  90. package/lib/dist/painter/background/background.js +47 -13
  91. package/lib/dist/painter/background-with-depth/background-with-depth.d.ts +24 -0
  92. package/lib/dist/painter/background-with-depth/background-with-depth.d.ts.map +1 -0
  93. package/lib/dist/painter/background-with-depth/background-with-depth.js +120 -0
  94. package/lib/dist/painter/background-with-depth/background.frag +17 -0
  95. package/lib/dist/painter/background-with-depth/background.vert +13 -0
  96. package/lib/dist/painter/background-with-depth/index.d.ts +2 -0
  97. package/lib/dist/painter/background-with-depth/index.d.ts.map +1 -0
  98. package/lib/dist/painter/background-with-depth/index.js +2 -0
  99. package/lib/dist/painter/debug/stencil/stencil.frag +1 -1
  100. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  101. package/lib/dist/painter/framebuffer.js +2 -2
  102. package/lib/dist/painter/group.d.ts.map +1 -1
  103. package/lib/dist/painter/group.js +1 -1
  104. package/lib/dist/painter/index.d.ts +1 -0
  105. package/lib/dist/painter/index.d.ts.map +1 -1
  106. package/lib/dist/painter/index.js +2 -1
  107. package/lib/dist/painter/mesh/gltf/gltf.d.ts +8 -4
  108. package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
  109. package/lib/dist/painter/mesh/gltf/gltf.js +23 -13
  110. package/lib/dist/painter/mesh/mesh/mesh.d.ts +12 -3
  111. package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
  112. package/lib/dist/painter/mesh/mesh/mesh.js +4 -2
  113. package/lib/dist/painter/mesh/normals/shader.vert +1 -1
  114. package/lib/dist/painter/node/node.d.ts +20 -7
  115. package/lib/dist/painter/node/node.d.ts.map +1 -1
  116. package/lib/dist/painter/node/node.js +74 -17
  117. package/lib/dist/painter/segments/segments.d.ts +9 -7
  118. package/lib/dist/painter/segments/segments.d.ts.map +1 -1
  119. package/lib/dist/painter/segments/segments.frag +12 -2
  120. package/lib/dist/painter/segments/segments.js +64 -36
  121. package/lib/dist/painter/segments/segments.vert +12 -5
  122. package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
  123. package/lib/dist/painter/skybox/skybox.js +21 -16
  124. package/lib/dist/painter/state/state.d.ts +10 -2
  125. package/lib/dist/painter/state/state.d.ts.map +1 -1
  126. package/lib/dist/painter/state/state.js +49 -19
  127. package/lib/dist/parser/gltf/gltf.d.ts +15 -2
  128. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  129. package/lib/dist/parser/gltf/gltf.js +55 -2
  130. package/lib/dist/parser/gltf/parser.d.ts +4 -0
  131. package/lib/dist/parser/gltf/parser.d.ts.map +1 -1
  132. package/lib/dist/parser/gltf/parser.js +5 -2
  133. package/lib/dist/program/program.d.ts +4 -3
  134. package/lib/dist/program/program.d.ts.map +1 -1
  135. package/lib/dist/program/program.js +22 -8
  136. package/lib/dist/shader/code.d.ts +2 -2
  137. package/lib/dist/shader/code.d.ts.map +1 -1
  138. package/lib/dist/shader/code.js +16 -3
  139. package/lib/dist/shader/fragment.d.ts.map +1 -1
  140. package/lib/dist/shader/fragment.js +2 -2
  141. package/lib/dist/shader/vertex.d.ts.map +1 -1
  142. package/lib/dist/shader/vertex.js +2 -3
  143. package/lib/dist/texture/texture-depth.d.ts +36 -0
  144. package/lib/dist/texture/texture-depth.d.ts.map +1 -0
  145. package/lib/dist/texture/texture-depth.js +63 -0
  146. package/lib/dist/texture/texture2d.d.ts +15 -2
  147. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  148. package/lib/dist/texture/texture2d.js +87 -27
  149. package/lib/dist/types/animation.d.ts +11 -2
  150. package/lib/dist/types/animation.d.ts.map +1 -1
  151. package/lib/dist/types/index.d.ts +1 -0
  152. package/lib/dist/types/index.d.ts.map +1 -1
  153. package/lib/dist/types/index.js +2 -1
  154. package/lib/dist/types/input-pointer.d.ts +1 -0
  155. package/lib/dist/types/input-pointer.d.ts.map +1 -1
  156. package/lib/dist/types/program.d.ts +5 -0
  157. package/lib/dist/types/program.d.ts.map +1 -1
  158. package/lib/dist/utils/action/camera.d.ts.map +1 -1
  159. package/lib/dist/utils/action/camera.js +2 -2
  160. package/lib/dist/utils/action/transfo.d.ts +1 -1
  161. package/lib/dist/utils/action/transfo.d.ts.map +1 -1
  162. package/lib/dist/utils/action/transfo.js +17 -23
  163. package/lib/dist/utils/animation/chain-transfo-interpolations.d.ts +18 -0
  164. package/lib/dist/utils/animation/chain-transfo-interpolations.d.ts.map +1 -0
  165. package/lib/dist/utils/animation/chain-transfo-interpolations.js +15 -0
  166. package/lib/dist/utils/animation/chain.d.ts +11 -0
  167. package/lib/dist/utils/animation/chain.d.ts.map +1 -0
  168. package/lib/dist/utils/animation/chain.js +61 -0
  169. package/lib/dist/utils/animation/index.d.ts +3 -0
  170. package/lib/dist/utils/animation/index.d.ts.map +1 -0
  171. package/lib/dist/utils/animation/index.js +3 -0
  172. package/lib/dist/utils/index.d.ts +1 -0
  173. package/lib/dist/utils/index.d.ts.map +1 -1
  174. package/lib/dist/utils/index.js +2 -1
  175. package/lib/dist/utils/math.d.ts +13 -0
  176. package/lib/dist/utils/math.d.ts.map +1 -1
  177. package/lib/dist/utils/math.js +34 -1
  178. package/lib/dist/utils/math.test.d.ts +2 -0
  179. package/lib/dist/utils/math.test.d.ts.map +1 -0
  180. package/lib/dist/utils/math.test.js +22 -0
  181. package/lib/dist/utils/state/blend.d.ts +1 -1
  182. package/lib/dist/utils/state/blend.d.ts.map +1 -1
  183. package/lib/dist/utils/state/blend.js +21 -3
  184. package/lib/dist/utils/state/depth.d.ts +1 -1
  185. package/lib/dist/utils/state/depth.d.ts.map +1 -1
  186. package/lib/dist/utils/state/depth.js +23 -2
  187. package/lib/dist/vao/vao.d.ts +6 -0
  188. package/lib/dist/vao/vao.d.ts.map +1 -1
  189. package/lib/dist/vao/vao.js +30 -1
  190. package/package.json +1 -1
@@ -28,10 +28,11 @@ export class TgdContext {
28
28
  * @see {@link TgdContextOptions}
29
29
  */
30
30
  constructor(canvas, options = {}) {
31
- var _a;
31
+ var _a, _b;
32
32
  this.canvas = canvas;
33
33
  this.options = options;
34
34
  this.eventPaint = new TgdEvent();
35
+ this.resolution = 1;
35
36
  this._camera = new TgdCameraPerspective({
36
37
  transfo: { distance: 15 },
37
38
  far: 100,
@@ -39,8 +40,12 @@ export class TgdContext {
39
40
  fovy: Math.PI / 8,
40
41
  zoom: 1,
41
42
  });
43
+ this._fps = 0;
42
44
  this._aspectRatio = 1;
43
45
  this._aspectRatioInverse = 1;
46
+ this.paintingIsOngoing = false;
47
+ // We need to start another paiting after the current one is finished
48
+ this.paintingIsQueued = false;
44
49
  this.isPlaying = false;
45
50
  this.requestAnimationFrame = -1;
46
51
  // Last time the context has been painted.
@@ -52,37 +57,55 @@ export class TgdContext {
52
57
  * Trigger the painters to render the scene.
53
58
  */
54
59
  this.paint = () => {
55
- // globalThis.cancelAnimationFrame(this.requestAnimationFrame)
56
- this.requestAnimationFrame = globalThis.requestAnimationFrame(this.actualPaint);
60
+ if (this.paintingIsOngoing) {
61
+ this.paintingIsQueued = true;
62
+ }
63
+ else {
64
+ this.paintingIsQueued = false;
65
+ this.paintingIsOngoing = true;
66
+ globalThis.cancelAnimationFrame(this.requestAnimationFrame);
67
+ this.requestAnimationFrame = globalThis.requestAnimationFrame(this.actualPaint);
68
+ }
57
69
  };
58
70
  this.actualPaint = (time) => {
59
- this.timeShift = time - Date.now();
60
- const { lastTime, gl } = this;
61
- if (lastTime < 0) {
71
+ try {
72
+ this.timeShift = time - Date.now();
73
+ const { lastTime, gl } = this;
74
+ if (lastTime < 0) {
75
+ this.lastTime = time;
76
+ // First frame, let's skip it to get better timing.
77
+ this.paint();
78
+ return;
79
+ }
80
+ const delay = time - this.lastTime;
81
+ this._fps = Math.round(1 / delay);
62
82
  this.lastTime = time;
63
- // First frame, let's skip it to get better timing.
64
- this.paint();
65
- return;
83
+ this._camera.screenWidth = gl.drawingBufferWidth;
84
+ this._camera.screenHeight = gl.drawingBufferHeight;
85
+ this._aspectRatio = gl.drawingBufferWidth / gl.drawingBufferHeight;
86
+ this._aspectRatioInverse = 1 / this._aspectRatio;
87
+ const timeInSec = time * 1e-3;
88
+ const delayInSec = delay * 1e-3;
89
+ this.painters.paint(timeInSec, delayInSec);
90
+ this.eventPaint.dispatch(this);
91
+ if (this.paintingIsQueued ||
92
+ this.animationManager.paint(timeInSec) ||
93
+ this.isPlaying) {
94
+ this.paintingIsOngoing = false;
95
+ this.paint();
96
+ }
97
+ }
98
+ catch (error) {
99
+ console.error(error);
100
+ }
101
+ finally {
102
+ this.paintingIsOngoing = false;
66
103
  }
67
- const delay = time - this.lastTime;
68
- // Prevent too many painting in the same refresh.
69
- if (delay < 1.016)
70
- return;
71
- this.lastTime = time;
72
- this._camera.screenWidth = gl.drawingBufferWidth;
73
- this._camera.screenHeight = gl.drawingBufferHeight;
74
- this._aspectRatio = gl.drawingBufferWidth / gl.drawingBufferHeight;
75
- this._aspectRatioInverse = 1 / this._aspectRatio;
76
- const timeInSec = time * 1e-3;
77
- const delayInSec = delay * 1e-3;
78
- this.painters.paint(timeInSec, delayInSec);
79
- if (this.animationManager.paint(timeInSec) || this.isPlaying)
80
- this.paint();
81
- this.eventPaint.dispatch(this);
82
104
  };
83
105
  const gl = canvas.getContext("webgl2", options);
84
106
  if (!gl)
85
107
  throw new Error("Unable to create a WebGL2 context!");
108
+ this.resolution = (_a = options.resolution) !== null && _a !== void 0 ? _a : 1;
86
109
  if (options.enableTextureFloatStorage) {
87
110
  gl.getExtension("EXT_color_buffer_float");
88
111
  }
@@ -90,24 +113,32 @@ export class TgdContext {
90
113
  this.implementationColorReadType = gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_TYPE);
91
114
  this.gl = gl;
92
115
  this.observer = new ResizeObserver(() => {
93
- var _a;
94
- const width = canvas.clientWidth;
95
- const height = canvas.clientHeight;
96
- canvas.width = width;
97
- canvas.height = height;
98
- gl.viewport(0, 0, width, height);
116
+ const width = canvas.clientWidth * this.resolution;
117
+ const height = canvas.clientHeight * this.resolution;
118
+ const { onResize } = options;
119
+ if (onResize) {
120
+ onResize(this, canvas.clientWidth, canvas.clientHeight);
121
+ }
122
+ else {
123
+ canvas.width = width;
124
+ canvas.height = height;
125
+ }
126
+ gl.viewport(0, 0, canvas.width, canvas.height);
99
127
  this.paint();
100
- (_a = options.onResize) === null || _a === void 0 ? void 0 : _a.call(options, this, canvas.clientWidth, canvas.clientHeight);
101
128
  });
102
129
  this.observer.observe(canvas);
103
130
  this.inputs = new TgdInputs(canvas);
104
131
  if (options.camera)
105
132
  this._camera = options.camera;
106
133
  this.painters = new TgdPainterGroup();
107
- this.name = (_a = options.name) !== null && _a !== void 0 ? _a : `Context#${TgdContext.incrementalId++}`;
134
+ this.name = (_b = options.name) !== null && _b !== void 0 ? _b : `Context#${TgdContext.incrementalId++}`;
108
135
  this.painters.name = this.name;
109
136
  // Prevent system gestures.
110
137
  canvas.style.touchAction = "none";
138
+ this.stateReset();
139
+ }
140
+ get fps() {
141
+ return this._fps;
111
142
  }
112
143
  get time() {
113
144
  return Date.now() + this.timeShift;
@@ -124,8 +155,16 @@ export class TgdContext {
124
155
  this._camera = camera;
125
156
  this.paint();
126
157
  }
127
- animSchedule(animation) {
128
- const result = this.animationManager.schedule(animation);
158
+ animSchedule(...animations) {
159
+ var _a, _b;
160
+ const result = [];
161
+ let delay = 0;
162
+ for (const animation of animations) {
163
+ const duration = animation.duration + ((_a = animation.delay) !== null && _a !== void 0 ? _a : 0);
164
+ animation.delay = delay + ((_b = animation.delay) !== null && _b !== void 0 ? _b : 0);
165
+ delay += duration;
166
+ result.push(this.animationManager.schedule(animation));
167
+ }
129
168
  this.paint();
130
169
  return result;
131
170
  }
@@ -172,6 +211,11 @@ export class TgdContext {
172
211
  return;
173
212
  if (value)
174
213
  this.paint();
214
+ else {
215
+ this.paintingIsOngoing = false;
216
+ this.paintingIsQueued = false;
217
+ globalThis.cancelAnimationFrame(this.requestAnimationFrame);
218
+ }
175
219
  this.isPlaying = value;
176
220
  }
177
221
  /**
@@ -240,8 +284,7 @@ export class TgdContext {
240
284
  return `Unknown gl[${value}]`;
241
285
  }
242
286
  destroy() {
243
- globalThis.cancelAnimationFrame(this.requestAnimationFrame);
244
- this.playing = false;
287
+ this.pause();
245
288
  this.painters.delete();
246
289
  this.observer.unobserve(this.canvas);
247
290
  }
@@ -303,4 +346,4 @@ export class TgdContext {
303
346
  }
304
347
  }
305
348
  TgdContext.incrementalId = 1;
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWxELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFFbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQThCbkM7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUE2Qm5COzs7T0FHRztJQUNILFlBQ29CLE1BQXlCLEVBQ3hCLFVBQTZCLEVBQUU7O1FBRGhDLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBM0JwQyxlQUFVLEdBQUcsSUFBSSxRQUFRLEVBQWMsQ0FBQTtRQUUvQyxZQUFPLEdBQWMsSUFBSSxvQkFBb0IsQ0FBQztZQUNsRCxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1lBQ3pCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsSUFBSSxFQUFFLEdBQUc7WUFDVCxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDO1lBQ2pCLElBQUksRUFBRSxDQUFDO1NBQ1YsQ0FBQyxDQUFBO1FBQ00saUJBQVksR0FBRyxDQUFDLENBQUE7UUFDaEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFBO1FBR3ZCLGNBQVMsR0FBRyxLQUFLLENBQUE7UUFDakIsMEJBQXFCLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsMENBQTBDO1FBQ2xDLGFBQVEsR0FBRyxDQUFDLENBQUMs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
349
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWxELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFFbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQW1DbkM7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFrQ25COzs7T0FHRztJQUNILFlBQ29CLE1BQXlCLEVBQ3hCLFVBQTZCLEVBQUU7O1FBRGhDLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBaENwQyxlQUFVLEdBQUcsSUFBSSxRQUFRLEVBQWMsQ0FBQTtRQUNoRCxlQUFVLEdBQUcsQ0FBQyxDQUFBO1FBRWIsWUFBTyxHQUFjLElBQUksb0JBQW9CLENBQUM7WUFDbEQsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUN6QixHQUFHLEVBQUUsR0FBRztZQUNSLElBQUksRUFBRSxHQUFHO1lBQ1QsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNqQixJQUFJLEVBQUUsQ0FBQztTQUNWLENBQUMsQ0FBQTtRQUNNLFNBQUksR0FBRyxDQUFDLENBQUE7UUFDUixpQkFBWSxHQUFHLENBQUMsQ0FBQTtRQUNoQix3QkFBbUIsR0FBRyxDQUFDLENBQUE7UUFHdkIsc0JBQWlCLEdBQUcsS0FBSyxDQUFBO1FBQ2pDLHFFQUFxRTtRQUM3RCxx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
@@ -1,7 +1,8 @@
1
+ import { TgdAnimation } from "../../types/animation";
1
2
  import { TgdInputPointerModifierKeys } from "../../types";
2
3
  import { TgdEvent } from "../../event";
3
4
  import { TgdCamera } from "../../camera";
4
- import { TgdContext } from "../../context";
5
+ import { TgdInputs } from "../../input";
5
6
  export interface TgdControllerCameraOrbitZoomRequest extends TgdInputPointerModifierKeys {
6
7
  x: number;
7
8
  y: number;
@@ -67,6 +68,11 @@ export interface TgdControllerCameraOrbitOptions {
67
68
  /** Expressed in radians */
68
69
  minLng: number;
69
70
  }>;
71
+ /**
72
+ * If `debug` is set, the special hotkey `?` will drop the
73
+ * current camera status to the console.
74
+ */
75
+ debug?: boolean;
70
76
  }
71
77
  export declare class TgdControllerCameraOrbit {
72
78
  private readonly context;
@@ -110,7 +116,14 @@ export declare class TgdControllerCameraOrbit {
110
116
  private readonly cameraInitialState;
111
117
  private readonly geo?;
112
118
  private readonly tmpQuat;
113
- constructor(context: TgdContext, { geo, minZoom, maxZoom, speedZoom, speedOrbit, speedPanning, inertiaZoom, inertiaOrbit, inertiaPanning, fixedTarget, onZoomRequest, }?: Partial<TgdControllerCameraOrbitOptions>);
119
+ constructor(context: {
120
+ camera: TgdCamera;
121
+ inputs: TgdInputs;
122
+ time: number;
123
+ animSchedule(...animations: TgdAnimation[]): TgdAnimation[];
124
+ animCancel(animation: TgdAnimation): void;
125
+ paint(): void;
126
+ }, { geo, minZoom, maxZoom, speedZoom, speedOrbit, speedPanning, inertiaZoom, inertiaOrbit, inertiaPanning, fixedTarget, debug, onZoomRequest, }?: Partial<TgdControllerCameraOrbitOptions>);
114
127
  get enabled(): boolean;
115
128
  set enabled(value: boolean);
116
129
  reset(animDuration: number, easingFunction?: (x: number) => number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"orbit.d.ts","sourceRoot":"","sources":["../../../src/controller/camera/orbit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orbit.d.ts","sourceRoot":"","sources":["../../../src/controller/camera/orbit.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { tgdCalcClamp } from "./../../utils/math.js";
3
3
  import { TgdEvent } from "./../../event/index.js";
4
4
  import { TgdMat3, TgdQuat, TgdVec3 } from "./../../math/index.js";
5
5
  export class TgdControllerCameraOrbit {
6
- constructor(context, { geo, minZoom = 1e-3, maxZoom = Infinity, speedZoom = 1, speedOrbit = 1, speedPanning = 1, inertiaZoom = 0, inertiaOrbit = 0, inertiaPanning = 0, fixedTarget = false, onZoomRequest = alwaysTrue, } = {}) {
6
+ constructor(context, { geo, minZoom = 1e-3, maxZoom = Infinity, speedZoom = 1, speedOrbit = 1, speedPanning = 1, inertiaZoom = 0, inertiaOrbit = 0, inertiaPanning = 0, fixedTarget = false, debug = false, onZoomRequest = alwaysTrue, } = {}) {
7
7
  this.context = context;
8
8
  this.id = `TgdControllerCameraOrbit-${TgdControllerCameraOrbit.counter++}`;
9
9
  this.eventChange = new TgdEvent();
@@ -119,7 +119,12 @@ export class TgdControllerCameraOrbit {
119
119
  if (this.context.inputs.keyboard.isDown("Shift"))
120
120
  speed *= 0.1;
121
121
  const dz = -event.direction * speed;
122
- camera.zoom = tgdCalcClamp(camera.zoom * (1 + dz), this.minZoom, this.maxZoom);
122
+ camera.transfo.distance = Math.max(0, camera.transfo.distance + dz);
123
+ // camera.zoom = tgdCalcClamp(
124
+ // camera.zoom * (1 + dz),
125
+ // this.minZoom,
126
+ // this.maxZoom
127
+ // )
123
128
  event.preventDefault();
124
129
  this.fireZoomChange();
125
130
  };
@@ -146,6 +151,13 @@ export class TgdControllerCameraOrbit {
146
151
  if (this.geo)
147
152
  this.orbitGeo(this.geo.lat, this.geo.lng);
148
153
  globalThis.setTimeout(() => context.paint());
154
+ if (debug) {
155
+ context.inputs.keyboard.eventKeyPress.addListener(event => {
156
+ if (event.key === "?") {
157
+ console.log(this.context.camera.toCode());
158
+ }
159
+ });
160
+ }
149
161
  }
150
162
  get enabled() {
151
163
  return this.context.time > this.disabledUntil && this._enabled;
@@ -265,4 +277,4 @@ function makeGeoVec3(lat, lng) {
265
277
  const x = radius * Math.sin(lng);
266
278
  return new TgdVec3(x, y, z);
267
279
  }
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JiaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlci9jYW1lcmEvb3JiaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyx3QkFBd0IsR0FDM0IsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBTTlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBMkVyRCxNQUFNLE9BQU8sd0JBQXdCO0lBdURqQyxZQUNxQixPQUFtQixFQUNwQyxFQUNJLEdBQUcsRUFDSCxPQUFPLEdBQUcsSUFBSSxFQUNkLE9BQU8sR0FBRyxRQUFRLEVBQ2xCLFNBQVMsR0FBRyxDQUFDLEVBQ2IsVUFBVSxHQUFHLENBQUMsRUFDZCxZQUFZLEdBQUcsQ0FBQyxFQUNoQixXQUFXLEdBQUcsQ0FBQyxFQUNmLFlBQVksR0FBRyxDQUFDLEVBQ2hCLGNBQWMsR0FBRyxDQUFDLEVBQ2xCLFdBQVcsR0FBRyxLQUFLLEVBQ25CLGFBQWEsR0FBRyxVQUFVLE1BQ2dCLEVBQUU7UUFiL0IsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQXJEeEIsT0FBRSxHQUFHLDRCQUE0Qix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFBO1FBQ3JFLGdCQUFXLEdBQUcsSUFBSSxRQUFRLEVBQWEsQ0FBQTtRQUNoRCxZQUFPLEdBQUcsSUFBSSxDQUFBO1FBQ2QsWUFBTyxHQUFHLFFBQVEsQ0FBQTtRQUNsQixjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBQ2IsZUFBVSxHQUFHLENBQUMsQ0FBQTtRQUNkLGlCQUFZLEdBQUcsQ0FBQyxDQUFBO1FBQ2hCLGdCQUFXLEdBQUcsQ0FBQyxDQUFBO1FBQ2YsaUJBQVksR0FBRyxDQUFDLENBQUE7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
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JiaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlci9jYW1lcmEvb3JiaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyx3QkFBd0IsR0FDM0IsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBTTlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBZ0ZyRCxNQUFNLE9BQU8sd0JBQXdCO0lBdURqQyxZQUNxQixPQU9oQixFQUNELEVBQ0ksR0FBRyxFQUNILE9BQU8sR0FBRyxJQUFJLEVBQ2QsT0FBTyxHQUFHLFFBQVEsRUFDbEIsU0FBUyxHQUFHLENBQUMsRUFDYixVQUFVLEdBQUcsQ0FBQyxFQUNkLFlBQVksR0FBRyxDQUFDLEVBQ2hCLFdBQVcsR0FBRyxDQUFDLEVBQ2YsWUFBWSxHQUFHLENBQUMsRUFDaEIsY0FBYyxHQUFHLENBQUMsRUFDbEIsV0FBVyxHQUFHLEtBQUssRUFDbkIsS0FBSyxHQUFHLEtBQUssRUFDYixhQUFhLEdBQUcsVUFBVSxNQUNnQixFQUFFO1FBckIvQixZQUFPLEdBQVAsT0FBTyxDQU92QjtRQTVEVyxPQUFFLEdBQUcsNEJBQTRCLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUE7UUFDckUsZ0JBQVcsR0FBRyxJQUFJLFFBQVEsRUFBYSxDQUFBO1FBQ2hELFlBQU8sR0FBRyxJQUFJLENBQUE7UUFDZCxZQUFPLEdBQUcsUUFBUSxDQUFBO1FBQ2xCLGNBQVMsR0FBRyxDQUFDLENBQUE7UUFDYixlQUFVLEdBQUcsQ0FBQyxDQUFBO1FBQ2QsaUJBQVksR0FBRyxDQUFDLENBQUE7UUFDaEIsZ0JBQVcsR0FBRyxDQUFDLENBQUE7UUFDZixp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
@@ -0,0 +1,60 @@
1
+ /**
2
+ * GLTF specs can be found here:
3
+ * https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html
4
+ */
5
+ import { TgdDataset } from "../../dataset";
6
+ import { TgdFormatGltf, TgdFormatGltfAccessor, TgdFormatGltfMaterial, TgdFormatGltfMesh, TgdFormatGltfMeshPrimitive, TgdFormatGltfNode, TgdFormatGltfScene } from "../../types/gltf";
7
+ import { TgdTypeArrayForElements } from "../../types";
8
+ import { TgdGeometry } from "../../geometry";
9
+ import { TgdTexture2D } from "../../texture";
10
+ export declare class TgdDataGLB {
11
+ readonly gltf: Readonly<TgdFormatGltf>;
12
+ private readonly chunks;
13
+ private readonly chunkDetails;
14
+ private readonly cacheImages;
15
+ private readonly cacheImageURLs;
16
+ private readonly cacheBufferViewDatas;
17
+ /**
18
+ * @param content The binary content of a GLB file.
19
+ */
20
+ constructor(content: ArrayBuffer);
21
+ getChunkDetails(): {
22
+ size: number;
23
+ type: "JSON" | "BIN";
24
+ }[];
25
+ get fileSize(): number;
26
+ getScenes(): TgdFormatGltfScene[];
27
+ getScene(sceneIndex: number): TgdFormatGltfScene;
28
+ getNode(nodeIndex: number): TgdFormatGltfNode;
29
+ getNodeByName(nodeName: string): TgdFormatGltfNode | undefined;
30
+ getNodeByNameOrThrow(nodeName: string): TgdFormatGltfNode;
31
+ getAccessor(accessorIndex?: number): TgdFormatGltfAccessor;
32
+ getMaterial(materialIndex: number): TgdFormatGltfMaterial;
33
+ getMesh(meshIndex?: number): TgdFormatGltfMesh;
34
+ getMeshPrimitive(meshIndex?: number, primitiveIndex?: number): {
35
+ attributes: Record<string, number>;
36
+ indices?: number;
37
+ mode?: number;
38
+ material?: number;
39
+ };
40
+ getMeshPrimitiveIndices(meshIndex?: number, primitiveIndex?: number): TgdTypeArrayForElements;
41
+ getAccessorByAttributeName(primitive: TgdFormatGltfMeshPrimitive, attribName: string): TgdFormatGltfAccessor;
42
+ createTexture2D(context: {
43
+ gl: WebGL2RenderingContext;
44
+ }, textureIndex: number): TgdTexture2D;
45
+ loadImage(imageIndex: number): Promise<HTMLImageElement | undefined>;
46
+ getImageURL(imageIndex: number): string | undefined;
47
+ getBufferViewData(accessor: TgdFormatGltfAccessor): Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array;
48
+ getBufferViewData(bufferViewIndex: number, type?: number | "Int8" | "Uint8" | "Int16" | "Uint16" | "Uint32" | "Float32"): Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array;
49
+ findAccessorForBufferView(bufferViewIndex: number): TgdFormatGltfAccessor | undefined;
50
+ setAttrib(dataset: TgdDataset, attribName: string, meshIndex?: number, primitiveIndex?: number, primitiveAttribName?: string): void;
51
+ makeGeometry({ computeNormals, meshIndex, primitiveIndex, attPositionName, attNormalName, attTextureCoordsName, }?: {
52
+ computeNormals?: boolean;
53
+ meshIndex?: number;
54
+ primitiveIndex?: number;
55
+ attPositionName?: string;
56
+ attNormalName?: string;
57
+ attTextureCoordsName?: string;
58
+ }): TgdGeometry;
59
+ }
60
+ //# sourceMappingURL=gltf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../src/data/gltf/gltf.ts"],"names":[],"mappings":"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"}