@p100-web/core-three 100.2.16 → 100.2.17

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 (161) hide show
  1. package/dist/App.d.ts +42 -0
  2. package/dist/App.d.ts.map +1 -0
  3. package/dist/App.js +186 -0
  4. package/dist/App.js.map +1 -0
  5. package/dist/ComponentFactory.d.ts +5 -0
  6. package/dist/ComponentFactory.d.ts.map +1 -0
  7. package/dist/ComponentFactory.js +13 -0
  8. package/dist/ComponentFactory.js.map +1 -0
  9. package/dist/ThreeCanvas.d.ts +56 -0
  10. package/dist/ThreeCanvas.d.ts.map +1 -0
  11. package/dist/ThreeCanvas.js +410 -0
  12. package/dist/ThreeCanvas.js.map +1 -0
  13. package/dist/ThreeEngine.d.ts +24 -0
  14. package/dist/ThreeEngine.d.ts.map +1 -0
  15. package/dist/ThreeEngine.js +102 -0
  16. package/dist/ThreeEngine.js.map +1 -0
  17. package/dist/ThreeNodeRenderer.d.ts +41 -0
  18. package/dist/ThreeNodeRenderer.d.ts.map +1 -0
  19. package/dist/ThreeNodeRenderer.js +116 -0
  20. package/dist/ThreeNodeRenderer.js.map +1 -0
  21. package/dist/animations/ModelAnimation.d.ts +23 -0
  22. package/dist/animations/ModelAnimation.d.ts.map +1 -0
  23. package/dist/animations/ModelAnimation.js +55 -0
  24. package/dist/animations/ModelAnimation.js.map +1 -0
  25. package/dist/assets/ThreeAssetLoader.d.ts +98 -0
  26. package/dist/assets/ThreeAssetLoader.d.ts.map +1 -0
  27. package/dist/assets/ThreeAssetLoader.js +489 -0
  28. package/dist/assets/ThreeAssetLoader.js.map +1 -0
  29. package/dist/index.d.ts +7 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +8 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/pcomponents/PAnimator.d.ts +25 -0
  34. package/dist/pcomponents/PAnimator.d.ts.map +1 -0
  35. package/dist/pcomponents/PAnimator.js +151 -0
  36. package/dist/pcomponents/PAnimator.js.map +1 -0
  37. package/dist/pcomponents/PBackground.d.ts +17 -0
  38. package/dist/pcomponents/PBackground.d.ts.map +1 -0
  39. package/dist/pcomponents/PBackground.js +114 -0
  40. package/dist/pcomponents/PBackground.js.map +1 -0
  41. package/dist/pcomponents/PBasicMaterial.d.ts +22 -0
  42. package/dist/pcomponents/PBasicMaterial.d.ts.map +1 -0
  43. package/dist/pcomponents/PBasicMaterial.js +171 -0
  44. package/dist/pcomponents/PBasicMaterial.js.map +1 -0
  45. package/dist/pcomponents/PCollider.d.ts +18 -0
  46. package/dist/pcomponents/PCollider.d.ts.map +1 -0
  47. package/dist/pcomponents/PCollider.js +59 -0
  48. package/dist/pcomponents/PCollider.js.map +1 -0
  49. package/dist/pcomponents/PCubeGeometry.d.ts +8 -0
  50. package/dist/pcomponents/PCubeGeometry.d.ts.map +1 -0
  51. package/dist/pcomponents/PCubeGeometry.js +23 -0
  52. package/dist/pcomponents/PCubeGeometry.js.map +1 -0
  53. package/dist/pcomponents/PEnvironment.d.ts +12 -0
  54. package/dist/pcomponents/PEnvironment.d.ts.map +1 -0
  55. package/dist/pcomponents/PEnvironment.js +41 -0
  56. package/dist/pcomponents/PEnvironment.js.map +1 -0
  57. package/dist/pcomponents/PImageCache.d.ts +11 -0
  58. package/dist/pcomponents/PImageCache.d.ts.map +1 -0
  59. package/dist/pcomponents/PImageCache.js +38 -0
  60. package/dist/pcomponents/PImageCache.js.map +1 -0
  61. package/dist/pcomponents/PLight.d.ts +8 -0
  62. package/dist/pcomponents/PLight.d.ts.map +1 -0
  63. package/dist/pcomponents/PLight.js +45 -0
  64. package/dist/pcomponents/PLight.js.map +1 -0
  65. package/dist/pcomponents/PLightDirectional.d.ts +8 -0
  66. package/dist/pcomponents/PLightDirectional.d.ts.map +1 -0
  67. package/dist/pcomponents/PLightDirectional.js +36 -0
  68. package/dist/pcomponents/PLightDirectional.js.map +1 -0
  69. package/dist/pcomponents/PMaskedMaterial.d.ts +18 -0
  70. package/dist/pcomponents/PMaskedMaterial.d.ts.map +1 -0
  71. package/dist/pcomponents/PMaskedMaterial.js +200 -0
  72. package/dist/pcomponents/PMaskedMaterial.js.map +1 -0
  73. package/dist/pcomponents/PMaterialModifier.d.ts +12 -0
  74. package/dist/pcomponents/PMaterialModifier.d.ts.map +1 -0
  75. package/dist/pcomponents/PMaterialModifier.js +78 -0
  76. package/dist/pcomponents/PMaterialModifier.js.map +1 -0
  77. package/dist/pcomponents/PModelAnnotation.d.ts +11 -0
  78. package/dist/pcomponents/PModelAnnotation.d.ts.map +1 -0
  79. package/dist/pcomponents/PModelAnnotation.js +21 -0
  80. package/dist/pcomponents/PModelAnnotation.js.map +1 -0
  81. package/dist/pcomponents/PModelAnnotations.d.ts +10 -0
  82. package/dist/pcomponents/PModelAnnotations.d.ts.map +1 -0
  83. package/dist/pcomponents/PModelAnnotations.js +25 -0
  84. package/dist/pcomponents/PModelAnnotations.js.map +1 -0
  85. package/dist/pcomponents/PModelGLTF.d.ts +15 -0
  86. package/dist/pcomponents/PModelGLTF.d.ts.map +1 -0
  87. package/dist/pcomponents/PModelGLTF.js +111 -0
  88. package/dist/pcomponents/PModelGLTF.js.map +1 -0
  89. package/dist/pcomponents/PModelNode.d.ts +14 -0
  90. package/dist/pcomponents/PModelNode.d.ts.map +1 -0
  91. package/dist/pcomponents/PModelNode.js +82 -0
  92. package/dist/pcomponents/PModelNode.js.map +1 -0
  93. package/dist/pcomponents/PPhysicalMaterial.d.ts +15 -0
  94. package/dist/pcomponents/PPhysicalMaterial.d.ts.map +1 -0
  95. package/dist/pcomponents/PPhysicalMaterial.js +110 -0
  96. package/dist/pcomponents/PPhysicalMaterial.js.map +1 -0
  97. package/dist/pcomponents/PPlaneGeometry.d.ts +8 -0
  98. package/dist/pcomponents/PPlaneGeometry.d.ts.map +1 -0
  99. package/dist/pcomponents/PPlaneGeometry.js +23 -0
  100. package/dist/pcomponents/PPlaneGeometry.js.map +1 -0
  101. package/dist/pcomponents/PProjectRoot.d.ts +8 -0
  102. package/dist/pcomponents/PProjectRoot.d.ts.map +1 -0
  103. package/dist/pcomponents/PProjectRoot.js +24 -0
  104. package/dist/pcomponents/PProjectRoot.js.map +1 -0
  105. package/dist/pcomponents/PSlider.d.ts +18 -0
  106. package/dist/pcomponents/PSlider.d.ts.map +1 -0
  107. package/dist/pcomponents/PSlider.js +62 -0
  108. package/dist/pcomponents/PSlider.js.map +1 -0
  109. package/dist/pcomponents/PSound.d.ts +17 -0
  110. package/dist/pcomponents/PSound.d.ts.map +1 -0
  111. package/dist/pcomponents/PSound.js +119 -0
  112. package/dist/pcomponents/PSound.js.map +1 -0
  113. package/dist/pcomponents/PSphereGeometry.d.ts +9 -0
  114. package/dist/pcomponents/PSphereGeometry.d.ts.map +1 -0
  115. package/dist/pcomponents/PSphereGeometry.js +24 -0
  116. package/dist/pcomponents/PSphereGeometry.js.map +1 -0
  117. package/dist/pcomponents/PSprite.d.ts +13 -0
  118. package/dist/pcomponents/PSprite.d.ts.map +1 -0
  119. package/dist/pcomponents/PSprite.js +73 -0
  120. package/dist/pcomponents/PSprite.js.map +1 -0
  121. package/dist/pcomponents/PSpriteSheet.d.ts +13 -0
  122. package/dist/pcomponents/PSpriteSheet.d.ts.map +1 -0
  123. package/dist/pcomponents/PSpriteSheet.js +49 -0
  124. package/dist/pcomponents/PSpriteSheet.js.map +1 -0
  125. package/dist/pcomponents/PText.d.ts +9 -0
  126. package/dist/pcomponents/PText.d.ts.map +1 -0
  127. package/dist/pcomponents/PText.js +42 -0
  128. package/dist/pcomponents/PText.js.map +1 -0
  129. package/dist/pcomponents/PVideoPlayer.d.ts +5 -0
  130. package/dist/pcomponents/PVideoPlayer.d.ts.map +1 -0
  131. package/dist/pcomponents/PVideoPlayer.js +12 -0
  132. package/dist/pcomponents/PVideoPlayer.js.map +1 -0
  133. package/dist/pcomponents.d.ts +27 -0
  134. package/dist/pcomponents.d.ts.map +1 -0
  135. package/dist/pcomponents.js +33 -0
  136. package/dist/pcomponents.js.map +1 -0
  137. package/dist/postprocessing/PSSRPass.d.ts +19 -0
  138. package/dist/postprocessing/PSSRPass.d.ts.map +1 -0
  139. package/dist/postprocessing/PSSRPass.js +69 -0
  140. package/dist/postprocessing/PSSRPass.js.map +1 -0
  141. package/dist/postprocessing/ThreeJsPostProcessor.d.ts +32 -0
  142. package/dist/postprocessing/ThreeJsPostProcessor.d.ts.map +1 -0
  143. package/dist/postprocessing/ThreeJsPostProcessor.js +264 -0
  144. package/dist/postprocessing/ThreeJsPostProcessor.js.map +1 -0
  145. package/dist/three/ColliderObject3D.d.ts +19 -0
  146. package/dist/three/ColliderObject3D.d.ts.map +1 -0
  147. package/dist/three/ColliderObject3D.js +96 -0
  148. package/dist/three/ColliderObject3D.js.map +1 -0
  149. package/dist/three/FreeCameraControls.d.ts +32 -0
  150. package/dist/three/FreeCameraControls.d.ts.map +1 -0
  151. package/dist/three/FreeCameraControls.js +173 -0
  152. package/dist/three/FreeCameraControls.js.map +1 -0
  153. package/dist/three/OrbitCameraControls.d.ts +36 -0
  154. package/dist/three/OrbitCameraControls.d.ts.map +1 -0
  155. package/dist/three/OrbitCameraControls.js +306 -0
  156. package/dist/three/OrbitCameraControls.js.map +1 -0
  157. package/dist/three/VrCameraControls.d.ts +30 -0
  158. package/dist/three/VrCameraControls.d.ts.map +1 -0
  159. package/dist/three/VrCameraControls.js +142 -0
  160. package/dist/three/VrCameraControls.js.map +1 -0
  161. package/package.json +2 -2
@@ -0,0 +1,489 @@
1
+ import { FileSubType, AssetLoader } from "@p100-web/core";
2
+ import { SRGBColorSpace, Texture, TextureLoader, Vector2, VideoTexture, AnimationMixer, AudioLoader, PMREMGenerator, } from "three";
3
+ import { GLTFLoader, } from "three/examples/jsm/loaders/GLTFLoader.js";
4
+ import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader.js";
5
+ var TaskType;
6
+ (function (TaskType) {
7
+ TaskType[TaskType["Texture"] = 0] = "Texture";
8
+ TaskType[TaskType["Video"] = 1] = "Video";
9
+ TaskType[TaskType["Model"] = 2] = "Model";
10
+ TaskType[TaskType["Audio"] = 3] = "Audio";
11
+ TaskType[TaskType["HDR"] = 4] = "HDR";
12
+ })(TaskType || (TaskType = {}));
13
+ class AbstractTask {
14
+ }
15
+ class TextureTask extends AbstractTask {
16
+ constructor(pfile) {
17
+ super();
18
+ this.texture = null;
19
+ this.pfile = pfile;
20
+ }
21
+ }
22
+ class VideoTextureTask extends AbstractTask {
23
+ constructor(pfile) {
24
+ super();
25
+ this.texture = null;
26
+ this.pfile = pfile;
27
+ }
28
+ }
29
+ class ModelTask extends AbstractTask {
30
+ constructor(pfile) {
31
+ super();
32
+ this.model = null;
33
+ this.gltf = null;
34
+ this.mixer = null;
35
+ this.actions = null;
36
+ this.pfile = pfile;
37
+ }
38
+ }
39
+ class AudioTask extends AbstractTask {
40
+ constructor(pfile) {
41
+ super();
42
+ this.buffer = null;
43
+ this.pfile = pfile;
44
+ }
45
+ }
46
+ class HDRTextureTask extends AbstractTask {
47
+ constructor(pfile) {
48
+ super();
49
+ this.texture = null;
50
+ this.pfile = pfile;
51
+ }
52
+ }
53
+ class TaskLoader {
54
+ constructor(type, pfile) {
55
+ this.tasks = [];
56
+ this.type = type;
57
+ this.pfile = pfile;
58
+ }
59
+ }
60
+ export { TextureTask, VideoTextureTask, ModelTask, AudioTask, HDRTextureTask, };
61
+ const disposeEvent = new Event("dispose");
62
+ export default class ThreeAssetLoader extends AssetLoader {
63
+ constructor(baseUrl, context) {
64
+ super(baseUrl, context);
65
+ this._textureLoader = new TextureLoader();
66
+ this._gltfLoader = new GLTFLoader();
67
+ this._audioLoader = new AudioLoader();
68
+ this._rgbeLoader = new RGBELoader();
69
+ this._loading = false;
70
+ this.onError = (_taskLoader, error) => {
71
+ this._gameContext.error(error);
72
+ };
73
+ this.onProgress = () => {
74
+ // console.log("onProgress: ", this._tasks.length);
75
+ };
76
+ this._loaderPromise = null;
77
+ //
78
+ // SHARED
79
+ //
80
+ this._tasks = [];
81
+ //
82
+ // TEXTURES
83
+ //
84
+ this._textureCache = {};
85
+ this.onTextureDispose = (e) => {
86
+ e.target.removeEventListener("dispose", this.onTextureDispose);
87
+ const id = e.target.userData.id;
88
+ const cacheItem = this._textureCache[id];
89
+ if (!cacheItem) {
90
+ console.error("onTextureDispose: cacheItem not found", id);
91
+ return;
92
+ }
93
+ cacheItem.count--;
94
+ e.target.source.data = null;
95
+ if (cacheItem.count === 0) {
96
+ delete this._textureCache[id];
97
+ // console.log("cache item deleted");
98
+ }
99
+ };
100
+ this.onVideoTextureDispose = (e) => {
101
+ e.target.removeEventListener("dispose", this.onVideoTextureDispose);
102
+ const video = e.target.source.data;
103
+ e.target.source.data = null;
104
+ if (video) {
105
+ video.dispatchEvent(disposeEvent);
106
+ video.removeAttribute("src");
107
+ video.load();
108
+ }
109
+ };
110
+ this.onModelProgress = (e, taskLoader) => {
111
+ const tasks = taskLoader.tasks;
112
+ const progress = e.total > 0 ? e.loaded / e.total : 0;
113
+ for (const task of tasks) {
114
+ if (task.onProgress) {
115
+ task.onProgress(progress * 0.9);
116
+ }
117
+ }
118
+ };
119
+ this.onHDRTextureDispose = (e) => {
120
+ e.target.removeEventListener("dispose", this.onHDRTextureDispose);
121
+ e.target.source.data = null;
122
+ };
123
+ const renderer = context.getPCanvas().getThreeRenderer();
124
+ this._pmremGenerator = new PMREMGenerator(renderer);
125
+ this._pmremGenerator.compileEquirectangularShader();
126
+ }
127
+ dispose() {
128
+ super.dispose();
129
+ this._pmremGenerator.dispose();
130
+ this._textureCache = {};
131
+ }
132
+ async loadAsync() {
133
+ // Nothing to do
134
+ if (this._tasks.length === 0) {
135
+ return this._loaderPromise ?? Promise.resolve();
136
+ }
137
+ // Already loading → return the same promise
138
+ if (this._loading) {
139
+ return this._loaderPromise;
140
+ }
141
+ // Start a new loading session
142
+ this._loading = true;
143
+ this._loaderPromise = (async () => {
144
+ try {
145
+ while (this._tasks.length > 0) {
146
+ const tasks = [...this._tasks];
147
+ this._tasks.length = 0;
148
+ const promises = tasks.map((task) => {
149
+ switch (task.type) {
150
+ case TaskType.Texture:
151
+ return this.loadTextureTask(task);
152
+ case TaskType.Video:
153
+ return this.loadVideoTextureTask(task);
154
+ case TaskType.Model:
155
+ return this.loadModelTask(task);
156
+ case TaskType.Audio:
157
+ return this.loadAudioTask(task);
158
+ case TaskType.HDR:
159
+ return this.loadHDRTextureTask(task);
160
+ default:
161
+ console.error("[AssetLoader] Unknown task type:", task.type);
162
+ return Promise.resolve();
163
+ }
164
+ });
165
+ await Promise.all(promises);
166
+ }
167
+ }
168
+ finally {
169
+ // Always reset state, even on error
170
+ this._loading = false;
171
+ this._loaderPromise = null;
172
+ }
173
+ })();
174
+ return this._loaderPromise;
175
+ }
176
+ hasQueue() {
177
+ return this._tasks.length > 0 || this._loading;
178
+ }
179
+ getTaskLoader(file) {
180
+ return this._tasks.find((t) => t.pfile._id === file._id) || null;
181
+ }
182
+ addTextureTask(owner, file) {
183
+ if (file.getUrl() === null)
184
+ throw new Error("No url on file");
185
+ // Check if we are loading this url...
186
+ let taskLoader = this.getTaskLoader(file);
187
+ if (taskLoader === null) {
188
+ taskLoader = new TaskLoader(TaskType.Texture, file);
189
+ this._tasks.push(taskLoader);
190
+ }
191
+ // Create a task
192
+ const task = new TextureTask(file);
193
+ task.onSuccess = owner.onTextureTaskLoaded;
194
+ // Add it to the loader
195
+ taskLoader.tasks.push(task);
196
+ }
197
+ onTextureLoaded(taskLoader, texture) {
198
+ const tasks = taskLoader.tasks;
199
+ for (let i = 0; i < taskLoader.tasks.length; i++) {
200
+ const itexture = i === 0 ? texture : new Texture(texture.source.data);
201
+ tasks[i].texture = itexture;
202
+ itexture.addEventListener("dispose", this.onTextureDispose);
203
+ itexture.colorSpace = SRGBColorSpace;
204
+ itexture.userData.id = taskLoader.pfile._id;
205
+ if (taskLoader.pfile.subType === FileSubType.Stereo)
206
+ texture.repeat = new Vector2(1, 0.5);
207
+ itexture.needsUpdate = true;
208
+ tasks[i].onSuccess?.(tasks[i]);
209
+ }
210
+ taskLoader.tasks.length = 0;
211
+ this.onProgress();
212
+ }
213
+ loadTextureTask(taskLoader) {
214
+ return new Promise((resolve) => {
215
+ // Check cache
216
+ let cached = this._textureCache[taskLoader.pfile._id];
217
+ if (cached) {
218
+ cached.count += taskLoader.tasks.length;
219
+ const texture = new Texture(cached.image);
220
+ this.onTextureLoaded(taskLoader, texture);
221
+ resolve();
222
+ return;
223
+ }
224
+ // Load
225
+ this._textureLoader.load(this._baseUrl + taskLoader.pfile.getUrl(), (texture) => {
226
+ this._textureCache[taskLoader.pfile._id] = {
227
+ count: taskLoader.tasks.length,
228
+ image: texture.source.data,
229
+ };
230
+ this.onTextureLoaded(taskLoader, texture);
231
+ resolve();
232
+ }, undefined, () => {
233
+ this.onProgress();
234
+ this.onError(taskLoader, "Failed to load image: " + taskLoader.pfile.name);
235
+ resolve();
236
+ });
237
+ });
238
+ }
239
+ //
240
+ // VIDEO
241
+ //
242
+ addVideoTextureTask(owner, file) {
243
+ // console.log(">>> addVideoTextureTask: ");
244
+ if (file.getUrl() === null)
245
+ throw new Error("No url on file");
246
+ // For VideoTextureTask we don't want to share the video element
247
+ const taskLoader = new TaskLoader(TaskType.Video, file);
248
+ this._tasks.push(taskLoader);
249
+ // Create a task
250
+ const task = new VideoTextureTask(file);
251
+ task.onSuccess = owner.onVideoTextureTaskLoaded;
252
+ // Add it to the loader
253
+ taskLoader.tasks.push(task);
254
+ }
255
+ onVideoTextureLoaded(taskLoader, texture) {
256
+ const task = taskLoader.tasks[0];
257
+ task.texture = texture;
258
+ texture.addEventListener("dispose", this.onVideoTextureDispose);
259
+ texture.colorSpace = SRGBColorSpace;
260
+ texture.userData.id = taskLoader.pfile._id;
261
+ if (taskLoader.pfile.subType === FileSubType.Stereo)
262
+ texture.repeat = new Vector2(1, 0.5);
263
+ texture.needsUpdate = true;
264
+ task.onSuccess?.(task);
265
+ taskLoader.tasks.length = 0;
266
+ this.onProgress();
267
+ }
268
+ loadVideoTextureTask(taskLoader) {
269
+ return new Promise((resolve, reject) => {
270
+ const video = document.createElement("video");
271
+ video.src = this._baseUrl + taskLoader.pfile.getUrl();
272
+ video.crossOrigin = "anonymous";
273
+ video.loop = true;
274
+ video.muted = false;
275
+ video.playsInline = true;
276
+ video.preload = "auto";
277
+ const onLoaded = (e) => {
278
+ cleanup();
279
+ const video = e.target;
280
+ this.onVideoTextureLoaded(taskLoader, new VideoTexture(video));
281
+ resolve();
282
+ };
283
+ const onError = (e) => {
284
+ cleanup();
285
+ this.onProgress();
286
+ this.onError(taskLoader, "Failed to load video: " + taskLoader.pfile.name);
287
+ reject(e);
288
+ };
289
+ const cleanup = () => {
290
+ video.removeEventListener("loadeddata", onLoaded);
291
+ video.removeEventListener("error", onError);
292
+ };
293
+ // "loadeddata" is triggered before "canplay"
294
+ video.addEventListener("loadeddata", onLoaded);
295
+ video.addEventListener("error", onError);
296
+ video.load();
297
+ });
298
+ }
299
+ //
300
+ // MODELS
301
+ //
302
+ addModelTask(owner, file) {
303
+ if (file.getUrl() === null)
304
+ throw new Error("No url on file");
305
+ let taskLoader = this.getTaskLoader(file);
306
+ if (taskLoader === null) {
307
+ taskLoader = new TaskLoader(TaskType.Model, file);
308
+ this._tasks.push(taskLoader);
309
+ }
310
+ const task = new ModelTask(file);
311
+ task.onSuccess = owner.onModelTaskLoaded;
312
+ task.onProgress = owner.onModelTaskProgress;
313
+ taskLoader.tasks.push(task);
314
+ }
315
+ disposeModelMaterial(material) {
316
+ const MAPS = [
317
+ "map",
318
+ "alphaMap",
319
+ "emissiveMap",
320
+ "normalMap",
321
+ "metalnessMap",
322
+ "roughnessMap",
323
+ ];
324
+ for (const map of MAPS) {
325
+ const tex = material[map];
326
+ if (tex) {
327
+ tex.dispose();
328
+ material[map] = null;
329
+ }
330
+ }
331
+ material.dispose();
332
+ }
333
+ disposeModel(model) {
334
+ model.traverse((child) => {
335
+ if (child.skeleton) {
336
+ child.skeleton.dispose();
337
+ }
338
+ if (child.material) {
339
+ const materials = Array.isArray(child.material)
340
+ ? child.material
341
+ : [child.material];
342
+ for (const material of materials) {
343
+ this.disposeModelMaterial(material);
344
+ }
345
+ }
346
+ if (child.geometry) {
347
+ child.geometry.dispose();
348
+ }
349
+ });
350
+ model.removeFromParent();
351
+ }
352
+ onModelLoaded(taskLoader, gltf) {
353
+ const tasks = taskLoader.tasks;
354
+ for (let i = 0; i < taskLoader.tasks.length; i++) {
355
+ const task = tasks[i];
356
+ task.gltf = gltf;
357
+ task.model = i === 0 ? gltf.scene : gltf.scene.clone(true);
358
+ task.model.traverse((child) => {
359
+ if (child.isMesh) {
360
+ child.castShadow = false;
361
+ child.receiveShadow = false;
362
+ }
363
+ });
364
+ if (task.onProgress) {
365
+ task.onProgress(1);
366
+ }
367
+ if (gltf.animations && gltf.animations.length) {
368
+ task.mixer = new AnimationMixer(gltf.scene);
369
+ task.actions = [];
370
+ for (const animation of gltf.animations) {
371
+ const action = task.mixer.clipAction(animation);
372
+ task.actions.push(action);
373
+ }
374
+ }
375
+ task.onSuccess?.(task);
376
+ }
377
+ taskLoader.tasks.length = 0;
378
+ this.onProgress();
379
+ }
380
+ loadModelTask(taskLoader) {
381
+ return new Promise((resolve) => {
382
+ this._gltfLoader.load(this._baseUrl + taskLoader.pfile.getUrl(), (gltf) => {
383
+ try {
384
+ this.onModelLoaded(taskLoader, gltf);
385
+ }
386
+ catch (error) {
387
+ console.log("error: ", error);
388
+ }
389
+ resolve();
390
+ }, (event) => {
391
+ this.onModelProgress(event, taskLoader);
392
+ }, (error) => {
393
+ console.log("error: ", error);
394
+ this.onProgress();
395
+ this.onError(taskLoader, "Failed to load model '" +
396
+ taskLoader.pfile.name +
397
+ "': " +
398
+ error.message);
399
+ resolve();
400
+ });
401
+ });
402
+ }
403
+ //
404
+ // AUDIO
405
+ //
406
+ addAudioTask(owner, file) {
407
+ if (file.getUrl() === null)
408
+ throw new Error("No url on file");
409
+ let taskLoader = this.getTaskLoader(file);
410
+ if (taskLoader === null) {
411
+ taskLoader = new TaskLoader(TaskType.Audio, file);
412
+ this._tasks.push(taskLoader);
413
+ }
414
+ const task = new AudioTask(file);
415
+ task.onSuccess = owner.onAudioTaskLoaded;
416
+ task.onProgress = owner.onAudioTaskProgress;
417
+ taskLoader.tasks.push(task);
418
+ }
419
+ loadAudioTask(taskLoader) {
420
+ return new Promise((resolve) => {
421
+ this._audioLoader.load(this._baseUrl + taskLoader.pfile.getUrl(), (buffer) => {
422
+ this.onAudioLoaded(taskLoader, buffer);
423
+ resolve();
424
+ }, (event) => {
425
+ const progress = event.total > 0 ? event.loaded / event.total : 0;
426
+ for (const task of taskLoader.tasks) {
427
+ task.onProgress?.(progress * 0.9);
428
+ }
429
+ }, (error) => {
430
+ this.onProgress();
431
+ this.onError(taskLoader, "Failed to load audio '" +
432
+ taskLoader.pfile.name +
433
+ "': " +
434
+ error.message);
435
+ resolve();
436
+ });
437
+ });
438
+ }
439
+ onAudioLoaded(taskLoader, buffer) {
440
+ const tasks = taskLoader.tasks;
441
+ for (const task of tasks) {
442
+ task.buffer = buffer;
443
+ task.onProgress?.(1);
444
+ task.onSuccess?.(task);
445
+ }
446
+ taskLoader.tasks.length = 0;
447
+ this.onProgress();
448
+ }
449
+ //
450
+ // HDR
451
+ //
452
+ addHDRTextureTask(owner, file) {
453
+ if (file.getUrl() === null)
454
+ throw new Error("No url on file");
455
+ const taskLoader = new TaskLoader(TaskType.HDR, file);
456
+ this._tasks.push(taskLoader);
457
+ const task = new HDRTextureTask(file);
458
+ task.onSuccess = owner.onHDRTextureTaskLoaded;
459
+ taskLoader.tasks.push(task);
460
+ }
461
+ onHDRTextureLoaded(taskLoader, baseTexture) {
462
+ const tasks = taskLoader.tasks;
463
+ for (let i = 0; i < tasks.length; i++) {
464
+ const env = i === 0 ? baseTexture : baseTexture.clone();
465
+ env.userData.id = taskLoader.pfile._id;
466
+ env.addEventListener("dispose", this.onHDRTextureDispose);
467
+ env.needsUpdate = true;
468
+ tasks[i].texture = env;
469
+ tasks[i].onSuccess?.(tasks[i]);
470
+ }
471
+ taskLoader.tasks.length = 0;
472
+ this.onProgress();
473
+ }
474
+ loadHDRTextureTask(taskLoader) {
475
+ return new Promise((resolve) => {
476
+ this._rgbeLoader.load(this._baseUrl + taskLoader.pfile.getUrl(), (hdr) => {
477
+ const pmrem = this._pmremGenerator.fromEquirectangular(hdr);
478
+ hdr.dispose();
479
+ this.onHDRTextureLoaded(taskLoader, pmrem.texture);
480
+ resolve();
481
+ }, undefined, () => {
482
+ this.onProgress();
483
+ this.onError(taskLoader, "Failed to load HDR: " + taskLoader.pfile.name);
484
+ resolve();
485
+ });
486
+ });
487
+ }
488
+ }
489
+ //# sourceMappingURL=ThreeAssetLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreeAssetLoader.js","sourceRoot":"","sources":["../../src/assets/ThreeAssetLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { default as ThreeCanvas } from "./ThreeCanvas";
2
+ export { default as ThreeEngine } from "./ThreeEngine";
3
+ export { default as ThreeAssetLoader } from "./assets/ThreeAssetLoader";
4
+ export { default as ThreeNodeRenderer } from "./ThreeNodeRenderer";
5
+ export { default as App } from "./App";
6
+ export * from "./pcomponents";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AAEvC,cAAc,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ // p100
2
+ export { default as ThreeCanvas } from "./ThreeCanvas";
3
+ export { default as ThreeEngine } from "./ThreeEngine";
4
+ export { default as ThreeAssetLoader } from "./assets/ThreeAssetLoader";
5
+ export { default as ThreeNodeRenderer } from "./ThreeNodeRenderer";
6
+ export { default as App } from "./App";
7
+ export * from "./pcomponents";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AAEP,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AAEvC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { Group } from "three";
2
+ import PModelGLTF from "./PModelGLTF";
3
+ import { type IModelAnimation, INodeEventListener, INodeEventSender, NodeEvents, PAnimator as PAnimatorBase, Payload } from "@p100-web/core";
4
+ export default class PAnimator extends PAnimatorBase implements INodeEventListener {
5
+ protected _animation: IModelAnimation | null;
6
+ private _playedDuration;
7
+ private _segmentDuration;
8
+ private _playing;
9
+ getModelComponent(): PModelGLTF | null;
10
+ render(): void;
11
+ unrender(): void;
12
+ onNodeEvent: (component: INodeEventSender, type: NodeEvents, model: Group) => void;
13
+ getAnimationClips(): string[];
14
+ /**
15
+ * Stop playback and remove event listeners
16
+ */
17
+ private _stop;
18
+ callback_onPlay(): void;
19
+ onFinished: () => void;
20
+ callback_onStop(): void;
21
+ callback_onReset(value: Payload): void;
22
+ updateSegment: (dt: number) => void;
23
+ update: (dt: number) => void;
24
+ }
25
+ //# sourceMappingURL=PAnimator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PAnimator.d.ts","sourceRoot":"","sources":["../../src/pcomponents/PAnimator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,KAAK,eAAe,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,SAAS,IAAI,aAAa,EAC1B,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,SACnB,SAAQ,aACR,YAAW,kBAAkB;IAE7B,SAAS,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAQ;IAEpD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,QAAQ,CAAS;IAEzB,iBAAiB,IAAI,UAAU,GAAG,IAAI;IAItC,MAAM,IAAI,IAAI;IAUd,QAAQ;IAeR,WAAW,GACT,WAAW,gBAAgB,EAC3B,MAAM,UAAU,EAChB,OAAO,KAAK,KACX,IAAI,CAaL;IAEF,iBAAiB,IAAI,MAAM,EAAE;IAK7B;;OAEG;IACH,OAAO,CAAC,KAAK;IAcb,eAAe,IAAI,IAAI;IAuCvB,UAAU,aAIR;IAEF,eAAe,IAAI,IAAI;IAQvB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAQtC,aAAa,GAAI,IAAI,MAAM,UAmBzB;IAEF,MAAM,GAAI,IAAI,MAAM,UAElB;CACH"}