@woosh/meep-engine 2.48.13 → 2.48.14
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.
- package/package.json +1 -1
- package/src/core/font/FontAssetLoader.js +2 -2
- package/src/core/math/bessel_3.js +3 -1
- package/src/core/path/computeFileExtension.js +3 -2
- package/src/engine/Engine.js +5 -3
- package/src/engine/achievements/AchievementManager.js +16 -16
- package/src/engine/asset/AssetManager.d.ts +1 -1
- package/src/engine/asset/AssetManager.js +58 -16
- package/src/engine/asset/AssetManager.spec.js +1 -1
- package/src/engine/asset/AssetRequest.js +19 -1
- package/src/engine/asset/AssetRequestScope.d.ts +3 -0
- package/src/engine/asset/AssetRequestScope.js +64 -0
- package/src/engine/asset/PendingAsset.js +1 -1
- package/src/engine/asset/loaders/ArrayBufferLoader.js +1 -1
- package/src/engine/asset/loaders/AssetLoader.d.ts +3 -1
- package/src/engine/asset/loaders/AssetLoader.js +3 -2
- package/src/engine/asset/loaders/GLTFAssetLoader.d.ts +1 -1
- package/src/engine/asset/loaders/GLTFAssetLoader.js +1 -1
- package/src/engine/asset/loaders/JavascriptAssetLoader.js +17 -12
- package/src/engine/asset/loaders/JsonAssetLoader.js +1 -1
- package/src/engine/asset/loaders/LegacyThreeJSONAssetLoader.js +4 -1
- package/src/engine/asset/loaders/SVGAssetLoader.js +1 -1
- package/src/engine/asset/loaders/SoundAssetLoader.js +1 -1
- package/src/engine/asset/loaders/TextAssetLoader.js +1 -1
- package/src/engine/asset/loaders/image/ImageRGBADataLoader.js +24 -17
- package/src/engine/asset/loaders/texture/TextureAssetLoader.d.ts +1 -1
- package/src/engine/asset/loaders/texture/TextureAssetLoader.js +1 -1
- package/src/engine/asset/preloader/Preloader.js +1 -1
- package/src/engine/ecs/foliage/ecs/Foliage2System.js +7 -5
- package/src/engine/ecs/sockets/serialization/AttachmentSocketsAssetLoader.js +2 -2
- package/src/engine/ecs/terrain/ecs/PromiseSamplerHeight.js +16 -9
- package/src/engine/ecs/terrain/ecs/splat/SplatMapping.js +16 -11
- package/src/engine/ecs/terrain/serialization/TerrainSerializationAdapter.js +1 -1
- package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/AnimationGraphDefinitionAssetLoader.js +18 -15
- package/src/engine/graphics/ecs/mesh/MeshSystem.js +1 -1
- package/src/engine/graphics/ecs/path/tube/build/TubePathBuilder.js +6 -4
- package/src/engine/graphics/material/getTextureImmediate.js +5 -3
- package/src/engine/graphics/texture/atlas/ManagedTextureAtlas.js +1 -1
- package/src/engine/graphics/texture/sampler/Sampler2D.js +20 -11
- package/src/engine/graphics/texture/sampler/filter/box.js +3 -3
- package/src/engine/graphics/texture/sampler/filter/kaiser_bessel_window.js +2 -1
- package/src/engine/graphics/texture/sampler/genericResampleSampler2D.js +9 -8
- package/src/engine/graphics/texture/sampler/loadSampler2D.js +18 -16
- package/src/engine/graphics/texture/sampler/sampler2d_scale_down_linear.js +8 -11
- package/src/engine/graphics/texture/virtual/tile/TileLoader.js +1 -1
- package/src/engine/graphics/trail/x/RibbonXPlugin.js +5 -3
- package/src/engine/knowledge/database/StaticKnowledgeDataTable.js +1 -1
- package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.js +1 -1
- package/src/view/elements/MeshPreview.js +66 -64
- package/src/view/elements/image/SvgImageView.js +8 -6
- package/src/view/renderModel.js +1 -1
|
@@ -110,91 +110,93 @@ class MeshPreview extends View {
|
|
|
110
110
|
const self = this;
|
|
111
111
|
|
|
112
112
|
this.pContents = new Promise(function (resolve, reject) {
|
|
113
|
-
assetManager.get(
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const camera = preview.camera;
|
|
122
|
-
const scene = preview.scene;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
//wrap mesh so it stays centered relative to bb
|
|
126
|
-
const group = new Group();
|
|
127
|
-
|
|
128
|
-
const wrapAll = false;
|
|
129
|
-
if (wrapAll) {
|
|
130
|
-
const objects = scene.children.slice();
|
|
131
|
-
scene.children = [];
|
|
132
|
-
|
|
133
|
-
objects.forEach(function (o) {
|
|
134
|
-
group.add(o);
|
|
113
|
+
assetManager.get({
|
|
114
|
+
path: url, type: mimeType, callback: function (asset) {
|
|
115
|
+
const mesh = asset.create();
|
|
116
|
+
const preview = makeMeshPreviewScene(mesh, size, {
|
|
117
|
+
x0: 0,
|
|
118
|
+
y0: 0,
|
|
119
|
+
x1: 1,
|
|
120
|
+
y1: 1
|
|
135
121
|
});
|
|
136
|
-
|
|
137
|
-
scene.
|
|
138
|
-
group.add(mesh);
|
|
139
|
-
}
|
|
140
|
-
|
|
122
|
+
const camera = preview.camera;
|
|
123
|
+
const scene = preview.scene;
|
|
141
124
|
|
|
142
|
-
scene.add(group);
|
|
143
125
|
|
|
144
|
-
|
|
145
|
-
|
|
126
|
+
//wrap mesh so it stays centered relative to bb
|
|
127
|
+
const group = new Group();
|
|
146
128
|
|
|
129
|
+
const wrapAll = false;
|
|
130
|
+
if (wrapAll) {
|
|
131
|
+
const objects = scene.children.slice();
|
|
132
|
+
scene.children = [];
|
|
147
133
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
134
|
+
objects.forEach(function (o) {
|
|
135
|
+
group.add(o);
|
|
136
|
+
});
|
|
137
|
+
} else {
|
|
138
|
+
scene.remove(mesh);
|
|
139
|
+
group.add(mesh);
|
|
151
140
|
}
|
|
152
|
-
|
|
153
|
-
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
scene.add(group);
|
|
144
|
+
|
|
145
|
+
self.camera = camera;
|
|
146
|
+
self.scene = scene;
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
if (hooks !== undefined) {
|
|
150
|
+
if (typeof hooks.meshAdded === "function") {
|
|
151
|
+
hooks.meshAdded(mesh);
|
|
152
|
+
}
|
|
153
|
+
if (typeof hooks.sceneConstructed === "function") {
|
|
154
|
+
hooks.sceneConstructed(scene, mesh, camera, group);
|
|
155
|
+
}
|
|
154
156
|
}
|
|
155
|
-
}
|
|
156
157
|
|
|
157
|
-
|
|
158
|
+
mesh.rotation.y = -Math.PI / 6;
|
|
158
159
|
|
|
159
|
-
|
|
160
|
+
//
|
|
160
161
|
|
|
161
|
-
|
|
162
|
+
function playAnimation(animationName) {
|
|
162
163
|
|
|
163
|
-
|
|
164
|
+
const mixer = new AnimationMixer(mesh);
|
|
164
165
|
|
|
165
|
-
|
|
166
|
+
let clipAction = null;
|
|
166
167
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
168
|
+
const animations = asset.animations;
|
|
169
|
+
if (animations !== undefined) {
|
|
170
|
+
self.__animationMixer = mixer;
|
|
171
|
+
for (let i = 0; i < animations.length; i++) {
|
|
172
|
+
const animation = animations[i];
|
|
173
|
+
if (animation.name === animationName) {
|
|
174
|
+
const root = null;
|
|
175
|
+
clipAction = mixer.clipAction(animation, root);
|
|
176
|
+
//bail, correct animation found
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
177
179
|
}
|
|
178
180
|
}
|
|
179
|
-
}
|
|
180
181
|
|
|
181
|
-
|
|
182
|
-
|
|
182
|
+
if (clipAction !== null) {
|
|
183
|
+
clipAction.play();
|
|
184
|
+
}
|
|
183
185
|
}
|
|
184
|
-
}
|
|
185
186
|
|
|
186
187
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
188
|
+
if (animation !== null) {
|
|
189
|
+
playAnimation(animation);
|
|
190
|
+
}
|
|
190
191
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
192
|
+
resolve({
|
|
193
|
+
group
|
|
194
|
+
});
|
|
194
195
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
196
|
+
}, failure: function () {
|
|
197
|
+
console.error(arguments);
|
|
198
|
+
reject(arguments);
|
|
199
|
+
}
|
|
198
200
|
});
|
|
199
201
|
});
|
|
200
202
|
|
|
@@ -29,12 +29,14 @@ class SvgImageView extends View {
|
|
|
29
29
|
|
|
30
30
|
const self = this;
|
|
31
31
|
|
|
32
|
-
assetManager.get(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
assetManager.get({
|
|
33
|
+
path: url, type: "image/svg", callback: function (asset) {
|
|
34
|
+
const svgDom = asset.create();
|
|
35
|
+
elIcon.appendChild(svgDom);
|
|
36
|
+
resize(self.size.x, self.size.y);
|
|
37
|
+
}, failure: function (error) {
|
|
38
|
+
console.error("Failed to load icon: " + url, error);
|
|
39
|
+
}
|
|
38
40
|
});
|
|
39
41
|
|
|
40
42
|
let currentScale = 1;
|
package/src/view/renderModel.js
CHANGED
|
@@ -80,7 +80,7 @@ function makeModelView(url, assetManager, size, renderer, focus) {
|
|
|
80
80
|
|
|
81
81
|
const assetType = guessAssetType(url);
|
|
82
82
|
|
|
83
|
-
assetManager.get(url, assetType, success, reject);
|
|
83
|
+
assetManager.get({ path: url, type: assetType, callback: success, failure: reject });
|
|
84
84
|
});
|
|
85
85
|
|
|
86
86
|
const task = futureTask(dataURL, "Building Image URL");
|