@zephyr3d/scene 0.1.0

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 (236) hide show
  1. package/dist/animation/animation.js +173 -0
  2. package/dist/animation/animation.js.map +1 -0
  3. package/dist/animation/animationset.js +95 -0
  4. package/dist/animation/animationset.js.map +1 -0
  5. package/dist/animation/animationtrack.js +38 -0
  6. package/dist/animation/animationtrack.js.map +1 -0
  7. package/dist/animation/eulerrotationtrack.js +33 -0
  8. package/dist/animation/eulerrotationtrack.js.map +1 -0
  9. package/dist/animation/rotationtrack.js +37 -0
  10. package/dist/animation/rotationtrack.js.map +1 -0
  11. package/dist/animation/scaletrack.js +36 -0
  12. package/dist/animation/scaletrack.js.map +1 -0
  13. package/dist/animation/skeleton.js +97 -0
  14. package/dist/animation/skeleton.js.map +1 -0
  15. package/dist/animation/translationtrack.js +36 -0
  16. package/dist/animation/translationtrack.js.map +1 -0
  17. package/dist/animation/usertrack.js +47 -0
  18. package/dist/animation/usertrack.js.map +1 -0
  19. package/dist/app.js +173 -0
  20. package/dist/app.js.map +1 -0
  21. package/dist/asset/assetmanager.js +476 -0
  22. package/dist/asset/assetmanager.js.map +1 -0
  23. package/dist/asset/builtin.js +373 -0
  24. package/dist/asset/builtin.js.map +1 -0
  25. package/dist/asset/loaders/dds/dds.js +472 -0
  26. package/dist/asset/loaders/dds/dds.js.map +1 -0
  27. package/dist/asset/loaders/dds/dds_loader.js +38 -0
  28. package/dist/asset/loaders/dds/dds_loader.js.map +1 -0
  29. package/dist/asset/loaders/gltf/gltf_loader.js +981 -0
  30. package/dist/asset/loaders/gltf/gltf_loader.js.map +1 -0
  31. package/dist/asset/loaders/gltf/helpers.js +314 -0
  32. package/dist/asset/loaders/gltf/helpers.js.map +1 -0
  33. package/dist/asset/loaders/hdr/hdr.js +175 -0
  34. package/dist/asset/loaders/hdr/hdr.js.map +1 -0
  35. package/dist/asset/loaders/image/tga_Loader.js +117 -0
  36. package/dist/asset/loaders/image/tga_Loader.js.map +1 -0
  37. package/dist/asset/loaders/image/webimage_loader.js +50 -0
  38. package/dist/asset/loaders/image/webimage_loader.js.map +1 -0
  39. package/dist/asset/loaders/loader.js +45 -0
  40. package/dist/asset/loaders/loader.js.map +1 -0
  41. package/dist/asset/model.js +264 -0
  42. package/dist/asset/model.js.map +1 -0
  43. package/dist/blitter/blitter.js +389 -0
  44. package/dist/blitter/blitter.js.map +1 -0
  45. package/dist/blitter/box.js +118 -0
  46. package/dist/blitter/box.js.map +1 -0
  47. package/dist/blitter/copy.js +22 -0
  48. package/dist/blitter/copy.js.map +1 -0
  49. package/dist/blitter/depthlimitedgaussion.js +166 -0
  50. package/dist/blitter/depthlimitedgaussion.js.map +1 -0
  51. package/dist/blitter/gaussianblur.js +229 -0
  52. package/dist/blitter/gaussianblur.js.map +1 -0
  53. package/dist/camera/base.js +90 -0
  54. package/dist/camera/base.js.map +1 -0
  55. package/dist/camera/camera.js +358 -0
  56. package/dist/camera/camera.js.map +1 -0
  57. package/dist/camera/fps.js +246 -0
  58. package/dist/camera/fps.js.map +1 -0
  59. package/dist/camera/orbit.js +157 -0
  60. package/dist/camera/orbit.js.map +1 -0
  61. package/dist/camera/orthocamera.js +126 -0
  62. package/dist/camera/orthocamera.js.map +1 -0
  63. package/dist/camera/perspectivecamera.js +133 -0
  64. package/dist/camera/perspectivecamera.js.map +1 -0
  65. package/dist/index.d.ts +8402 -0
  66. package/dist/index.js +87 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/input/inputmgr.js +242 -0
  69. package/dist/input/inputmgr.js.map +1 -0
  70. package/dist/material/blinn.js +75 -0
  71. package/dist/material/blinn.js.map +1 -0
  72. package/dist/material/grassmaterial.js +221 -0
  73. package/dist/material/grassmaterial.js.map +1 -0
  74. package/dist/material/lambert.js +52 -0
  75. package/dist/material/lambert.js.map +1 -0
  76. package/dist/material/lightmodel.js +2074 -0
  77. package/dist/material/lightmodel.js.map +1 -0
  78. package/dist/material/lit.js +578 -0
  79. package/dist/material/lit.js.map +1 -0
  80. package/dist/material/material.js +458 -0
  81. package/dist/material/material.js.map +1 -0
  82. package/dist/material/meshmaterial.js +311 -0
  83. package/dist/material/meshmaterial.js.map +1 -0
  84. package/dist/material/mixins/albedocolor.js +130 -0
  85. package/dist/material/mixins/albedocolor.js.map +1 -0
  86. package/dist/material/mixins/texture.js +110 -0
  87. package/dist/material/mixins/texture.js.map +1 -0
  88. package/dist/material/mixins/vertexcolor.js +45 -0
  89. package/dist/material/mixins/vertexcolor.js.map +1 -0
  90. package/dist/material/pbr.js +27 -0
  91. package/dist/material/pbr.js.map +1 -0
  92. package/dist/material/standard.js +282 -0
  93. package/dist/material/standard.js.map +1 -0
  94. package/dist/material/terrainlightmodel.js +259 -0
  95. package/dist/material/terrainlightmodel.js.map +1 -0
  96. package/dist/material/terrainmaterial.js +139 -0
  97. package/dist/material/terrainmaterial.js.map +1 -0
  98. package/dist/material/unlit.js +29 -0
  99. package/dist/material/unlit.js.map +1 -0
  100. package/dist/posteffect/bloom.js +398 -0
  101. package/dist/posteffect/bloom.js.map +1 -0
  102. package/dist/posteffect/compositor.js +264 -0
  103. package/dist/posteffect/compositor.js.map +1 -0
  104. package/dist/posteffect/fxaa.js +291 -0
  105. package/dist/posteffect/fxaa.js.map +1 -0
  106. package/dist/posteffect/grayscale.js +87 -0
  107. package/dist/posteffect/grayscale.js.map +1 -0
  108. package/dist/posteffect/posteffect.js +165 -0
  109. package/dist/posteffect/posteffect.js.map +1 -0
  110. package/dist/posteffect/sao.js +327 -0
  111. package/dist/posteffect/sao.js.map +1 -0
  112. package/dist/posteffect/tonemap.js +112 -0
  113. package/dist/posteffect/tonemap.js.map +1 -0
  114. package/dist/posteffect/water.js +535 -0
  115. package/dist/posteffect/water.js.map +1 -0
  116. package/dist/render/clipmap.js +462 -0
  117. package/dist/render/clipmap.js.map +1 -0
  118. package/dist/render/cluster_light.js +329 -0
  119. package/dist/render/cluster_light.js.map +1 -0
  120. package/dist/render/cull_visitor.js +124 -0
  121. package/dist/render/cull_visitor.js.map +1 -0
  122. package/dist/render/depth_pass.js +47 -0
  123. package/dist/render/depth_pass.js.map +1 -0
  124. package/dist/render/envlight.js +282 -0
  125. package/dist/render/envlight.js.map +1 -0
  126. package/dist/render/forward.js +186 -0
  127. package/dist/render/forward.js.map +1 -0
  128. package/dist/render/forward_pass.js +137 -0
  129. package/dist/render/forward_pass.js.map +1 -0
  130. package/dist/render/helper.js +38 -0
  131. package/dist/render/helper.js.map +1 -0
  132. package/dist/render/primitive.js +246 -0
  133. package/dist/render/primitive.js.map +1 -0
  134. package/dist/render/render_queue.js +163 -0
  135. package/dist/render/render_queue.js.map +1 -0
  136. package/dist/render/renderpass.js +151 -0
  137. package/dist/render/renderpass.js.map +1 -0
  138. package/dist/render/renderscheme.js +61 -0
  139. package/dist/render/renderscheme.js.map +1 -0
  140. package/dist/render/scatteringlut.js +634 -0
  141. package/dist/render/scatteringlut.js.map +1 -0
  142. package/dist/render/shadowmap_pass.js +70 -0
  143. package/dist/render/shadowmap_pass.js.map +1 -0
  144. package/dist/render/sky.js +881 -0
  145. package/dist/render/sky.js.map +1 -0
  146. package/dist/render/temporalcache.js +222 -0
  147. package/dist/render/temporalcache.js.map +1 -0
  148. package/dist/render/watermesh.js +835 -0
  149. package/dist/render/watermesh.js.map +1 -0
  150. package/dist/scene/environment.js +146 -0
  151. package/dist/scene/environment.js.map +1 -0
  152. package/dist/scene/graph_node.js +69 -0
  153. package/dist/scene/graph_node.js.map +1 -0
  154. package/dist/scene/light.js +436 -0
  155. package/dist/scene/light.js.map +1 -0
  156. package/dist/scene/mesh.js +215 -0
  157. package/dist/scene/mesh.js.map +1 -0
  158. package/dist/scene/model.js +111 -0
  159. package/dist/scene/model.js.map +1 -0
  160. package/dist/scene/octree.js +651 -0
  161. package/dist/scene/octree.js.map +1 -0
  162. package/dist/scene/octree_update_visitor.js +16 -0
  163. package/dist/scene/octree_update_visitor.js.map +1 -0
  164. package/dist/scene/raycast_visitor.js +72 -0
  165. package/dist/scene/raycast_visitor.js.map +1 -0
  166. package/dist/scene/scene.js +225 -0
  167. package/dist/scene/scene.js.map +1 -0
  168. package/dist/scene/scene_node.js +299 -0
  169. package/dist/scene/scene_node.js.map +1 -0
  170. package/dist/scene/terrain/grass.js +277 -0
  171. package/dist/scene/terrain/grass.js.map +1 -0
  172. package/dist/scene/terrain/heightfield.js +391 -0
  173. package/dist/scene/terrain/heightfield.js.map +1 -0
  174. package/dist/scene/terrain/patch.js +530 -0
  175. package/dist/scene/terrain/patch.js.map +1 -0
  176. package/dist/scene/terrain/quadtree.js +430 -0
  177. package/dist/scene/terrain/quadtree.js.map +1 -0
  178. package/dist/scene/terrain/terrain.js +258 -0
  179. package/dist/scene/terrain/terrain.js.map +1 -0
  180. package/dist/scene/xform.js +224 -0
  181. package/dist/scene/xform.js.map +1 -0
  182. package/dist/shaders/builtins.js +110 -0
  183. package/dist/shaders/builtins.js.map +1 -0
  184. package/dist/shaders/framework.js +709 -0
  185. package/dist/shaders/framework.js.map +1 -0
  186. package/dist/shaders/lighting.js +335 -0
  187. package/dist/shaders/lighting.js.map +1 -0
  188. package/dist/shaders/misc.js +405 -0
  189. package/dist/shaders/misc.js.map +1 -0
  190. package/dist/shaders/noise.js +157 -0
  191. package/dist/shaders/noise.js.map +1 -0
  192. package/dist/shaders/pbr.js +132 -0
  193. package/dist/shaders/pbr.js.map +1 -0
  194. package/dist/shaders/shadow.js +642 -0
  195. package/dist/shaders/shadow.js.map +1 -0
  196. package/dist/shaders/water.js +630 -0
  197. package/dist/shaders/water.js.map +1 -0
  198. package/dist/shadow/esm.js +235 -0
  199. package/dist/shadow/esm.js.map +1 -0
  200. package/dist/shadow/pcf_opt.js +182 -0
  201. package/dist/shadow/pcf_opt.js.map +1 -0
  202. package/dist/shadow/pcf_pd.js +190 -0
  203. package/dist/shadow/pcf_pd.js.map +1 -0
  204. package/dist/shadow/shadow_impl.js +15 -0
  205. package/dist/shadow/shadow_impl.js.map +1 -0
  206. package/dist/shadow/shadowmapper.js +709 -0
  207. package/dist/shadow/shadowmapper.js.map +1 -0
  208. package/dist/shadow/ssm.js +194 -0
  209. package/dist/shadow/ssm.js.map +1 -0
  210. package/dist/shadow/vsm.js +298 -0
  211. package/dist/shadow/vsm.js.map +1 -0
  212. package/dist/shapes/box.js +313 -0
  213. package/dist/shapes/box.js.map +1 -0
  214. package/dist/shapes/cylinder.js +74 -0
  215. package/dist/shapes/cylinder.js.map +1 -0
  216. package/dist/shapes/plane.js +48 -0
  217. package/dist/shapes/plane.js.map +1 -0
  218. package/dist/shapes/shape.js +33 -0
  219. package/dist/shapes/shape.js.map +1 -0
  220. package/dist/shapes/sphere.js +91 -0
  221. package/dist/shapes/sphere.js.map +1 -0
  222. package/dist/shapes/torus.js +100 -0
  223. package/dist/shapes/torus.js.map +1 -0
  224. package/dist/utility/aabbtree.js +390 -0
  225. package/dist/utility/aabbtree.js.map +1 -0
  226. package/dist/utility/bounding_volume.js +78 -0
  227. package/dist/utility/bounding_volume.js.map +1 -0
  228. package/dist/utility/panorama.js +163 -0
  229. package/dist/utility/panorama.js.map +1 -0
  230. package/dist/utility/pmrem.js +345 -0
  231. package/dist/utility/pmrem.js.map +1 -0
  232. package/dist/utility/shprojection.js +448 -0
  233. package/dist/utility/shprojection.js.map +1 -0
  234. package/dist/values.js +48 -0
  235. package/dist/values.js.map +1 -0
  236. package/package.json +70 -0
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Base interface for any kind loaders
3
+ * @public
4
+ */ class LoaderBase {
5
+ /** @internal */ _urlResolver;
6
+ /**
7
+ * Creates an instance of LoaderBase
8
+ */ constructor(){
9
+ this._urlResolver = null;
10
+ }
11
+ /**
12
+ * URL resolver for the loader
13
+ */ get urlResolver() {
14
+ return this._urlResolver;
15
+ }
16
+ set urlResolver(resolver) {
17
+ this._urlResolver = resolver;
18
+ }
19
+ /**
20
+ * Sends a GET request
21
+ * @param url - The URL to get
22
+ * @param headers - The headers for the request
23
+ * @param crossOrigin - crossOrigin property for the request
24
+ * @returns Response of the request
25
+ */ async request(url, headers = {}, crossOrigin = 'anonymous') {
26
+ url = this._urlResolver ? this._urlResolver(url) : null;
27
+ return url ? fetch(url, {
28
+ credentials: crossOrigin === 'anonymous' ? 'same-origin' : 'include',
29
+ headers: headers
30
+ }) : null;
31
+ }
32
+ }
33
+ /**
34
+ * Base class for any kind of texture loaders
35
+ * @public
36
+ */ class AbstractTextureLoader extends LoaderBase {
37
+ }
38
+ /**
39
+ * Base class for any kind of model loaders
40
+ * @public
41
+ */ class AbstractModelLoader extends LoaderBase {
42
+ }
43
+
44
+ export { AbstractModelLoader, AbstractTextureLoader, LoaderBase };
45
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,264 @@
1
+ import { Vector3, Quaternion, Matrix4x4 } from '@zephyr3d/base';
2
+
3
+ /**
4
+ * Named object interface for model loading
5
+ * @public
6
+ */ class NamedObject {
7
+ name;
8
+ /**
9
+ * Creates an instance of NamedObject
10
+ * @param name - Name of the object
11
+ */ constructor(name){
12
+ this.name = name;
13
+ }
14
+ }
15
+ /**
16
+ * Heirarchical node interface for model loading
17
+ * @public
18
+ */ class AssetHierarchyNode extends NamedObject {
19
+ _parent;
20
+ _position;
21
+ _rotation;
22
+ _scaling;
23
+ _mesh;
24
+ _skeleton;
25
+ _attachToSkeleton;
26
+ _attachIndex;
27
+ _meshAttached;
28
+ _matrix;
29
+ _worldMatrix;
30
+ _children;
31
+ /**
32
+ * Creates an instance of AssetHierarchyNode
33
+ * @param name - Name of the node
34
+ * @param parent - Parent of the node
35
+ */ constructor(name, parent){
36
+ super(name);
37
+ this._parent = null;
38
+ this._position = Vector3.zero();
39
+ this._rotation = Quaternion.identity();
40
+ this._scaling = Vector3.one();
41
+ this._children = [];
42
+ this._mesh = null;
43
+ this._skeleton = null;
44
+ this._attachToSkeleton = null;
45
+ this._meshAttached = false;
46
+ this._attachIndex = -1;
47
+ this._matrix = null;
48
+ this._worldMatrix = null;
49
+ parent?.addChild(this);
50
+ }
51
+ /** Parent of the node */ get parent() {
52
+ return this._parent;
53
+ }
54
+ /** Local transformation matrix of the node */ get matrix() {
55
+ return this._matrix;
56
+ }
57
+ /** World transformation matrix of the node */ get worldMatrix() {
58
+ return this._worldMatrix;
59
+ }
60
+ /** Mesh data of the node, or null if this is not a mesh node */ get mesh() {
61
+ return this._mesh;
62
+ }
63
+ set mesh(data) {
64
+ this._mesh = data;
65
+ this.setMeshAttached();
66
+ }
67
+ /** The skeleton used to control the node */ get skeleton() {
68
+ return this._skeleton;
69
+ }
70
+ set skeleton(skeleton) {
71
+ this._skeleton = skeleton;
72
+ }
73
+ /** The translation of the node */ get position() {
74
+ return this._position;
75
+ }
76
+ set position(val) {
77
+ this._position = val;
78
+ }
79
+ /** The rotation of the node */ get rotation() {
80
+ return this._rotation;
81
+ }
82
+ set rotation(val) {
83
+ this._rotation = val;
84
+ }
85
+ /** The scale of the node */ get scaling() {
86
+ return this._scaling;
87
+ }
88
+ set scaling(val) {
89
+ this._scaling = val;
90
+ }
91
+ /** true if the node is parent of a mesh node */ get meshAttached() {
92
+ return this._meshAttached;
93
+ }
94
+ /** Children of the node */ get children() {
95
+ return this._children;
96
+ }
97
+ /** The skeleton to which the node belongs if this is a joint node */ get skeletonAttached() {
98
+ return this._attachToSkeleton;
99
+ }
100
+ /** The joint index if this is a joint node */ get attachIndex() {
101
+ return this._attachIndex;
102
+ }
103
+ /** @internal */ computeTransforms(parentTransform) {
104
+ this._matrix = Matrix4x4.scaling(this._scaling).rotateLeft(this._rotation).translateLeft(this._position);
105
+ this._worldMatrix = parentTransform ? Matrix4x4.multiply(parentTransform, this._matrix) : new Matrix4x4(this._matrix);
106
+ for (const child of this._children){
107
+ child.computeTransforms(this._worldMatrix);
108
+ }
109
+ }
110
+ /**
111
+ * Adds a child to this node
112
+ * @param child - The child node to be added
113
+ */ addChild(child) {
114
+ if (!child || child.parent) {
115
+ throw new Error('AssetHierarchyNode.addChild(): invalid child node');
116
+ }
117
+ this._children.push(child);
118
+ child._parent = this;
119
+ if (child.meshAttached) {
120
+ this.setMeshAttached();
121
+ }
122
+ }
123
+ /**
124
+ * Removes a child of this node
125
+ * @param child - The child node to be removed
126
+ */ removeChild(child) {
127
+ const index = this._children.indexOf(child);
128
+ if (index < 0) {
129
+ throw new Error('AssetHierarchyNode.removeChild(): invalid child node');
130
+ }
131
+ this._children[index]._parent = null;
132
+ this._children.splice(index, 1);
133
+ }
134
+ /**
135
+ * Attach this node to a skeleton
136
+ * @param skeleton - The skeleton to which to node will attach
137
+ * @param index - The joint index
138
+ */ attachToSkeleton(skeleton, index) {
139
+ if (this._attachToSkeleton && skeleton !== this._attachToSkeleton) {
140
+ throw new Error(`joint can not attached to multiple skeletons`);
141
+ }
142
+ this._attachToSkeleton = skeleton;
143
+ this._attachIndex = index;
144
+ }
145
+ /** @internal */ setMeshAttached() {
146
+ this._meshAttached = true;
147
+ this._parent?.setMeshAttached();
148
+ }
149
+ }
150
+ /**
151
+ * Skeleton information for model loading
152
+ * @public
153
+ */ class AssetSkeleton extends NamedObject {
154
+ /** The pivot node */ pivot;
155
+ /** Joints of the skeleton */ joints;
156
+ /** Inverse of the binding matrices of the joints */ inverseBindMatrices;
157
+ /** Binding pose matrices of the joints */ bindPoseMatrices;
158
+ /**
159
+ * Creates an instance of AssetSkeleton
160
+ * @param name - Name of the skeleton
161
+ */ constructor(name){
162
+ super(name);
163
+ this.name = name;
164
+ this.pivot = null;
165
+ this.joints = [];
166
+ this.inverseBindMatrices = [];
167
+ this.bindPoseMatrices = [];
168
+ }
169
+ /**
170
+ * Adds a joint to the skeleton
171
+ * @param joint - The joint node
172
+ * @param inverseBindMatrix - Inverse binding matrix of the joint
173
+ */ addJoint(joint, inverseBindMatrix) {
174
+ joint.attachToSkeleton(this, this.joints.length);
175
+ this.joints.push(joint);
176
+ this.inverseBindMatrices.push(inverseBindMatrix);
177
+ this.bindPoseMatrices.push(joint.worldMatrix);
178
+ }
179
+ }
180
+ /**
181
+ * Scene for model loading
182
+ * @public
183
+ */ class AssetScene extends NamedObject {
184
+ /** Root nodes of the scene */ rootNodes;
185
+ /**
186
+ * Creates an instance of AssetScene
187
+ * @param name - Name of the scene
188
+ */ constructor(name){
189
+ super(name);
190
+ this.rootNodes = [];
191
+ }
192
+ }
193
+ /**
194
+ * Model information that can be shared by multiple model nodes
195
+ * @public
196
+ */ class SharedModel {
197
+ /** @internal */ _name;
198
+ /** @internal */ _skeletons;
199
+ /** @internal */ _nodes;
200
+ /** @internal */ _animations;
201
+ /** @internal */ _scenes;
202
+ /** @internal */ _activeScene;
203
+ /**
204
+ * Creates an instance of SharedModel
205
+ * @param name - Name of the model
206
+ */ constructor(name){
207
+ this._name = name || '';
208
+ this._skeletons = [];
209
+ this._nodes = [];
210
+ this._scenes = [];
211
+ this._animations = [];
212
+ this._activeScene = -1;
213
+ }
214
+ /** Name of the model */ get name() {
215
+ return this._name;
216
+ }
217
+ set name(val) {
218
+ this._name = val;
219
+ }
220
+ /** All scenes that the model contains */ get scenes() {
221
+ return this._scenes;
222
+ }
223
+ /** All animations that the model contains */ get animations() {
224
+ return this._animations;
225
+ }
226
+ /** All skeletons that the model contains */ get skeletons() {
227
+ return this._skeletons;
228
+ }
229
+ /** All nodes that the model contains */ get nodes() {
230
+ return this._nodes;
231
+ }
232
+ /** The active scene of the model */ get activeScene() {
233
+ return this._activeScene;
234
+ }
235
+ set activeScene(val) {
236
+ this._activeScene = val;
237
+ }
238
+ /**
239
+ * Adds a node to the scene
240
+ * @param parent - Under which node the node should be added
241
+ * @param index - Index of the node
242
+ * @param name - Name of the node
243
+ * @returns The added node
244
+ */ addNode(parent, index, name) {
245
+ const childNode = new AssetHierarchyNode(name, parent);
246
+ this._nodes[index] = childNode;
247
+ return childNode;
248
+ }
249
+ /**
250
+ * Adds a skeleton to the scene
251
+ * @param skeleton - The skeleton to be added
252
+ */ addSkeleton(skeleton) {
253
+ this._skeletons.push(skeleton);
254
+ }
255
+ /**
256
+ * Adds an animation to the scene
257
+ * @param animation - The animation to be added
258
+ */ addAnimation(animation) {
259
+ this._animations.push(animation);
260
+ }
261
+ }
262
+
263
+ export { AssetHierarchyNode, AssetScene, AssetSkeleton, NamedObject, SharedModel };
264
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}