@woosh/meep-engine 2.164.0 → 2.165.1
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/README.md +137 -108
- package/build/bundle-worker-image-decoder.js +1 -1
- package/build/bundle-worker-terrain.js +1 -1
- package/package.json +1 -1
- package/samples/generation/SampleGenerator0.js +3 -3
- package/samples/generation/filters/SampleGroundMoistureFilter.js +63 -56
- package/samples/generation/filters/SampleNoise20_0.js +6 -1
- package/samples/generation/themes/SampleTheme0.js +47 -47
- package/src/core/binary/BitImage2.d.ts +91 -0
- package/src/core/binary/BitImage2.d.ts.map +1 -0
- package/src/core/binary/BitImage2.js +242 -0
- package/src/core/color/YCoCg/rgb_to_ycocg.d.ts +17 -0
- package/src/core/color/YCoCg/rgb_to_ycocg.d.ts.map +1 -0
- package/src/core/color/YCoCg/rgb_to_ycocg.js +20 -0
- package/src/core/color/YCoCg/ycocg_to_rgb.d.ts +14 -0
- package/src/core/color/YCoCg/ycocg_to_rgb.d.ts.map +1 -0
- package/src/core/color/YCoCg/ycocg_to_rgb.js +17 -0
- package/src/core/geom/2d/oriented-box/min_area_rect_2d.d.ts +22 -0
- package/src/core/geom/2d/oriented-box/min_area_rect_2d.d.ts.map +1 -0
- package/src/core/geom/2d/oriented-box/min_area_rect_2d.js +69 -0
- package/src/core/geom/2d/packing/skyline.d.ts +116 -0
- package/src/core/geom/2d/packing/skyline.d.ts.map +1 -0
- package/src/core/geom/2d/packing/skyline.js +258 -0
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts +18 -0
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -0
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.js +86 -0
- package/src/core/geom/3d/atlas/ATLAS_PORT_PLAN.md +486 -0
- package/src/core/geom/3d/atlas/BFF_PLAN.md +174 -0
- package/src/core/geom/3d/atlas/Chart.d.ts +58 -0
- package/src/core/geom/3d/atlas/Chart.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/Chart.js +77 -0
- package/src/core/geom/3d/atlas/REVIEW_02.md +392 -0
- package/src/core/geom/3d/atlas/atlas_bench_lib.d.ts +73 -0
- package/src/core/geom/3d/atlas/atlas_bench_lib.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_bench_lib.js +315 -0
- package/src/core/geom/3d/atlas/atlas_chart_type.d.ts +17 -0
- package/src/core/geom/3d/atlas/atlas_chart_type.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_chart_type.js +16 -0
- package/src/core/geom/3d/atlas/atlas_compute_charts.d.ts +25 -0
- package/src/core/geom/3d/atlas/atlas_compute_charts.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_compute_charts.js +188 -0
- package/src/core/geom/3d/atlas/atlas_extract_chart.d.ts +17 -0
- package/src/core/geom/3d/atlas/atlas_extract_chart.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_extract_chart.js +107 -0
- package/src/core/geom/3d/atlas/atlas_generate.d.ts +39 -0
- package/src/core/geom/3d/atlas/atlas_generate.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_generate.js +43 -0
- package/src/core/geom/3d/atlas/atlas_test_fixtures.d.ts +84 -0
- package/src/core/geom/3d/atlas/atlas_test_fixtures.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_test_fixtures.js +266 -0
- package/src/core/geom/3d/atlas/atlas_write_chart_uvs.d.ts +25 -0
- package/src/core/geom/3d/atlas/atlas_write_chart_uvs.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_write_chart_uvs.js +36 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_dihedrals.d.ts +22 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_dihedrals.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_dihedrals.js +62 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_lengths.d.ts +9 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_lengths.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_lengths.js +33 -0
- package/src/core/geom/3d/atlas/data/atlas_build_face_areas.d.ts +9 -0
- package/src/core/geom/3d/atlas/data/atlas_build_face_areas.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/data/atlas_build_face_areas.js +50 -0
- package/src/core/geom/3d/atlas/io/atlas_mesh_weld_colocals.d.ts +27 -0
- package/src/core/geom/3d/atlas/io/atlas_mesh_weld_colocals.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/io/atlas_mesh_weld_colocals.js +39 -0
- package/src/core/geom/3d/atlas/io/bt_loop_uv.d.ts +22 -0
- package/src/core/geom/3d/atlas/io/bt_loop_uv.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/io/bt_loop_uv.js +57 -0
- package/src/core/geom/3d/atlas/pack/ChartPlacement.d.ts +36 -0
- package/src/core/geom/3d/atlas/pack/ChartPlacement.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/pack/ChartPlacement.js +46 -0
- package/src/core/geom/3d/atlas/pack/atlas_pack_charts.d.ts +62 -0
- package/src/core/geom/3d/atlas/pack/atlas_pack_charts.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/pack/atlas_pack_charts.js +551 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.d.ts +22 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.js +73 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.d.ts +37 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.js +270 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.d.ts +23 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.js +224 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_ortho.d.ts +14 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_ortho.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_ortho.js +38 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_stretch_metric.d.ts +22 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_stretch_metric.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_stretch_metric.js +86 -0
- package/src/core/geom/3d/atlas/param/atlas_piecewise_resegment.d.ts +20 -0
- package/src/core/geom/3d/atlas/param/atlas_piecewise_resegment.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_piecewise_resegment.js +183 -0
- package/src/core/geom/3d/atlas/param/fit_plane_basis.d.ts +27 -0
- package/src/core/geom/3d/atlas/param/fit_plane_basis.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/fit_plane_basis.js +66 -0
- package/src/core/geom/3d/atlas/segment/RegionGraph.d.ts +31 -0
- package/src/core/geom/3d/atlas/segment/RegionGraph.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/RegionGraph.js +40 -0
- package/src/core/geom/3d/atlas/segment/atlas_build_region_graph.d.ts +23 -0
- package/src/core/geom/3d/atlas/segment/atlas_build_region_graph.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/atlas_build_region_graph.js +136 -0
- package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.d.ts +24 -0
- package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.js +77 -0
- package/src/core/geom/3d/atlas/segment/atlas_merge_charts.d.ts +27 -0
- package/src/core/geom/3d/atlas/segment/atlas_merge_charts.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/atlas_merge_charts.js +113 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts.d.ts +44 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts.js +275 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.d.ts +22 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.js +199 -0
- package/src/core/geom/3d/line/line3_compute_point_segment_point_distance_unfolded.d.ts +32 -0
- package/src/core/geom/3d/line/line3_compute_point_segment_point_distance_unfolded.d.ts.map +1 -0
- package/src/core/geom/3d/line/line3_compute_point_segment_point_distance_unfolded.js +64 -0
- package/src/core/geom/3d/mat4/m4_from_rotation_translation_scale.d.ts +20 -0
- package/src/core/geom/3d/mat4/m4_from_rotation_translation_scale.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_from_rotation_translation_scale.js +66 -0
- package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.js +13 -11
- package/src/core/geom/3d/sphere/sphere_compute_bounding_of_2_spheres.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/sphere_compute_bounding_of_2_spheres.js +4 -3
- package/src/core/geom/3d/topology/simplify/decimate_edge_collapse_snap.d.ts.map +1 -1
- package/src/core/geom/3d/topology/simplify/decimate_edge_collapse_snap.js +4 -3
- package/src/core/geom/3d/topology/simplify/quadratic/Quadric3.d.ts.map +1 -1
- package/src/core/geom/3d/topology/simplify/quadratic/Quadric3.js +4 -3
- package/src/core/geom/3d/topology/simplify/quadratic/apply_border_penalty_to_vertex_quadrics.d.ts.map +1 -1
- package/src/core/geom/3d/topology/simplify/quadratic/apply_border_penalty_to_vertex_quadrics.js +10 -6
- package/src/core/geom/3d/topology/struct/TopoMesh.js +2 -2
- package/src/core/geom/3d/topology/struct/TopoTriangle.d.ts +0 -2
- package/src/core/geom/3d/topology/struct/TopoTriangle.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/TopoTriangle.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_face_find_path_polyanya.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_face_find_path_polyanya.js +8 -27
- package/src/core/geom/vec3/v3_cotangent.d.ts +20 -0
- package/src/core/geom/vec3/v3_cotangent.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_cotangent.js +29 -0
- package/src/core/geom/vec3/v3_matrix3_multiply.d.ts +19 -0
- package/src/core/geom/vec3/v3_matrix3_multiply.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_matrix3_multiply.js +30 -0
- package/src/core/geom/vec3/v3_multiply.d.ts +16 -0
- package/src/core/geom/vec3/v3_multiply.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_multiply.js +19 -0
- package/src/core/math/linalg/cg/cg_solve.d.ts +24 -0
- package/src/core/math/linalg/cg/cg_solve.d.ts.map +1 -0
- package/src/core/math/linalg/cg/cg_solve.js +106 -0
- package/src/core/math/linalg/cg/cg_solve_normal_equations.d.ts +21 -0
- package/src/core/math/linalg/cg/cg_solve_normal_equations.d.ts.map +1 -0
- package/src/core/math/linalg/cg/cg_solve_normal_equations.js +59 -0
- package/src/core/math/linalg/eigen/matrix_symmetric_3x3_eigen.d.ts +19 -0
- package/src/core/math/linalg/eigen/matrix_symmetric_3x3_eigen.d.ts.map +1 -0
- package/src/core/math/linalg/eigen/matrix_symmetric_3x3_eigen.js +117 -0
- package/src/core/math/linalg/sparse/SparseMatrixCSR.d.ts +50 -0
- package/src/core/math/linalg/sparse/SparseMatrixCSR.d.ts.map +1 -0
- package/src/core/math/linalg/sparse/SparseMatrixCSR.js +88 -0
- package/src/core/math/linalg/sparse/spm_matvec.d.ts +9 -0
- package/src/core/math/linalg/sparse/spm_matvec.d.ts.map +1 -0
- package/src/core/math/linalg/sparse/spm_matvec.js +22 -0
- package/src/core/math/linalg/sparse/spm_matvec_transpose.d.ts +12 -0
- package/src/core/math/linalg/sparse/spm_matvec_transpose.d.ts.map +1 -0
- package/src/core/math/linalg/sparse/spm_matvec_transpose.js +29 -0
- package/src/core/math/physics/mie/MIE_PARTICLES_STANDARD_PRECOMPUTED.d.ts +39 -0
- package/src/core/math/physics/mie/MIE_PARTICLES_STANDARD_PRECOMPUTED.js +22 -1
- package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.d.ts.map +1 -1
- package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.js +32 -9
- package/src/core/math/physics/mie/compute_mie_phase.d.ts +2 -3
- package/src/core/math/physics/mie/compute_mie_phase.d.ts.map +1 -1
- package/src/core/math/physics/mie/compute_mie_phase.js +1 -3
- package/src/core/math/physics/mie/lorenz_mie_coefs.d.ts +0 -1
- package/src/core/math/physics/mie/lorenz_mie_coefs.d.ts.map +1 -1
- package/src/core/math/physics/mie/lorenz_mie_coefs.js +0 -7
- package/src/engine/REVIEW_2026_07_03.md +211 -0
- package/src/engine/animation/curve/actionProcessorOperations/curveActions.d.ts.map +1 -1
- package/src/engine/animation/curve/actionProcessorOperations/curveActions.js +3 -2
- package/src/engine/animation/curve/compression/sample_animation_curve_to_float_array.js +1 -1
- package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts.map +1 -1
- package/src/engine/animation/keyed2/AnimationTrackPlayback.js +3 -1
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.js +2 -2
- package/src/engine/asset/preloader/AssetPreloader.d.ts.map +1 -1
- package/src/engine/asset/preloader/AssetPreloader.js +6 -0
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +5 -2
- package/src/engine/ecs/Entity.js +1 -1
- package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
- package/src/engine/ecs/EntityComponentDataset.js +1 -0
- package/src/engine/ecs/EntityManager.js +1 -1
- package/src/engine/ecs/EntityObserver.js +1 -1
- package/src/engine/ecs/animation/AnimationClip.js +1 -1
- package/src/engine/ecs/attachment/AttachmentSystem.js +2 -2
- package/src/engine/ecs/attachment/TransformAttachmentBinding.d.ts.map +1 -1
- package/src/engine/ecs/attachment/TransformAttachmentBinding.js +14 -3
- package/src/engine/ecs/fow/FogOfWar.js +2 -2
- package/src/engine/ecs/fow/shader/screenSpaceFogOfWarShader.d.ts.map +1 -1
- package/src/engine/ecs/fow/shader/screenSpaceFogOfWarShader.js +8 -0
- package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +3 -3
- package/src/engine/ecs/gui/position/ViewportPosition.d.ts +3 -1
- package/src/engine/ecs/gui/position/ViewportPosition.d.ts.map +1 -1
- package/src/engine/ecs/gui/position/ViewportPosition.js +4 -1
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts +10 -0
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.js +43 -0
- package/src/engine/ecs/storage/binary/object-v2/BinaryObjectDeSerializer.d.ts +93 -0
- package/src/engine/ecs/storage/binary/object-v2/BinaryObjectDeSerializer.d.ts.map +1 -0
- package/src/engine/ecs/storage/binary/object-v2/BinaryObjectDeSerializer.js +315 -0
- package/src/engine/ecs/storage/binary/object-v2/BinaryObjectSerializer.d.ts +48 -0
- package/src/engine/ecs/storage/binary/object-v2/BinaryObjectSerializer.d.ts.map +1 -0
- package/src/engine/ecs/storage/binary/object-v2/BinaryObjectSerializer.js +331 -0
- package/src/engine/ecs/storage/binary/object-v2/DESIGN.md +199 -0
- package/src/engine/ecs/storage/binary/object-v2/ObjectBinaryFormat.d.ts +53 -0
- package/src/engine/ecs/storage/binary/object-v2/ObjectBinaryFormat.d.ts.map +1 -0
- package/src/engine/ecs/storage/binary/object-v2/ObjectBinaryFormat.js +57 -0
- package/src/engine/ecs/storage/binary/object-v2/ObjectSerializationAdapter.d.ts +53 -0
- package/src/engine/ecs/storage/binary/object-v2/ObjectSerializationAdapter.d.ts.map +1 -0
- package/src/engine/ecs/storage/binary/object-v2/ObjectSerializationAdapter.js +56 -0
- package/src/engine/ecs/storage/binary/object-v2/README.md +110 -0
- package/src/engine/ecs/storage/binary/object-v2/objectStringCodec.d.ts +13 -0
- package/src/engine/ecs/storage/binary/object-v2/objectStringCodec.d.ts.map +1 -0
- package/src/engine/ecs/storage/binary/object-v2/objectStringCodec.js +48 -0
- package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.d.ts +29 -0
- package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.d.ts.map +1 -0
- package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.js +44 -0
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/Terrain.js +4 -3
- package/src/engine/ecs/terrain/tiles/TerrainTile.js +2 -2
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +9 -8
- package/src/engine/graphics/GraphicsEngine.d.ts.map +1 -1
- package/src/engine/graphics/GraphicsEngine.js +2 -1
- package/src/engine/graphics/camera/makeScreenScissorFrustum.d.ts.map +1 -1
- package/src/engine/graphics/camera/makeScreenScissorFrustum.js +11 -10
- package/src/engine/graphics/canvas/canvas2d_draw_linear_scale.d.ts.map +1 -1
- package/src/engine/graphics/canvas/canvas2d_draw_linear_scale.js +3 -1
- package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/readAnimationGraphDefinitionFromJSON.d.ts +1 -1
- package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/readAnimationGraphDefinitionFromJSON.d.ts.map +1 -1
- package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/readAnimationGraphDefinitionFromJSON.js +2 -2
- package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/writeAnimationGraphDefinitionToJSON.d.ts.map +1 -1
- package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/writeAnimationGraphDefinitionToJSON.js +2 -0
- package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/Camera.js +4 -0
- package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.js +7 -2
- package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.js +1 -1
- package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.js +2 -2
- package/src/engine/graphics/ecs/decal/v2/prototypeDecalSystem.js +2 -2
- package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js +4 -1
- package/src/engine/graphics/ecs/light/binding/LightBinding.js +2 -2
- package/src/engine/graphics/ecs/mesh/MeshSystem.js +1 -1
- package/src/engine/graphics/ecs/mesh/SkeletonUtils.js +1 -1
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +2 -2
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js +0 -1
- package/src/engine/graphics/ecs/mesh-v2/sg_hierarchy_compute_bounding_box_via_parent_entity.js +1 -1
- package/src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.d.ts.map +1 -1
- package/src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.js +8 -7
- package/src/engine/graphics/ecs/water/WaterSystem.d.ts +6 -0
- package/src/engine/graphics/ecs/water/WaterSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/WaterSystem.js +12 -1
- package/src/engine/graphics/geometry/MikkT/AvgTSpace.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/AvgTSpace.js +11 -6
- package/src/engine/graphics/geometry/MikkT/BuildNeighborsFast.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/BuildNeighborsFast.js +2 -3
- package/src/engine/graphics/geometry/MikkT/CalcTexArea.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/CalcTexArea.js +3 -4
- package/src/engine/graphics/geometry/MikkT/DegenEpilogue.js +4 -4
- package/src/engine/graphics/geometry/MikkT/EvalTspace.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/EvalTspace.js +11 -8
- package/src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.js +7 -8
- package/src/engine/graphics/geometry/MikkT/GenerateTSpaces.js +8 -8
- package/src/engine/graphics/geometry/MikkT/InitTriInfo.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/InitTriInfo.js +30 -25
- package/src/engine/graphics/geometry/MikkT/MikkTSpace.js +7 -7
- package/src/engine/graphics/geometry/MikkT/NormalizeSafe.d.ts +0 -1
- package/src/engine/graphics/geometry/MikkT/NormalizeSafe.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/NormalizeSafe.js +6 -4
- package/src/engine/graphics/geometry/MikkT/STSpace.d.ts +0 -2
- package/src/engine/graphics/geometry/MikkT/STSpace.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/STSpace.js +3 -3
- package/src/engine/graphics/geometry/MikkT/v3_scale_dot_sub_normalize.d.ts +0 -2
- package/src/engine/graphics/geometry/MikkT/v3_scale_dot_sub_normalize.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/v3_scale_dot_sub_normalize.js +0 -1
- package/src/engine/graphics/geometry/buffered/ensureGeometryBoundingSphere.js +1 -1
- package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_nearest.d.ts.map +1 -1
- package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_nearest.js +0 -15
- package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.js +10 -10
- package/src/engine/graphics/geometry/optimization/merge/merge_geometry_hierarchy.js +1 -1
- package/src/engine/graphics/impostors/octahedral/ImpostorBaker.d.ts +0 -2
- package/src/engine/graphics/impostors/octahedral/ImpostorBaker.d.ts.map +1 -1
- package/src/engine/graphics/impostors/octahedral/ImpostorBaker.js +4 -3
- package/src/engine/graphics/impostors/octahedral/grid/HemiOctahedralUvEncoder.js +2 -2
- package/src/engine/graphics/impostors/octahedral/grid/UvEncoder.d.ts +17 -7
- package/src/engine/graphics/impostors/voxel/VoxelImpostorBaker.js +2 -2
- package/src/engine/graphics/material/SplatMaterial.js +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +3 -2
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +1 -1
- package/src/engine/graphics/particles/particular/engine/utils/volume/ParticleVolume.js +3 -3
- package/src/engine/graphics/particles/particular/engine/utils/volume/prototypeParticleVolume.js +4 -3
- package/src/engine/graphics/particles/particular/group/ParticleGroup.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/group/ParticleGroup.js +3 -2
- package/src/engine/graphics/render/forward_plus/LightManager.js +2 -2
- package/src/engine/graphics/render/forward_plus/model/Decal.d.ts +0 -2
- package/src/engine/graphics/render/forward_plus/model/Decal.d.ts.map +1 -1
- package/src/engine/graphics/render/forward_plus/model/Decal.js +3 -3
- package/src/engine/graphics/render/forward_plus/plugin/ForwardPlusRenderingPlugin.js +1 -1
- package/src/engine/graphics/render/forward_plus/prototype/prototypeLightManager.js +4 -3
- package/src/engine/graphics/render/visibility/hiz/prototypeHiZ.js +6 -4
- package/src/engine/graphics/sh3/gi/material/MaterialTransformer.d.ts +1 -8
- package/src/engine/graphics/sh3/gi/material/MaterialTransformer.d.ts.map +1 -1
- package/src/engine/graphics/sh3/gi/material/MaterialTransformer.js +2 -14
- package/src/engine/graphics/sh3/gi/material/ProbeResolutionStage.d.ts +9 -0
- package/src/engine/graphics/sh3/gi/material/ProbeResolutionStage.d.ts.map +1 -0
- package/src/engine/graphics/sh3/gi/material/ProbeResolutionStage.js +14 -0
- package/src/engine/graphics/sh3/lightmap/ARTIFACTS_PLAN.md +146 -0
- package/src/engine/graphics/sh3/lightmap/CODE_REVIEW.md +121 -0
- package/src/engine/graphics/sh3/lightmap/LIGHTMAPPER_REVIEW.md +183 -0
- package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.d.ts +90 -0
- package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.js +681 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_build_geometry.d.ts +32 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_build_geometry.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_build_geometry.js +155 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_denoise.d.ts +49 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_denoise.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_denoise.js +136 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_dilate.d.ts +19 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_dilate.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_dilate.js +89 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_gather.d.ts +54 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_gather.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_gather.js +168 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_rasterize_triangle.d.ts +30 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_rasterize_triangle.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_rasterize_triangle.js +145 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_seam_fix.d.ts +38 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_seam_fix.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_seam_fix.js +152 -0
- package/src/engine/graphics/sh3/lightmap/prototypeLightmapBaker.d.ts +2 -0
- package/src/engine/graphics/sh3/lightmap/prototypeLightmapBaker.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/prototypeLightmapBaker.js +186 -0
- package/src/engine/graphics/sh3/lpg/LightProbeGrid.d.ts +69 -0
- package/src/engine/graphics/sh3/lpg/LightProbeGrid.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/LightProbeGrid.js +173 -0
- package/src/engine/graphics/sh3/lpg/LightProbeGridBaker.d.ts +24 -0
- package/src/engine/graphics/sh3/lpg/LightProbeGridBaker.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/LightProbeGridBaker.js +88 -0
- package/src/engine/graphics/sh3/lpg/build_light_probe_grid_for_scene.d.ts +20 -0
- package/src/engine/graphics/sh3/lpg/build_light_probe_grid_for_scene.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/build_light_probe_grid_for_scene.js +79 -0
- package/src/engine/graphics/sh3/lpg/light_probe_grid_obtain_storage_cached.d.ts +11 -0
- package/src/engine/graphics/sh3/lpg/light_probe_grid_obtain_storage_cached.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/light_probe_grid_obtain_storage_cached.js +84 -0
- package/src/engine/graphics/sh3/lpg/light_probe_grid_textures.d.ts +29 -0
- package/src/engine/graphics/sh3/lpg/light_probe_grid_textures.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/light_probe_grid_textures.js +160 -0
- package/src/engine/graphics/sh3/lpg/material/LightProbeGridMaterialTransformer.d.ts +23 -0
- package/src/engine/graphics/sh3/lpg/material/LightProbeGridMaterialTransformer.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/LightProbeGridMaterialTransformer.js +228 -0
- package/src/engine/graphics/sh3/lpg/material/chunk_lpg_get_irradiance_at.d.ts +2 -0
- package/src/engine/graphics/sh3/lpg/material/chunk_lpg_get_irradiance_at.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/chunk_lpg_get_irradiance_at.js +24 -0
- package/src/engine/graphics/sh3/lpg/material/common.d.ts +3 -0
- package/src/engine/graphics/sh3/lpg/material/common.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/common.js +73 -0
- package/src/engine/graphics/sh3/lpg/material/space_fragment/build_fragment_shader.d.ts +6 -0
- package/src/engine/graphics/sh3/lpg/material/space_fragment/build_fragment_shader.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/space_fragment/build_fragment_shader.js +42 -0
- package/src/engine/graphics/sh3/lpg/material/space_fragment/build_vertex_shader.d.ts +6 -0
- package/src/engine/graphics/sh3/lpg/material/space_fragment/build_vertex_shader.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/space_fragment/build_vertex_shader.js +49 -0
- package/src/engine/graphics/sh3/lpg/material/space_fragment/space_fragment_transform_shader.d.ts +9 -0
- package/src/engine/graphics/sh3/lpg/material/space_fragment/space_fragment_transform_shader.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/space_fragment/space_fragment_transform_shader.js +12 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/build_fragment_shader.d.ts +6 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/build_fragment_shader.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/build_fragment_shader.js +30 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/build_vertex_shader.d.ts +6 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/build_vertex_shader.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/build_vertex_shader.js +41 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.frag.d.ts +3 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.frag.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.frag.js +15 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.vert.d.ts +3 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.vert.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.vert.js +9 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/space_vertex_transform_shader.d.ts +9 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/space_vertex_transform_shader.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/material/space_vertex/space_vertex_transform_shader.js +12 -0
- package/src/engine/graphics/sh3/lpg/serialization/LightProbeGridSerializationAdapter.d.ts +20 -0
- package/src/engine/graphics/sh3/lpg/serialization/LightProbeGridSerializationAdapter.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpg/serialization/LightProbeGridSerializationAdapter.js +59 -0
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.js +2 -2
- package/src/engine/graphics/sh3/path_tracer/PathTracer.js +2 -2
- package/src/engine/graphics/sh3/path_tracer/material/MaterialConverter.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/material/MaterialConverter.js +8 -0
- package/src/engine/graphics/sh3/path_tracer/prepare_scene_gltf.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/prepare_scene_gltf.js +6 -4
- package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +3 -3
- package/src/engine/graphics/sh3/path_tracer/texture/sample_material.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/texture/sample_material.js +5 -4
- package/src/engine/graphics/sh3/prototypeLightProbeGrid.d.ts +2 -0
- package/src/engine/graphics/sh3/prototypeLightProbeGrid.d.ts.map +1 -0
- package/src/engine/graphics/sh3/prototypeLightProbeGrid.js +170 -0
- package/src/engine/graphics/sh3/sky/hosek/prototype_hosek.js +2 -2
- package/src/engine/graphics/texture/atlas/AtlasLookupTexture.js +1 -1
- package/src/engine/graphics/texture/atlas/CachingTextureAtlas.js +1 -1
- package/src/engine/graphics/texture/sampler/resize/sampler2d_scale_down_lanczos.js +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_copy_with_margins.js +3 -3
- package/src/engine/graphics/util/build_max_height_pyramid.d.ts.map +1 -1
- package/src/engine/graphics/util/build_max_height_pyramid.js +5 -2
- package/src/engine/grid/transform2grid/Transform2GridPositionSystem.js +1 -1
- package/src/engine/input/devices/KeyboardDevice.d.ts +61 -14
- package/src/engine/input/devices/KeyboardDevice.d.ts.map +1 -1
- package/src/engine/input/devices/KeyboardDevice.js +41 -15
- package/src/engine/input/devices/isHTMLElementFocusable.d.ts.map +1 -1
- package/src/engine/input/devices/isHTMLElementFocusable.js +2 -9
- package/src/engine/input/ecs/components/InputBinding.d.ts +7 -1
- package/src/engine/input/ecs/components/InputBinding.d.ts.map +1 -1
- package/src/engine/input/ecs/components/InputBinding.js +8 -1
- package/src/engine/input/ecs/systems/InputControllerSystem.js +1 -1
- package/src/engine/intelligence/behavior/decorator/OverrideContextBehavior.d.ts +2 -1
- package/src/engine/intelligence/behavior/decorator/OverrideContextBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/OverrideContextBehavior.js +6 -2
- package/src/engine/intelligence/behavior/selector/WeightedElement.js +1 -1
- package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts.map +1 -1
- package/src/engine/knowledge/database/StaticKnowledgeDatabase.js +2 -4
- package/src/engine/logging/elastic/ElasticSearchLogger.d.ts +1 -2
- package/src/engine/logging/elastic/ElasticSearchLogger.d.ts.map +1 -1
- package/src/engine/logging/elastic/ElasticSearchLogger.js +14 -10
- package/src/engine/navigation/ecs/path_following/PathFollower.js +1 -1
- package/src/engine/navigation/grid/find_path_on_grid_astar.d.ts.map +1 -1
- package/src/engine/navigation/grid/find_path_on_grid_astar.js +5 -2
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts +1 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.js +17 -0
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +3 -3
- package/src/engine/scene/SceneManager.d.ts.map +1 -1
- package/src/engine/scene/SceneManager.js +4 -2
- package/src/engine/simulation/Ticker.d.ts.map +1 -1
- package/src/engine/simulation/Ticker.js +9 -0
- package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/emitter/SoundEmitterSystem.js +6 -1
- package/src/engine/sound/material/concrete/json/serializeSoundMaterialToJSON.js +1 -1
- package/src/engine/sound/simulation/prototypeAcousticSolver.js +261 -143
- package/src/generation/theme/ThemeEngine.d.ts +9 -0
- package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
- package/src/generation/theme/ThemeEngine.js +37 -2
|
@@ -38,6 +38,13 @@ export function auto_set_camera_clipping_planes(c, layers) {
|
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
// Capture the previous frame's tightened planes *before* overwriting them
|
|
42
|
+
// with the outer bounds below — the hysteresis further down compares the new
|
|
43
|
+
// range against them, so sampling after the overwrite would always measure
|
|
44
|
+
// against the full outer span and never let the planes tighten.
|
|
45
|
+
const old_near = camera.near;
|
|
46
|
+
const old_far = camera.far;
|
|
47
|
+
|
|
41
48
|
// Run visibility against the user-specified outer bounds, not the previous
|
|
42
49
|
// frame's tightened range — otherwise objects could be culled before we
|
|
43
50
|
// ever see them and the autoClip would shrink toward nothing.
|
|
@@ -97,8 +104,6 @@ export function auto_set_camera_clipping_planes(c, layers) {
|
|
|
97
104
|
|
|
98
105
|
// Hysteresis: only shrink each plane if the shrink is meaningful relative
|
|
99
106
|
// to the current span. Loosening always applies immediately.
|
|
100
|
-
const old_near = camera.near;
|
|
101
|
-
const old_far = camera.far;
|
|
102
107
|
const old_span = old_far - old_near;
|
|
103
108
|
const shrink_threshold = HYSTERESIS * old_span;
|
|
104
109
|
|
|
@@ -22,7 +22,7 @@ export function set_camera_aspect_ratio(camera, width, height) {
|
|
|
22
22
|
case Camera.ProjectionType.Orthographic:
|
|
23
23
|
//use smaller values to get a bit of a "zoom" on the world
|
|
24
24
|
const w = c.right - c.left;
|
|
25
|
-
const h = c.
|
|
25
|
+
const h = c.top - c.bottom;
|
|
26
26
|
|
|
27
27
|
const existingAspect = w / h;
|
|
28
28
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { m4_invert } from "../../../../../core/geom/3d/mat4/m4_invert.js";
|
|
2
2
|
import { assert } from "../../../../../core/assert.js";
|
|
3
3
|
import { BVH } from "../../../../../core/bvh2/bvh3/BVH.js";
|
|
4
4
|
import { BvhClient } from "../../../../../core/bvh2/bvh3/BvhClient.js";
|
|
@@ -439,7 +439,7 @@ export class FPDecalSystem extends AbstractContextSystem {
|
|
|
439
439
|
|
|
440
440
|
|
|
441
441
|
// get transform in local space
|
|
442
|
-
|
|
442
|
+
m4_invert(scratch_m4, transform.matrix);
|
|
443
443
|
|
|
444
444
|
// transform ray into decal's local space
|
|
445
445
|
ray3_array_apply_matrix4(scratch_ray_0, 0, scratch_ray_0, 0, scratch_m4);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v3_negate_array } from "../../../../../core/geom/vec3/v3_negate_array.js";
|
|
2
2
|
import { DoubleSide, LineBasicMaterial, MeshStandardMaterial } from "three";
|
|
3
3
|
import '../../../../../../../../../css/game.scss';
|
|
4
4
|
import { makeHelperBoxGeometry } from "../../../../../../editor/process/symbolic/makeHelperBoxGeometry.js";
|
|
@@ -294,7 +294,7 @@ function makeNormalTestGridDecal(ecd, root_transform = new Transform()) {
|
|
|
294
294
|
|
|
295
295
|
uv.uv_to_unit(direction, [i / (GRID_SIZE - 1), j / (GRID_SIZE - 1)]);
|
|
296
296
|
|
|
297
|
-
|
|
297
|
+
v3_negate_array(direction, 0, direction, 0);
|
|
298
298
|
|
|
299
299
|
const decal = new Decal();
|
|
300
300
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShadedGeometryHighlightSystem.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShadedGeometryHighlightSystem.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js"],"names":[],"mappings":"AAuGA;IACI;;;;OAIG;IACH,4BAqBC;IAlBG;;;;OAIG;IACH,iBAAsB;IAEtB,2DAA+C;IAE/C,2BAA0C;IAE1C;;;;OAIG;IACH,8BAAiC;IAIrC;;;OAGG;IACH,sDAWC;IAED;;;OAGG;IACH,qDAoBC;CACJ;uBA9KsB,2BAA2B;+BAEnB,iCAAiC;sBAC1C,iBAAiB;AAIvC;IACI;;;OAGG;IACH,oBAFW,6BAA6B,EA+BvC;IA1BG;;;;OAIG;IACH,iBAAsB;IAEtB;;;;OAIG;IACH,eAAkB;IAClB;;;;OAIG;IACH,gBAAmB;IAEnB;;;;OAIG;IACH,uBAAiD;IAGrD,qCAoBC;IAED;;;;;;OAMG;IACH,gBA4BC;CACJ;6CAjG4C,2CAA2C"}
|
|
@@ -87,7 +87,10 @@ class Supplier extends HighlightRenderElementSource {
|
|
|
87
87
|
|
|
88
88
|
const object = this.__object_cache.get(sg);
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
// element-copy rather than aliasing: assigning sg.transform (the live ECS
|
|
91
|
+
// Transform.matrix) as `.elements` would let any three.js write into the
|
|
92
|
+
// cached object's matrix corrupt the entity's transform.
|
|
93
|
+
object.matrixWorld.fromArray(sg.transform);
|
|
91
94
|
|
|
92
95
|
const renderElement = this.__pool.create();
|
|
93
96
|
|
|
@@ -48,7 +48,7 @@ export class LightBinding {
|
|
|
48
48
|
link(ctx) {
|
|
49
49
|
this.__c_transform.position.onChanged.add(this.__apply_position, this);
|
|
50
50
|
this.__c_transform.rotation.onChanged.add(this.__apply_rotation, this);
|
|
51
|
-
this.__c_transform.
|
|
51
|
+
this.__c_transform.scale.onChanged.add(this.__apply_scale, this);
|
|
52
52
|
|
|
53
53
|
const l = this.__c_light;
|
|
54
54
|
|
|
@@ -86,7 +86,7 @@ export class LightBinding {
|
|
|
86
86
|
unlink(ctx) {
|
|
87
87
|
this.__c_transform.position.onChanged.remove(this.__apply_position, this);
|
|
88
88
|
this.__c_transform.rotation.onChanged.remove(this.__apply_rotation, this);
|
|
89
|
-
this.__c_transform.
|
|
89
|
+
this.__c_transform.scale.onChanged.remove(this.__apply_scale, this);
|
|
90
90
|
|
|
91
91
|
this.__c_light.intensity.onChanged.remove(this.__apply_intensity, this);
|
|
92
92
|
this.__c_light.color.onChanged.remove(this.__apply_color, this);
|
|
@@ -234,7 +234,7 @@ export class MeshSystem extends System {
|
|
|
234
234
|
if (!ecd.entityExists(entity)) {
|
|
235
235
|
//entity was destroyed at some point, visibility set updates asynchronously from ECS dataset updates
|
|
236
236
|
//skip
|
|
237
|
-
|
|
237
|
+
continue;
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
if (component !== undefined) {
|
|
@@ -151,7 +151,7 @@ export function findSkeletonBoneByType(skeleton, boneType) {
|
|
|
151
151
|
export function getSkeletonBoneByType(component, boneType) {
|
|
152
152
|
const skeleton = extractSkeletonFromMeshComponent(component);
|
|
153
153
|
|
|
154
|
-
if (skeleton === undefined) {
|
|
154
|
+
if (skeleton === undefined || skeleton === null) {
|
|
155
155
|
return null;
|
|
156
156
|
}
|
|
157
157
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { m4_invert } from "../../../../core/geom/3d/mat4/m4_invert.js";
|
|
2
2
|
import { BvhClient } from "../../../../core/bvh2/bvh3/BvhClient.js";
|
|
3
3
|
import { AABB3 } from "../../../../core/geom/3d/aabb/AABB3.js";
|
|
4
4
|
import { aabb3_from_three_geometry } from "../../../../core/geom/3d/aabb/aabb3_from_three_geometry.js";
|
|
@@ -271,7 +271,7 @@ export class ShadedGeometry {
|
|
|
271
271
|
query_raycast_nearest(contact, ray, transform_matrix4) {
|
|
272
272
|
|
|
273
273
|
// get transform in local space
|
|
274
|
-
|
|
274
|
+
m4_invert(scratch_m4, transform_matrix4);
|
|
275
275
|
|
|
276
276
|
// transform ray to local space
|
|
277
277
|
if (!ray3_array_apply_matrix4(scratch_ray_0, 0, ray, 0, scratch_m4)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShadedGeometrySystem.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShadedGeometrySystem.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js"],"names":[],"mappings":"AA6DA;IACI;;;OAGG;IACH,4BAmEC;IAjEG,2DAA+C;IAE/C;;;;OAIG;IACH,iBAAsB;IAEtB;;;;OAIG;IACH,uBAA0B;IAE1B;;;;OAIG;IACH,wBAAgC;IAEhC;;;;OAIG;IACH,4BAAoC;IAEpC;;;;OAIG;IACH,kCAA0C;IAE1C;;;;OAIG;IACH,qBAA6B;IAI7B,0BAYE;IAEF,yBAIC;IAIL;;;OAGG;IACH,eAEC;IAED;;;OAGG;IACH,4BAFa,IAAI,MAAM,EAAC,MAAM,CAAC,CAI9B;IAED;;;;OAIG;IACH,+BAHW,MAAM,+CAsBhB;IAED;;;;OAIG;IACH,iCAHW,MAAM,GACL,OAAO,CAmBlB;IAED;;;;OAIG;IACH,4BASC;IAED;;;;OAIG;IACH,8BAMC;IAED,2CAqCC;IAED,4CAcC;IAED;;;;;OAKG;IACH,SAJW,cAAc,KACd,SAAS,UACT,MAAM,QAqBhB;IAED;;;;;OAKG;IACH,WAJW,cAAc,KACd,SAAS,UACT,MAAM,QAsBhB;IAED;;;;;;OAMG;IACH,4BALW,MAAM,EAAE,iBACR,MAAM,UACN,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,GACxB,MAAM,CAQlB;IAED;;;;;;;;;;;OAWG;IACH,kBAVW,MAAM,YACN,MAAM,YACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,uEAGJ;QAAC,MAAM,EAAC,MAAM,CAAC;QAAC,IAAI,EAAC,cAAc,CAAC;QAAC,OAAO,EAAE,aAAa,CAAA;KAAC,EAAE,CA8D1E;IAGD;;;;;;;;;;;;OAYG;IACH,wBAXW,aAAa,YACb,MAAM,YACN,MAAM,YACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,uEAGJ;QAAC,MAAM,EAAC,MAAM,CAAC;QAAC,IAAI,EAAC,cAAc,CAAA;KAAC,GAAC,SAAS,CAmF1D;CACJ;uBA7fsB,wBAAwB;0BACrB,qCAAqC;+BAGhC,qBAAqB;iBARnC,uCAAuC;oBAZpC,mCAAmC;2BAQ5B,yCAAyC;8BAEtC,2CAA2C"}
|
package/src/engine/graphics/ecs/mesh-v2/sg_hierarchy_compute_bounding_box_via_parent_entity.js
CHANGED
|
@@ -16,7 +16,7 @@ export function sg_hierarchy_compute_bounding_box_via_parent_entity(result, root
|
|
|
16
16
|
/**
|
|
17
17
|
* @type {ShadedGeometry}
|
|
18
18
|
*/
|
|
19
|
-
const sg = ecd.getComponent(
|
|
19
|
+
const sg = ecd.getComponent(entity, ShadedGeometry);
|
|
20
20
|
|
|
21
21
|
if (sg !== undefined) {
|
|
22
22
|
sg.getBoundingBox(scratch_aabb3);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeFrenetFrames.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"computeFrenetFrames.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.js"],"names":[],"mappings":"AA2CA;;;;;;GAMG;AACH,4CALW,YAAY,GAAC,MAAM,EAAE,WACrB,OAAO,gBACP,OAAO;aACI,OAAO,EAAE;eAAY,OAAO,EAAE;cAAW,OAAO,EAAE;EA+IvE;wBA/LgC,OAAO"}
|
|
@@ -2,7 +2,8 @@ import { Matrix4, Vector3 } from "three";
|
|
|
2
2
|
import { max2 } from "../../../../../../core/math/max2.js";
|
|
3
3
|
import { min2 } from "../../../../../../core/math/min2.js";
|
|
4
4
|
import { clamp } from "../../../../../../core/math/clamp.js";
|
|
5
|
-
import {
|
|
5
|
+
import { v3_subtract } from "../../../../../../core/geom/vec3/v3_subtract.js";
|
|
6
|
+
import { v3_normalize_array } from "../../../../../../core/geom/vec3/v3_normalize_array.js";
|
|
6
7
|
import { array_copy } from "../../../../../../core/collection/array/array_copy.js";
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -83,14 +84,14 @@ export function computeFrenetFrames(points, closed = false, normal_hint) {
|
|
|
83
84
|
|
|
84
85
|
// get points along the lines close to the reference
|
|
85
86
|
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
v3_subtract(v3_0, 0, p0_a[0], p0_a[1], p0_a[2], pR_a[0], pR_a[1], pR_a[2]);
|
|
88
|
+
v3_normalize_array(v3_0, 0, v3_0, 0);
|
|
88
89
|
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
v3_subtract(v3_1, 0, p1_a[0], p1_a[1], p1_a[2], pR_a[0], pR_a[1], pR_a[2]);
|
|
91
|
+
v3_normalize_array(v3_1, 0, v3_1, 0);
|
|
91
92
|
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
v3_subtract(v3_1, 0, v3_1[0], v3_1[1], v3_1[2], v3_0[0], v3_0[1], v3_0[2]);
|
|
94
|
+
v3_normalize_array(v3_1, 0, v3_1, 0);
|
|
94
95
|
|
|
95
96
|
// write out
|
|
96
97
|
const tangent_x = v3_1[0];
|
|
@@ -30,6 +30,12 @@ declare class WaterSystem extends System<any, any, any, any, any> {
|
|
|
30
30
|
* @type {RenderLayer|null}
|
|
31
31
|
*/
|
|
32
32
|
renderLayer: RenderLayer | null;
|
|
33
|
+
/**
|
|
34
|
+
* preRender hook installed in startup, kept so shutdown can detach it
|
|
35
|
+
* @type {Function|null}
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
private __preRenderHook;
|
|
33
39
|
shutdown(entityManager: any): Promise<void>;
|
|
34
40
|
startup(entityManager: any): Promise<void>;
|
|
35
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaterSystem.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/water/WaterSystem.js"],"names":[],"mappings":";AAaA;IAyBI;;;;OAIG;IACH,
|
|
1
|
+
{"version":3,"file":"WaterSystem.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/water/WaterSystem.js"],"names":[],"mappings":";AAaA;IAyBI;;;;OAIG;IACH,sCAmBC;IAhDD,+BAAuB;IAEvB;;;OAGG;IACH,cAFU,GAAG,CAEG;IAGhB,cAAY;IAEZ;;;OAGG;IACH,aAFU,KAAK,EAAE,CAEA;IAEjB;;;;OAIG;IACH,qBAAiB;IAWb,+BAA8B;IAE9B;;;OAGG;IACH,aAFU,cAAY,IAAI,CAEH;IAEvB;;;;OAIG;IACH,wBAA2B;IAK/B,4CASC;IAED,2CAkEC;IAED;;;;OAIG;IACH,gBAHW,KAAK,UACL,MAAM,QAsDhB;IAED;;;;OAIG;IACH,kBAHW,KAAK,UACL,MAAM,QAgBhB;IAED,2BAgCC;IAED;;;;;OAKG;IACH,0BAUC;IAED,6BAcC;CACJ;;;;uBA/RsB,wBAAwB;kBAM7B,YAAY;oBARV,mCAAmC"}
|
|
@@ -53,12 +53,22 @@ class WaterSystem extends System {
|
|
|
53
53
|
*/
|
|
54
54
|
this.renderLayer = null;
|
|
55
55
|
|
|
56
|
+
/**
|
|
57
|
+
* preRender hook installed in startup, kept so shutdown can detach it
|
|
58
|
+
* @type {Function|null}
|
|
59
|
+
* @private
|
|
60
|
+
*/
|
|
61
|
+
this.__preRenderHook = null;
|
|
62
|
+
|
|
56
63
|
}
|
|
57
64
|
|
|
58
65
|
|
|
59
66
|
async shutdown(entityManager) {
|
|
60
67
|
|
|
61
|
-
|
|
68
|
+
if (this.__preRenderHook !== null) {
|
|
69
|
+
this.graphicsEngine.on.preRender.remove(this.__preRenderHook);
|
|
70
|
+
this.__preRenderHook = null;
|
|
71
|
+
}
|
|
62
72
|
|
|
63
73
|
this.graphicsEngine.layers.remove(this.renderLayer);
|
|
64
74
|
|
|
@@ -128,6 +138,7 @@ class WaterSystem extends System {
|
|
|
128
138
|
});
|
|
129
139
|
}
|
|
130
140
|
|
|
141
|
+
this.__preRenderHook = preRenderHook;
|
|
131
142
|
graphicsEngine.on.preRender.add(preRenderHook);
|
|
132
143
|
}
|
|
133
144
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvgTSpace.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/AvgTSpace.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AvgTSpace.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/AvgTSpace.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,0EAFa,IAAI,CAgChB"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v3_equals_array } from "../../../../core/geom/vec3/v3_equals_array.js";
|
|
2
|
+
import { v3_copy_array } from "../../../../core/geom/vec3/v3_copy_array.js";
|
|
3
|
+
import { v3_add_array } from "../../../../core/geom/vec3/v3_add_array.js";
|
|
2
4
|
import { NormalizeSafe } from "./NormalizeSafe.js";
|
|
3
5
|
|
|
4
6
|
/**
|
|
@@ -15,21 +17,24 @@ export function AvgTSpace(ts_res, pTS0, pTS1) {
|
|
|
15
17
|
// which results in tangent space splits later on
|
|
16
18
|
if (
|
|
17
19
|
pTS0.fMagS === pTS1.fMagS && pTS0.fMagT === pTS1.fMagT &&
|
|
18
|
-
|
|
20
|
+
v3_equals_array(pTS0.vOs, 0, pTS1.vOs, 0) && v3_equals_array(pTS0.vOt, 0, pTS1.vOt, 0)
|
|
19
21
|
) {
|
|
20
22
|
|
|
21
23
|
ts_res.fMagS = pTS0.fMagS;
|
|
22
24
|
ts_res.fMagT = pTS0.fMagT;
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
v3_copy_array(ts_res.vOs, 0, pTS0.vOs, 0);
|
|
27
|
+
v3_copy_array(ts_res.vOt, 0, pTS0.vOt, 0);
|
|
26
28
|
|
|
27
29
|
} else {
|
|
28
30
|
ts_res.fMagS = 0.5 * (pTS0.fMagS + pTS1.fMagS);
|
|
29
31
|
ts_res.fMagT = 0.5 * (pTS0.fMagT + pTS1.fMagT);
|
|
30
32
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
v3_copy_array(ts_res.vOs, 0, pTS0.vOs, 0);
|
|
34
|
+
v3_add_array(ts_res.vOs, 0, pTS1.vOs, 0);
|
|
35
|
+
|
|
36
|
+
v3_copy_array(ts_res.vOt, 0, pTS0.vOt, 0);
|
|
37
|
+
v3_add_array(ts_res.vOt, 0, pTS1.vOt, 0);
|
|
33
38
|
|
|
34
39
|
NormalizeSafe(ts_res.vOs, ts_res.vOs);
|
|
35
40
|
NormalizeSafe(ts_res.vOt, ts_res.vOt);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildNeighborsFast.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/BuildNeighborsFast.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BuildNeighborsFast.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/BuildNeighborsFast.js"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,8CANW,UAAU,UACV,MAAM,EAAE,GAAC,YAAY,eACrB,MAAM,EAAE,kBACR,MAAM,GACJ,IAAI,CA6HhB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { INTERNAL_RND_SORT_SEED } from "./constants/INTERNAL_RND_SORT_SEED.js";
|
|
2
2
|
import { QuickSortEdges } from "./QuickSortEdges.js";
|
|
3
|
-
import { vec3 } from "gl-matrix";
|
|
4
3
|
import { GetEdge } from "./GetEdge.js";
|
|
5
4
|
|
|
6
5
|
/**
|
|
@@ -71,8 +70,8 @@ export function BuildNeighborsFast(pTriInfos, pEdges, piTriListIn, iNrTrianglesI
|
|
|
71
70
|
|
|
72
71
|
}
|
|
73
72
|
|
|
74
|
-
const temp_edge_A =
|
|
75
|
-
const temp_edge_B =
|
|
73
|
+
const temp_edge_A = new Float32Array(3);
|
|
74
|
+
const temp_edge_B = new Float32Array(3);
|
|
76
75
|
|
|
77
76
|
// pair up, adjacent triangles
|
|
78
77
|
for (let i = 0; i < iEntries; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalcTexArea.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/CalcTexArea.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CalcTexArea.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/CalcTexArea.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,mEAJW,MAAM,EAAE,kBACR,MAAM,GACJ,MAAM,CAiBlB"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { vec3 } from "gl-matrix";
|
|
2
1
|
import { GetTexCoord } from "./GetTexCoord.js";
|
|
3
2
|
|
|
4
|
-
const t1 =
|
|
5
|
-
const t2 =
|
|
6
|
-
const t3 =
|
|
3
|
+
const t1 = new Float32Array(3);
|
|
4
|
+
const t2 = new Float32Array(3);
|
|
5
|
+
const t3 = new Float32Array(3);
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* returns the texture area times 2
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { QUAD_ONE_DEGEN_TRI } from "./constants/QUAD_ONE_DEGEN_TRI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { v3_equals_array } from "../../../../core/geom/vec3/v3_equals_array.js";
|
|
3
3
|
import { GetPosition } from "./GetPosition.js";
|
|
4
4
|
import { MakeIndex } from "./MakeIndex.js";
|
|
5
5
|
import { assert } from "../../../../core/assert.js";
|
|
@@ -7,8 +7,8 @@ import { assert } from "../../../../core/assert.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* @type {vec3}
|
|
9
9
|
*/
|
|
10
|
-
const vDstP =
|
|
11
|
-
const vSrcP =
|
|
10
|
+
const vDstP = new Float32Array(3);
|
|
11
|
+
const vSrcP = new Float32Array(3);
|
|
12
12
|
|
|
13
13
|
class VertReverseLookupContext {
|
|
14
14
|
/**
|
|
@@ -199,7 +199,7 @@ export function DegenEpilogue(psTspace, pTriInfos, piTriListIn, pContext, iNrTri
|
|
|
199
199
|
const iVert = pV[i];
|
|
200
200
|
GetPosition(vSrcP, 0, pContext, MakeIndex(iOrgF, iVert));
|
|
201
201
|
|
|
202
|
-
if (
|
|
202
|
+
if (v3_equals_array(vSrcP, 0, vDstP, 0)) {
|
|
203
203
|
|
|
204
204
|
const iOffs = tri.iTSpacesOffs;
|
|
205
205
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvalTspace.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/EvalTspace.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EvalTspace.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/EvalTspace.js"],"names":[],"mappings":"AA+BA;;;;;;;;;GASG;AACH,gCARW,OAAO,gBACP,MAAM,EAAE,GAAC,WAAW,GAAC,UAAU,UAC/B,MAAM,eACN,MAAM,EAAE,aACR,UAAU,uDAEV,MAAM,QA2FhB;wBAlIuB,cAAc"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { STSpace } from "./STSpace.js";
|
|
2
|
-
import {
|
|
2
|
+
import { v3_subtract } from "../../../../core/geom/vec3/v3_subtract.js";
|
|
3
|
+
import { v3_scale } from "../../../../core/geom/vec3/v3_scale.js";
|
|
4
|
+
import { v3_dot } from "../../../../core/geom/vec3/v3_dot.js";
|
|
5
|
+
import { v3_add_array } from "../../../../core/geom/vec3/v3_add_array.js";
|
|
3
6
|
import { GROUP_WITH_ANY } from "./constants/GROUP_WITH_ANY.js";
|
|
4
7
|
import { assert } from "../../../../core/assert.js";
|
|
5
8
|
import { GetNormal } from "./GetNormal.js";
|
|
@@ -88,8 +91,8 @@ export function EvalTspace(res, face_indices, iFaces, piTriListIn, pTriInfos, pC
|
|
|
88
91
|
GetPosition(p1, 0, pContext, i1);
|
|
89
92
|
GetPosition(p2, 0, pContext, i2);
|
|
90
93
|
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
v3_subtract(p0, 0, p0[0], p0[1], p0[2], p1[0], p1[1], p1[2]);
|
|
95
|
+
v3_subtract(p1, 0, p2[0], p2[1], p2[2], p1[0], p1[1], p1[2]);
|
|
93
96
|
|
|
94
97
|
// project
|
|
95
98
|
v3_scale_dot_sub_normalize(p0, n, p0);
|
|
@@ -98,16 +101,16 @@ export function EvalTspace(res, face_indices, iFaces, piTriListIn, pTriInfos, pC
|
|
|
98
101
|
// weight contribution by the angle
|
|
99
102
|
// between the two edge vectors
|
|
100
103
|
|
|
101
|
-
const fCos = clamp01(
|
|
104
|
+
const fCos = clamp01(v3_dot(p0[0], p0[1], p0[2], p1[0], p1[1], p1[2]));
|
|
102
105
|
const fAngle = Math.acos(fCos);
|
|
103
106
|
const fMagS = tri_info.fMagS;
|
|
104
107
|
const fMagT = tri_info.fMagT;
|
|
105
108
|
|
|
106
|
-
|
|
107
|
-
|
|
109
|
+
v3_scale(p2, 0, vOs[0], vOs[1], vOs[2], fAngle);
|
|
110
|
+
v3_add_array(res.vOs, 0, p2, 0);
|
|
108
111
|
|
|
109
|
-
|
|
110
|
-
|
|
112
|
+
v3_scale(p2, 0, vOt[0], vOt[1], vOt[2], fAngle);
|
|
113
|
+
v3_add_array(res.vOt, 0, p2, 0);
|
|
111
114
|
|
|
112
115
|
res.fMagS += (fAngle * fMagS);
|
|
113
116
|
res.fMagT += (fAngle * fMagT);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateSharedVerticesIndexList.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GenerateSharedVerticesIndexList.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.js"],"names":[],"mappings":"AAmGA;;;;;;GAMG;AACH,sEALW,MAAM,EAAE,GAAC,UAAU,gDAEnB,MAAM,GACJ,IAAI,CAuGhB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { vec3 } from "gl-matrix";
|
|
2
1
|
import { computeHashFloat } from "../../../../core/primitives/numbers/computeHashFloat.js";
|
|
3
2
|
import { GetNormal } from "./GetNormal.js";
|
|
4
3
|
import { GetPosition } from "./GetPosition.js";
|
|
@@ -119,7 +118,7 @@ export function GenerateSharedVerticesIndexList(
|
|
|
119
118
|
const temp_hashes = new Uint32Array(_buffer, numVertices * 2 * 4, numVertices);
|
|
120
119
|
const temp_indices = new Int32Array(_buffer, numVertices * 3 * 4, numVertices);
|
|
121
120
|
|
|
122
|
-
const v =
|
|
121
|
+
const v = new Float32Array(3);
|
|
123
122
|
|
|
124
123
|
for (let i = 0; i < numVertices; i++) {
|
|
125
124
|
const index = piTriList_in_and_out[i];
|
|
@@ -143,14 +142,14 @@ export function GenerateSharedVerticesIndexList(
|
|
|
143
142
|
// free(temp_indices);
|
|
144
143
|
|
|
145
144
|
|
|
146
|
-
const vT =
|
|
147
|
-
const vP =
|
|
145
|
+
const vT = new Float32Array(3);
|
|
146
|
+
const vP = new Float32Array(3);
|
|
148
147
|
|
|
149
|
-
const vT2 =
|
|
150
|
-
const vP2 =
|
|
148
|
+
const vT2 = new Float32Array(3);
|
|
149
|
+
const vP2 = new Float32Array(3);
|
|
151
150
|
|
|
152
|
-
const vN =
|
|
153
|
-
const vN2 =
|
|
151
|
+
const vN = new Float32Array(3);
|
|
152
|
+
const vN2 = new Float32Array(3);
|
|
154
153
|
|
|
155
154
|
/*
|
|
156
155
|
* Process blocks of vertices with the same hash.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { malloc } from "./malloc.js";
|
|
2
2
|
import { STSpace } from "./STSpace.js";
|
|
3
3
|
import { SSubGroup } from "./SSubGroup.js";
|
|
4
|
-
import {
|
|
4
|
+
import { v3_dot } from "../../../../core/geom/vec3/v3_dot.js";
|
|
5
5
|
import { assert } from "../../../../core/assert.js";
|
|
6
6
|
import { GetNormal } from "./GetNormal.js";
|
|
7
7
|
import { GROUP_WITH_ANY } from "./constants/GROUP_WITH_ANY.js";
|
|
@@ -14,15 +14,15 @@ import { ORIENT_PRESERVING } from "./constants/ORIENT_PRESERVING.js";
|
|
|
14
14
|
import { AvgTSpace } from "./AvgTSpace.js";
|
|
15
15
|
import { v3_scale_dot_sub_normalize } from "./v3_scale_dot_sub_normalize.js";
|
|
16
16
|
|
|
17
|
-
const vOs =
|
|
18
|
-
const vOt =
|
|
17
|
+
const vOs = new Float32Array(3);
|
|
18
|
+
const vOt = new Float32Array(3);
|
|
19
19
|
|
|
20
|
-
const vOs2 =
|
|
21
|
-
const vOt2 =
|
|
20
|
+
const vOs2 = new Float32Array(3);
|
|
21
|
+
const vOt2 = new Float32Array(3);
|
|
22
22
|
/**
|
|
23
23
|
* @type {vec3}
|
|
24
24
|
*/
|
|
25
|
-
const n =
|
|
25
|
+
const n = new Float32Array(3);
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @type {SSubGroup}
|
|
@@ -129,8 +129,8 @@ export function GenerateTSpaces(psTspace, pTriInfos, pGroups, iNrActiveGroups, p
|
|
|
129
129
|
// make sure triangles which belong to the same quad are joined.
|
|
130
130
|
const bSameOrgFace = iOF_1 === iOF_2;
|
|
131
131
|
|
|
132
|
-
const fCosS =
|
|
133
|
-
const fCosT =
|
|
132
|
+
const fCosS = v3_dot(vOs[0], vOs[1], vOs[2], vOs2[0], vOs2[1], vOs2[2]);
|
|
133
|
+
const fCosT = v3_dot(vOt[0], vOt[1], vOt[2], vOt2[0], vOt2[1], vOt2[2]);
|
|
134
134
|
|
|
135
135
|
assert(f !== t || bSameOrgFace); // sanity check
|
|
136
136
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitTriInfo.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/InitTriInfo.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InitTriInfo.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/geometry/MikkT/InitTriInfo.js"],"names":[],"mappings":"AA+BA;;;;;;;GAOG;AACH,uCANW,UAAU,eACV,MAAM,EAAE,GAAC,UAAU,gDAEnB,MAAM,GACJ,IAAI,CAiJhB"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v3_subtract } from "../../../../core/geom/vec3/v3_subtract.js";
|
|
2
|
+
import { v3_scale } from "../../../../core/geom/vec3/v3_scale.js";
|
|
3
|
+
import { v3_add_array } from "../../../../core/geom/vec3/v3_add_array.js";
|
|
4
|
+
import { v3_copy_array } from "../../../../core/geom/vec3/v3_copy_array.js";
|
|
5
|
+
import { v3_length } from "../../../../core/geom/vec3/v3_length.js";
|
|
2
6
|
import { BuildNeighborsFast } from "./BuildNeighborsFast.js";
|
|
3
7
|
import { CalcTexArea } from "./CalcTexArea.js";
|
|
4
8
|
import { GROUP_WITH_ANY } from "./constants/GROUP_WITH_ANY.js";
|
|
@@ -8,22 +12,22 @@ import { GetPosition } from "./GetPosition.js";
|
|
|
8
12
|
import { GetTexCoord } from "./GetTexCoord.js";
|
|
9
13
|
import { NotZero } from "./NotZero.js";
|
|
10
14
|
|
|
11
|
-
const t1 =
|
|
12
|
-
const t2 =
|
|
13
|
-
const t3 =
|
|
15
|
+
const t1 = new Float32Array(3);
|
|
16
|
+
const t2 = new Float32Array(3);
|
|
17
|
+
const t3 = new Float32Array(3);
|
|
14
18
|
|
|
15
|
-
const d1 =
|
|
16
|
-
const d2 =
|
|
19
|
+
const d1 = new Float32Array(3);
|
|
20
|
+
const d2 = new Float32Array(3);
|
|
17
21
|
|
|
18
|
-
const vOs =
|
|
19
|
-
const vOt =
|
|
22
|
+
const vOs = new Float32Array(3);
|
|
23
|
+
const vOt = new Float32Array(3);
|
|
20
24
|
|
|
21
|
-
const v1 =
|
|
22
|
-
const v2 =
|
|
23
|
-
const v3 =
|
|
25
|
+
const v1 = new Float32Array(3);
|
|
26
|
+
const v2 = new Float32Array(3);
|
|
27
|
+
const v3 = new Float32Array(3);
|
|
24
28
|
|
|
25
|
-
const v_temp_0 =
|
|
26
|
-
const v_temp_1 =
|
|
29
|
+
const v_temp_0 = new Float32Array(3);
|
|
30
|
+
const v_temp_1 = new Float32Array(3);
|
|
27
31
|
|
|
28
32
|
/**
|
|
29
33
|
*
|
|
@@ -82,20 +86,21 @@ export function InitTriInfo(pTriInfos, piTriListIn, pContext, iNrTrianglesIn) {
|
|
|
82
86
|
const t31x = t3[0] - t1[0];
|
|
83
87
|
const t31y = t3[1] - t1[1];
|
|
84
88
|
|
|
85
|
-
|
|
86
|
-
|
|
89
|
+
v3_subtract(d1, 0, v2[0], v2[1], v2[2], v1[0], v1[1], v1[2]);
|
|
90
|
+
v3_subtract(d2, 0, v3[0], v3[1], v3[2], v1[0], v1[1], v1[2]);
|
|
87
91
|
|
|
88
92
|
const fSignedAreaSTx2 = t21x * t31y - t21y * t31x;
|
|
89
93
|
//assert(fSignedAreaSTx2!=0);
|
|
90
94
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
95
|
+
v3_scale(v_temp_0, 0, d1[0], d1[1], d1[2], t31y);
|
|
96
|
+
v3_scale(v_temp_1, 0, d2[0], d2[1], d2[2], t21y);
|
|
97
|
+
v3_subtract(vOs, 0, v_temp_0[0], v_temp_0[1], v_temp_0[2], v_temp_1[0], v_temp_1[1], v_temp_1[2]); // eq 18
|
|
94
98
|
|
|
95
99
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
100
|
+
v3_scale(v_temp_0, 0, d1[0], d1[1], d1[2], -t31x);
|
|
101
|
+
v3_scale(v_temp_1, 0, d2[0], d2[1], d2[2], t21x);
|
|
102
|
+
v3_copy_array(vOt, 0, v_temp_0, 0);
|
|
103
|
+
v3_add_array(vOt, 0, v_temp_1, 0); // eq 19
|
|
99
104
|
|
|
100
105
|
const tri_info = pTriInfos[f];
|
|
101
106
|
tri_info.iFlag |= (fSignedAreaSTx2 > 0 ? ORIENT_PRESERVING : 0);
|
|
@@ -103,17 +108,17 @@ export function InitTriInfo(pTriInfos, piTriListIn, pContext, iNrTrianglesIn) {
|
|
|
103
108
|
if (NotZero(fSignedAreaSTx2)) {
|
|
104
109
|
const fAbsArea = Math.abs(fSignedAreaSTx2);
|
|
105
110
|
|
|
106
|
-
const fLenOs =
|
|
107
|
-
const fLenOt =
|
|
111
|
+
const fLenOs = v3_length(vOs[0], vOs[1], vOs[2]);
|
|
112
|
+
const fLenOt = v3_length(vOt[0], vOt[1], vOt[2]);
|
|
108
113
|
|
|
109
114
|
const fS = (tri_info.iFlag & ORIENT_PRESERVING) === 0 ? (-1.0) : 1.0;
|
|
110
115
|
|
|
111
116
|
if (NotZero(fLenOs)) {
|
|
112
|
-
|
|
117
|
+
v3_scale(tri_info.vOs, 0, vOs[0], vOs[1], vOs[2], fS / fLenOs);
|
|
113
118
|
}
|
|
114
119
|
|
|
115
120
|
if (NotZero(fLenOt)) {
|
|
116
|
-
|
|
121
|
+
v3_scale(tri_info.vOt, 0, vOt[0], vOt[1], vOt[2], fS / fLenOt);
|
|
117
122
|
}
|
|
118
123
|
|
|
119
124
|
// evaluate magnitudes prior to normalization of vOs and vOt
|