@woosh/meep-engine 2.33.6 → 2.33.11
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/core/binary/BinaryBuffer.js +26 -2
- package/core/bvh2/LeafNode.js +6 -1
- package/core/bvh2/aabb3/AABB3.js +17 -0
- package/core/collection/set/compute_set_difference.js +32 -0
- package/core/collection/set/compute_set_intersection.js +22 -0
- package/core/collection/set/set_remove.js +15 -0
- package/core/collection/table/DataType2TypedArrayConstructorMapping.js +2 -0
- package/core/collection/table/DataTypeByteSizes.js +21 -0
- package/core/collection/table/RowFirstTable.js +1 -88
- package/core/collection/table/RowFirstTable.spec.js +3 -1
- package/core/collection/table/RowFirstTableSpec.js +1 -19
- package/core/collection/table/computeDataTypeByIndex.js +21 -0
- package/core/collection/table/deserializeRowFirstTable.js +48 -0
- package/core/collection/table/serializeRowFirstTable.js +27 -0
- package/core/color/Color.js +1 -0
- package/core/color/ColorUtils.js +12 -3
- package/core/geom/3d/aabb/aabb3_from_min_max.js +15 -0
- package/core/geom/3d/aabb/aabb3_matrix4_project_by_corners.js +96 -0
- package/{engine/graphics/micron/render/v1 → core/geom/3d}/apply_mat4_transform_to_v3_array.js +0 -0
- package/{engine/graphics/micron/build/bounds → core/geom/3d}/compute_bounding_cone_of_2_cones.js +3 -3
- package/{engine/graphics/micron/build/bounds → core/geom/3d}/compute_bounding_cone_of_2_cones.spec.js +1 -1
- package/{engine/graphics/micron/build/bounds → core/geom/3d}/compute_bounding_sphere_of_2_spheres.js +3 -3
- package/{engine/graphics/micron/util → core/geom/3d}/encode_unit3_hemioct.js +0 -0
- package/{engine/graphics/micron/render/refinement → core/geom/3d/frustum}/array_normalize_plane.js +1 -1
- package/{engine/graphics/micron/render/refinement → core/geom/3d/frustum}/array_setFromProjectionMatrix.js +2 -2
- package/{engine/graphics/micron/util → core/geom/3d}/unit_hemioct.spec.js +1 -1
- package/{engine/graphics/micron/build → core}/graph/MultiNode.js +0 -0
- package/{engine/graphics/micron/build → core}/graph/SquareMatrix.js +2 -2
- package/{engine/graphics/micron/build → core}/graph/SquareMatrix.spec.js +1 -1
- package/{engine/graphics/micron/build → core}/graph/WeightedEdge.js +1 -1
- package/{engine/graphics/micron/build → core}/graph/build_face_graph_from_mesh.js +2 -2
- package/{engine/graphics/micron/build/clustering → core/graph}/cluster_mesh_metis.js +2 -6
- package/{engine/graphics/micron/build → core}/graph/coarsen_graph.js +1 -1
- package/{engine/graphics/micron/build → core}/graph/coarsen_graph.spec.js +1 -1
- package/{engine/graphics/micron/build → core}/graph/eigen/eigen.js +0 -0
- package/{engine/graphics/micron/build → core}/graph/eigen/eigen.spec.js +1 -1
- package/{engine/graphics/micron/build/hierarchy → core/graph/eigen}/eigen_values_find_spectral_gap.js +0 -0
- package/{engine/graphics/micron/build → core}/graph/graph_adjacency_matrix.js +0 -0
- package/{engine/graphics/micron/build → core}/graph/graph_compute_disconnected_clusters.js +0 -0
- package/{engine/graphics/micron/build → core}/graph/graph_degree_matrix.js +0 -0
- package/{engine/graphics/micron/build → core}/graph/graph_k_means_cluster.js +5 -5
- package/{engine/graphics/micron/build → core}/graph/graph_laplacian_matrix.js +1 -1
- package/{engine/graphics/micron/build → core}/graph/metis/metis.js +2 -2
- package/{engine/graphics/micron/build → core}/graph/metis/metis_options.js +0 -0
- package/{engine/graphics/micron/build → core}/graph/mn_graph_collapse_weighted_edge.js +0 -0
- package/core/process/worker/WorkerBuilder.js +21 -6
- package/engine/Engine.d.ts +2 -0
- package/engine/EngineHarness.js +4 -4
- package/engine/ecs/foliage/InstancedFoliage.js +3 -5
- package/engine/ecs/fow/serialization/FogOfWarSerializationAdapter.js +2 -1
- package/engine/ecs/transform/Transform.js +2 -1
- package/engine/graphics/ecs/mesh/updateNodeByTransformAndBBB.js +22 -37
- package/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +155 -0
- package/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js +68 -0
- package/engine/graphics/ecs/mesh-v2/prototypeShadedGeometry.js +31 -0
- package/engine/graphics/{micron → geometry}/aabb3_to_buffer_geometry.js +0 -0
- package/engine/graphics/{micron/build → geometry/buffered}/compute_buffer_geometry_byte_size.js +0 -0
- package/engine/graphics/micron/build/buildMicronGeometryFromBufferGeometry.js +1 -1
- package/engine/graphics/micron/build/clustering/build_clustering_2.js +2 -2
- package/engine/graphics/micron/build/clustering/build_leaf_patches_metis.js +1 -1
- package/engine/graphics/micron/build/hierarchy/buildAbstractPatchHierarchy.js +3 -3
- package/engine/graphics/micron/build/hierarchy/build_intermediate_patch_topology.js +0 -72
- package/engine/graphics/micron/build/hierarchy/build_merge_graph.js +2 -2
- package/engine/graphics/micron/build/hierarchy/computePatchMergeScore.js +3 -3
- package/engine/graphics/micron/build/hierarchy/merge_patches.js +6 -3
- package/engine/graphics/micron/build/hierarchy/metis_cluster_clusters.js +1 -1
- package/engine/graphics/micron/build/hierarchy/optimize_graph_partitioning_balance.js +1 -1
- package/engine/graphics/micron/build/hierarchy/patch_combine.js +2 -2
- package/engine/graphics/micron/build/hierarchy/qvdr_build_simplified_clusters.js +2 -1
- package/engine/graphics/micron/format/MicronGeometry.js +12 -0
- package/engine/graphics/micron/format/MicronGeometryBufferAttributeSpec.js +1 -1
- package/engine/graphics/micron/format/MicronGeometryPatch.js +6 -6
- package/engine/graphics/micron/format/serialization/MicronGeometryBinarySerializationAdapter.js +101 -0
- package/engine/graphics/micron/format/serialization/deserialize_attribute_spec.js +25 -0
- package/engine/graphics/micron/format/serialization/deserialize_patch.js +104 -0
- package/engine/graphics/micron/format/serialization/serialize_attribute_spec.js +18 -0
- package/engine/graphics/micron/format/serialization/serialize_patch.js +84 -0
- package/engine/graphics/micron/render/culling/{PathCullingSystem.js → PatchCullingSystem.js} +1 -1
- package/engine/graphics/micron/render/instanced/AttributeDataTexture.js +1 -1
- package/engine/graphics/micron/render/refinement/RefinementSpec.js +1 -1
- package/engine/graphics/micron/render/v1/getTransformedPositionsCached.js +1 -1
- package/engine/graphics/render/forward_plus/data/TextureBackedMemoryRegion.js +1 -1
- package/engine/graphics/render/visibility/hiz/prototypeHiZ.js +11 -6
- package/engine/graphics/texture/sampler/TextureBinaryBufferSerializer.js +1 -1
- package/engine/network/convertPathToURL.js +7 -1
- package/engine/plugin/EnginePluginManager.d.ts +9 -0
- package/engine/reference/v2/Reference.d.ts +7 -0
- package/package.json +1 -1
- package/engine/graphics/micron/build/clustering/cluster_mesh_vertices.js +0 -3
|
@@ -65,13 +65,12 @@ import LabelView from "../../../../../view/common/LabelView.js";
|
|
|
65
65
|
import { randomFloatBetween } from "../../../../../core/math/MathUtils.js";
|
|
66
66
|
import { seededRandom } from "../../../../../core/math/random/seededRandom.js";
|
|
67
67
|
import { Sampler2D } from "../../../texture/sampler/Sampler2D.js";
|
|
68
|
-
import { RefinementSpec } from "../../../micron/render/refinement/RefinementSpec.js";
|
|
69
|
-
import { Matrix4 } from "three";
|
|
70
68
|
import { inverseLerp } from "../../../../../core/math/inverseLerp.js";
|
|
71
69
|
import { clamp } from "../../../../../core/math/clamp.js";
|
|
72
70
|
import { max2 } from "../../../../../core/math/max2.js";
|
|
73
71
|
import { min2 } from "../../../../../core/math/min2.js";
|
|
74
72
|
import { buildCubeURLs } from "../../../texture/cubemap/buildCubeURLs.js";
|
|
73
|
+
import { mat4 } from "gl-matrix";
|
|
75
74
|
|
|
76
75
|
const engineHarness = new EngineHarness();
|
|
77
76
|
|
|
@@ -219,8 +218,14 @@ function prepare_query_test(hiz, graphics, ecd) {
|
|
|
219
218
|
|
|
220
219
|
function prepare_query() {
|
|
221
220
|
|
|
222
|
-
const
|
|
223
|
-
|
|
221
|
+
const camera = graphics.camera;
|
|
222
|
+
|
|
223
|
+
const projection = mat4.create();
|
|
224
|
+
const world_inverse = camera.matrixWorldInverse.elements;
|
|
225
|
+
const camera_projection = camera.projectionMatrix.elements;
|
|
226
|
+
|
|
227
|
+
mat4.copy(projection, world_inverse);
|
|
228
|
+
mat4.multiply(projection, camera_projection, projection);
|
|
224
229
|
|
|
225
230
|
for (let i = 0; i < query.getSize(); i++) {
|
|
226
231
|
const entity = entities[i];
|
|
@@ -237,7 +242,7 @@ function prepare_query_test(hiz, graphics, ecd) {
|
|
|
237
242
|
|
|
238
243
|
mesh.bvh.writeToArray(aabb, 0);
|
|
239
244
|
|
|
240
|
-
query.setElement(i, aabb,
|
|
245
|
+
query.setElement(i, aabb, projection);
|
|
241
246
|
}
|
|
242
247
|
|
|
243
248
|
}
|
|
@@ -412,7 +417,7 @@ function main(engine) {
|
|
|
412
417
|
metrics.get('hiz_build').record(t1 - t0);
|
|
413
418
|
|
|
414
419
|
|
|
415
|
-
preview.texture = hiz.mips[
|
|
420
|
+
preview.texture = hiz.mips[1].texture;
|
|
416
421
|
|
|
417
422
|
preview.render();
|
|
418
423
|
|
|
@@ -2,8 +2,8 @@ import { DataTypeIndices } from "../../../../core/collection/table/DataTypeIndic
|
|
|
2
2
|
import { Sampler2D } from "./Sampler2D.js";
|
|
3
3
|
import { EndianType } from "../../../../core/binary/BinaryBuffer.js";
|
|
4
4
|
import { DataType } from "../../../../core/collection/table/DataType.js";
|
|
5
|
-
import { DataTypeByteSizes } from "../../../../core/collection/table/RowFirstTableSpec.js";
|
|
6
5
|
import { assert } from "../../../../core/assert.js";
|
|
6
|
+
import { DataTypeByteSizes } from "../../../../core/collection/table/DataTypeByteSizes.js";
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -11,8 +11,8 @@ function isGlobalPath(path) {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
// *** Environment setup code ***
|
|
14
|
-
const ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function';
|
|
15
14
|
const ENVIRONMENT_IS_WEB = typeof window === 'object';
|
|
15
|
+
const ENVIRONMENT_IS_NODE = typeof process === 'object' && !ENVIRONMENT_IS_WEB;
|
|
16
16
|
const ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
|
|
17
17
|
const ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
|
|
18
18
|
|
|
@@ -34,6 +34,12 @@ export function convertPathToURL(path) {
|
|
|
34
34
|
scope = window;
|
|
35
35
|
} else if (ENVIRONMENT_IS_WORKER) {
|
|
36
36
|
scope = self;
|
|
37
|
+
} else if (ENVIRONMENT_IS_NODE) {
|
|
38
|
+
scope = {
|
|
39
|
+
location: new URL(import.meta.url)
|
|
40
|
+
};
|
|
41
|
+
} else {
|
|
42
|
+
throw new Error('Unknown environment');
|
|
37
43
|
}
|
|
38
44
|
|
|
39
45
|
const location = scope.location;
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"productName": "Meep",
|
|
5
5
|
"description": "production-ready JavaScript game engine based on Entity Component System Architecture",
|
|
6
6
|
"author": "Alexander Goldring",
|
|
7
|
-
"version": "2.33.
|
|
7
|
+
"version": "2.33.11",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"fast-levenshtein": "2.0.6",
|
|
10
10
|
"opentype.js": "1.3.3",
|