@woosh/meep-engine 2.66.0 → 2.68.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 (58) hide show
  1. package/build/meep.cjs +127 -1756
  2. package/build/meep.min.js +1 -1
  3. package/build/meep.module.js +127 -1756
  4. package/package.json +1 -1
  5. package/src/engine/graphics/GraphicsEngine.js +16 -25
  6. package/src/engine/graphics/camera/testClippingPlaneComputation.js +5 -5
  7. package/src/engine/graphics/ecs/compileAllMaterials.js +5 -12
  8. package/src/engine/graphics/ecs/mesh/Mesh.d.ts +0 -1
  9. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.d.ts +0 -5
  10. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +0 -1
  11. package/src/engine/graphics/ecs/mesh-v2/sample/prototypeShadedGeometry.js +22 -24
  12. package/src/engine/graphics/ecs/mesh-v2/sample/prototype_sg_raycast.js +21 -23
  13. package/src/engine/graphics/material/optimization/prototypeMaterialOptimizer.js +16 -19
  14. package/src/engine/graphics/render/forward_plus/prototype/prototypeLightManager.js +46 -47
  15. package/src/engine/graphics/render/layers/RenderLayer.d.ts +0 -5
  16. package/src/engine/graphics/render/layers/RenderLayer.js +29 -45
  17. package/src/core/bvh2/BVHTasks.js +0 -65
  18. package/src/core/bvh2/BinaryNode.d.ts +0 -13
  19. package/src/core/bvh2/BinaryNode.js +0 -1188
  20. package/src/core/bvh2/BinaryNode.spec.js +0 -309
  21. package/src/core/bvh2/LeafNode.d.ts +0 -7
  22. package/src/core/bvh2/LeafNode.js +0 -147
  23. package/src/core/bvh2/Node.d.ts +0 -9
  24. package/src/core/bvh2/Node.js +0 -196
  25. package/src/core/bvh2/NodeValidator.js +0 -197
  26. package/src/core/bvh2/StacklessTraverser.js +0 -154
  27. package/src/core/bvh2/StacklessTraverser.spec.js +0 -109
  28. package/src/core/bvh2/serialization/deserializeBinaryNode.js +0 -40
  29. package/src/core/bvh2/serialization/deserializeBinaryNodeFromBinaryBuffer.js +0 -90
  30. package/src/core/bvh2/serialization/serializeBinaryNode.js +0 -31
  31. package/src/core/bvh2/serialization/serializeBinaryNodeToBinaryBuffer.js +0 -86
  32. package/src/core/bvh2/transform/BottomUpOptimizingRebuilder.js +0 -144
  33. package/src/core/bvh2/transform/RotationOptimizer.js +0 -123
  34. package/src/core/bvh2/transform/RotationOptimizer.spec.js +0 -303
  35. package/src/core/bvh2/transform/tryRotateSingleNode.js +0 -260
  36. package/src/core/bvh2/traversal/BVHVisitor.js +0 -30
  37. package/src/core/bvh2/traversal/RaycastBVHVisitor.js +0 -66
  38. package/src/core/bvh2/traversal/ThreeClippingPlaneComputingBVHVisitor.js +0 -384
  39. package/src/core/bvh2/traversal/ThreeFrustumsIntersectionBVHVisitor.js +0 -52
  40. package/src/core/bvh2/traversal/bvh_traverse_pre_order_using_stack.js +0 -43
  41. package/src/core/bvh2/traversal/queryBinaryNode_ClippingPlanes.d.ts +0 -5
  42. package/src/core/bvh2/traversal/queryBinaryNode_ClippingPlanes.js +0 -66
  43. package/src/core/bvh2/traversal/queryBinaryNode_CollectData.js +0 -49
  44. package/src/core/bvh2/traversal/queryBinaryNode_CollectLeaves.js +0 -51
  45. package/src/core/bvh2/traversal/queryBinaryNode_FrustumIntersections.js +0 -77
  46. package/src/core/bvh2/traversal/queryBinaryNode_SphereIntersections.js +0 -63
  47. package/src/core/bvh2/traversal/traverseBinaryNodeUsingVisitor.js +0 -50
  48. package/src/core/bvh2/traversal/traverseBinaryNodeUsingVisitor_DepthFirst_PreOrder.js +0 -34
  49. package/src/core/bvh2/util/find_least_common_ancestor.js +0 -34
  50. package/src/core/bvh2/visual/convert_bvh_to_dot_format_string.js +0 -50
  51. package/src/core/geom/2d/bvh/BinaryNode2.js +0 -152
  52. package/src/core/geom/2d/bvh/LeafNode2.js +0 -11
  53. package/src/core/geom/2d/bvh/Node2.js +0 -51
  54. package/src/engine/ecs/terrain/tiles/FirstRayIntersectionTerrainBVHVisitor.js +0 -74
  55. package/src/engine/graphics/geometry/bvh/BVHFromGeometry.js +0 -72
  56. package/src/engine/graphics/geometry/bvh/buffered/BVHGeometryRaycaster.js +0 -240
  57. package/src/engine/graphics/geometry/bvh/buffered/IndexedTraingleBoundsComputer.js +0 -43
  58. package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_objects.js +0 -133
@@ -1,65 +0,0 @@
1
- import { RingBuffer } from "../collection/RingBuffer.js";
2
- import Task from "../process/task/Task.js";
3
- import { TaskSignal } from "../process/task/TaskSignal.js";
4
- import { optimize } from "./transform/RotationOptimizer.js";
5
-
6
-
7
- /**
8
- *
9
- * @param {BinaryNode} bvh
10
- * @param {number} iterationLength
11
- * @returns {Task}
12
- */
13
- export function buildTreeOptimizationTask(bvh, iterationLength) {
14
-
15
- const buffer = new RingBuffer(10);
16
-
17
- let cycles = 0;
18
- let sameChangeCountCycles = 0;
19
-
20
- //optimize bvh
21
- const task = new Task({
22
- name: "Optimization of Bounding Volume Hierarchy",
23
-
24
- initializer(task, executor) {
25
- cycles = 0;
26
- sameChangeCountCycles = 0;
27
- buffer.clear();
28
- },
29
-
30
- cycleFunction() {
31
- const optimizationsDone = optimize(bvh, iterationLength);
32
- if (optimizationsDone > 0) {
33
- console.log('otimization step.. changes: ', optimizationsDone);
34
-
35
- cycles += optimizationsDone;
36
- if (buffer.contains(optimizationsDone)) {
37
- sameChangeCountCycles++;
38
- if (sameChangeCountCycles > 100) {
39
- console.warn("detected optimization oscillation after 100 cycles, terminating");
40
- //stuck in oscillation, probably
41
- return TaskSignal.EndSuccess;
42
- }
43
- } else {
44
- //reset counter
45
- sameChangeCountCycles = 0;
46
- }
47
-
48
- buffer.push(optimizationsDone);
49
-
50
- return TaskSignal.Continue;
51
- } else {
52
- return TaskSignal.EndSuccess;
53
- }
54
- },
55
- computeProgress: function () {
56
- if (iterationLength <= 0) {
57
- return 0;
58
- } else {
59
- return cycles / iterationLength;
60
- }
61
- }
62
- });
63
-
64
- return task;
65
- }
@@ -1,13 +0,0 @@
1
- import {Node} from "./Node";
2
- import {LeafNode} from "./LeafNode";
3
-
4
- export class BinaryNode<T = any> extends Node<T> {
5
- left: Node<T>
6
- right: Node<T>
7
-
8
- traversePreOrderUsingStack(visitor: (node: Node<T>) => boolean, thisArg?: any): void
9
-
10
- insert(x0: number, y0: number, z0: number, x1: number, y1: number, z1: number, value: T): LeafNode<T>
11
-
12
- traverseRayLeafIntersections(startX: number, startY: number, startZ: number, directionX: number, directionY: number, directionZ: number, visitor: (node: LeafNode<T>) => any, thisArg?: any);
13
- }