@woosh/meep-engine 2.110.9 → 2.110.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/build/meep.cjs +23 -1
- package/build/meep.min.js +1 -1
- package/build/meep.module.js +23 -1
- package/editor/ecs/component/editors/Sampler2DEditor.js +9 -9
- package/editor/ecs/component/editors/three/BufferGeometryEditor.js +4 -4
- package/editor/ecs/component/editors/three/MaterialEditor.js +3 -3
- package/editor/ecs/component/editors/three/MeshEditor.js +4 -4
- package/editor/ecs/component/editors/three/TextureEditor.js +1 -1
- package/editor/tools/paint/TerrainPaintTool.js +7 -7
- package/editor/tools/paint/TerrainTexturePaintTool.js +5 -5
- package/editor/view/ecs/components/GridObstacleController.js +6 -6
- package/editor/view/ecs/components/TerrainController.js +2 -2
- package/package.json +1 -1
- package/samples/terrain/editor.js +2 -2
- package/src/core/UUID.js +1 -1
- package/src/core/color/kelvin/prototype_kelvin_to_rgb.js +3 -3
- package/src/core/geom/2d/aabb/AABB2.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/AABB2.js +27 -1
- package/src/core/geom/3d/normal/octahedron/prototype.js +1 -1
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.d.ts +9 -0
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.js +18 -0
- package/src/core/geom/3d/tetrahedra/delaunay/compute_delaunay_tetrahedral_mesh.spec.js +17 -3
- package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_build_from_grid.spec.js +25 -2
- package/src/core/geom/3d/tetrahedra/is_tetrahedron_degenerate.d.ts +9 -0
- package/src/core/geom/3d/tetrahedra/is_tetrahedron_degenerate.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/is_tetrahedron_degenerate.js +21 -0
- package/src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.d.ts +2 -1
- package/src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.js +2 -1
- package/src/core/geom/3d/tetrahedra/triangle/prototype.js +1 -1
- package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts +2 -10
- package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.js +24 -31
- package/src/core/geom/mat3/m3_cm_invert.d.ts +7 -0
- package/src/core/geom/mat3/m3_cm_invert.d.ts.map +1 -0
- package/src/core/geom/mat3/m3_cm_invert.js +45 -0
- package/src/core/geom/vec2/v2_matrix3_cm_multiply.d.ts +10 -0
- package/src/core/geom/vec2/v2_matrix3_cm_multiply.d.ts.map +1 -0
- package/src/core/geom/vec2/v2_matrix3_cm_multiply.js +20 -0
- package/src/core/geom/vec2/v2_matrix3_rm_multiply.d.ts +10 -0
- package/src/core/geom/vec2/v2_matrix3_rm_multiply.d.ts.map +1 -0
- package/src/core/geom/vec2/v2_matrix3_rm_multiply.js +21 -0
- package/src/core/math/spline/spline_hermite3.js +2 -1
- package/src/core/math/spline/spline_hermite3_to_bezier.d.ts +12 -0
- package/src/core/math/spline/spline_hermite3_to_bezier.d.ts.map +1 -0
- package/src/core/math/spline/spline_hermite3_to_bezier.js +24 -0
- package/src/core/process/task/Task.d.ts.map +1 -1
- package/src/core/process/task/Task.js +2 -0
- package/src/core/process/task/util/actionTask.d.ts +2 -2
- package/src/core/process/task/util/actionTask.d.ts.map +1 -1
- package/src/core/process/task/util/actionTask.js +5 -2
- package/src/core/process/task/util/ignoreFailureTask.d.ts +8 -0
- package/src/core/process/task/util/ignoreFailureTask.d.ts.map +1 -0
- package/src/core/process/task/util/{wrapTaskIgnoreFailure.js → ignoreFailureTask.js} +9 -4
- package/src/core/process/task/util/task_tree_compute_leaf_tasks.d.ts +1 -1
- package/src/core/process/task/util/task_tree_compute_leaf_tasks.js +1 -1
- package/src/engine/animation/clip/AnimationTrack.js +1 -1
- package/src/engine/animation/curve/AnimationCurve.d.ts +11 -0
- package/src/engine/animation/curve/AnimationCurve.d.ts.map +1 -1
- package/src/engine/animation/curve/AnimationCurve.js +51 -4
- package/src/engine/animation/curve/draw/build_curve_editor.d.ts.map +1 -1
- package/src/engine/animation/curve/draw/build_curve_editor.js +15 -9
- package/src/engine/animation/curve/view/AnimationCurveView.d.ts +47 -0
- package/src/engine/animation/curve/view/AnimationCurveView.d.ts.map +1 -0
- package/src/engine/animation/curve/view/AnimationCurveView.js +343 -0
- package/src/engine/animation/curve/view/prototype.d.ts +2 -0
- package/src/engine/animation/curve/view/prototype.d.ts.map +1 -0
- package/src/engine/animation/curve/view/prototype.js +86 -0
- package/src/engine/asset/loaders/image/png/prototypePNG.js +1 -1
- package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescription.js +1 -1
- package/src/engine/ecs/guid/UUID.d.ts +10 -3
- package/src/engine/ecs/guid/UUID.d.ts.map +1 -1
- package/src/engine/ecs/guid/UUID.js +17 -5
- package/src/engine/ecs/guid/UUID.spec.js +7 -0
- package/src/engine/ecs/guid/UUIDSerializationAdapter.spec.d.ts +2 -0
- package/src/engine/ecs/guid/UUIDSerializationAdapter.spec.d.ts.map +1 -0
- package/src/engine/graphics/particles/particular/engine/utils/volume/prototypeParticleVolume.js +2 -2
- package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +1 -1
- package/src/engine/graphics/sh3/sky/hosek/prototype_hosek.js +3 -3
- package/src/engine/graphics/texture/sampler/debug/debug_draw_sampler.js +1 -1
- package/src/engine/graphics/texture/sampler/downloadSamplerAsPNG.js +2 -2
- package/src/engine/graphics/texture/sampler/sampler2d_to_data_url.d.ts +8 -0
- package/src/engine/graphics/texture/sampler/sampler2d_to_data_url.d.ts.map +1 -0
- package/src/engine/graphics/texture/sampler/sampler2d_to_data_url.js +22 -0
- package/src/engine/graphics/texture/sampler/sampler2d_to_data_url.spec.d.ts +2 -0
- package/src/engine/graphics/texture/sampler/sampler2d_to_data_url.spec.d.ts.map +1 -0
- package/src/engine/graphics/texture/sampler/{convertSampler2D2DataURL.spec.js → sampler2d_to_data_url.spec.js} +2 -2
- package/src/engine/graphics/texture/sampler/{Sampler2D2Canvas.d.ts → sampler2d_to_html_canvas.d.ts} +3 -3
- package/src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.d.ts.map +1 -0
- package/src/engine/graphics/texture/sampler/{Sampler2D2Canvas.js → sampler2d_to_html_canvas.js} +7 -7
- package/src/engine/graphics/texture/sampler/util/drawSamplerHTML.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/util/drawSamplerHTML.js +3 -3
- package/src/engine/graphics/texture/sprite/prototypeSpriteCutoutGeometry.js +1 -1
- package/src/engine/scene/transitionToScene.js +3 -3
- package/src/generation/filtering/numeric/util/visualise_filters_as_grid.js +3 -3
- package/src/misc/makeMatcapSelectionOption.js +2 -2
- package/src/view/elements/DropDownSelectionView.js +1 -1
- package/src/view/elements/tiles2d/Tile.d.ts +1 -1
- package/src/view/elements/tiles2d/Tile.d.ts.map +1 -1
- package/src/view/elements/tiles2d/Tile.js +2 -1
- package/src/core/process/task/util/wrapTaskIgnoreFailure.d.ts +0 -8
- package/src/core/process/task/util/wrapTaskIgnoreFailure.d.ts.map +0 -1
- package/src/engine/ecs/guid/GUIDSerializationAdapter.spec.d.ts +0 -2
- package/src/engine/ecs/guid/GUIDSerializationAdapter.spec.d.ts.map +0 -1
- package/src/engine/graphics/texture/sampler/Sampler2D2Canvas.d.ts.map +0 -1
- package/src/engine/graphics/texture/sampler/convertSampler2D2DataURL.d.ts +0 -7
- package/src/engine/graphics/texture/sampler/convertSampler2D2DataURL.d.ts.map +0 -1
- package/src/engine/graphics/texture/sampler/convertSampler2D2DataURL.js +0 -23
- package/src/engine/graphics/texture/sampler/convertSampler2D2DataURL.spec.d.ts +0 -2
- package/src/engine/graphics/texture/sampler/convertSampler2D2DataURL.spec.d.ts.map +0 -1
- /package/src/engine/ecs/guid/{GUIDSerializationAdapter.spec.js → UUIDSerializationAdapter.spec.js} +0 -0
package/build/meep.module.js
CHANGED
|
@@ -80383,12 +80383,34 @@ class AABB2 {
|
|
|
80383
80383
|
this.y1 = y1;
|
|
80384
80384
|
}
|
|
80385
80385
|
|
|
80386
|
+
/**
|
|
80387
|
+
*
|
|
80388
|
+
* @param {number} size
|
|
80389
|
+
*/
|
|
80390
|
+
growWidth(size){
|
|
80391
|
+
|
|
80392
|
+
this.x0 -= size;
|
|
80393
|
+
this.x1 += size;
|
|
80394
|
+
}
|
|
80395
|
+
|
|
80396
|
+
/**
|
|
80397
|
+
*
|
|
80398
|
+
* @param {number} size
|
|
80399
|
+
*/
|
|
80400
|
+
growHeight(size){
|
|
80401
|
+
|
|
80402
|
+
this.y0 -= size;
|
|
80403
|
+
this.y1 += size;
|
|
80404
|
+
}
|
|
80405
|
+
|
|
80386
80406
|
/**
|
|
80387
80407
|
* Expands box in every direction by a given amount
|
|
80388
80408
|
* @param {number} size
|
|
80389
80409
|
*/
|
|
80390
80410
|
grow(size) {
|
|
80391
|
-
|
|
80411
|
+
|
|
80412
|
+
this.growWidth(size);
|
|
80413
|
+
this.growHeight(size);
|
|
80392
80414
|
}
|
|
80393
80415
|
|
|
80394
80416
|
/**
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { TypeEditor } from "../TypeEditor.js";
|
|
2
|
-
import { CanvasView } from "../../../../src/view/elements/CanvasView.js";
|
|
3
|
-
import sampler2D2Canvas from "../../../../src/engine/graphics/texture/sampler/Sampler2D2Canvas.js";
|
|
4
|
-
import { sampler2d_scale } from "../../../../src/engine/graphics/texture/sampler/resize/sampler2d_scale.js";
|
|
5
|
-
import { Sampler2D } from "../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
6
|
-
import {
|
|
7
|
-
typedArrayConstructorByInstance
|
|
8
|
-
} from "../../../../src/engine/graphics/texture/sampler/typedArrayConstructorByInstance.js";
|
|
9
1
|
import { FrameRunner } from "../../../../src/engine/graphics/FrameRunner.js";
|
|
10
2
|
import canvas2Sampler2D from "../../../../src/engine/graphics/texture/Canvas2Sampler2D.js";
|
|
11
3
|
import {
|
|
12
4
|
copy_Sampler2D_channel_data
|
|
13
5
|
} from "../../../../src/engine/graphics/texture/sampler/copy_Sampler2D_channel_data.js";
|
|
14
|
-
import { MouseEvents } from "../../../../src/engine/input/devices/events/MouseEvents.js";
|
|
15
6
|
import { downloadSampler2DAsPNG } from "../../../../src/engine/graphics/texture/sampler/downloadSamplerAsPNG.js";
|
|
7
|
+
import { sampler2d_scale } from "../../../../src/engine/graphics/texture/sampler/resize/sampler2d_scale.js";
|
|
8
|
+
import { Sampler2D } from "../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
16
9
|
import {
|
|
17
10
|
sampler2d_compute_texel_value_conversion_scale_to_uint8
|
|
18
11
|
} from "../../../../src/engine/graphics/texture/sampler/sampler2d_compute_texel_value_conversion_scale_to_uint8.js";
|
|
12
|
+
import sampler2D2Canvas from "../../../../src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
13
|
+
import {
|
|
14
|
+
typedArrayConstructorByInstance
|
|
15
|
+
} from "../../../../src/engine/graphics/texture/sampler/typedArrayConstructorByInstance.js";
|
|
16
|
+
import { MouseEvents } from "../../../../src/engine/input/devices/events/MouseEvents.js";
|
|
17
|
+
import { CanvasView } from "../../../../src/view/elements/CanvasView.js";
|
|
19
18
|
import EmptyView from "../../../../src/view/elements/EmptyView.js";
|
|
19
|
+
import { TypeEditor } from "../TypeEditor.js";
|
|
20
20
|
|
|
21
21
|
const UPDATE_DELAY = 200;
|
|
22
22
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { TypeEditor } from "../../TypeEditor.js";
|
|
2
|
-
import { Sampler2D } from "../../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
3
|
-
import { renderObjectToSampler2D } from "../../../../../src/engine/graphics/util/renderObjectToSampler2D.js";
|
|
4
1
|
import { Mesh, MeshPhongMaterial } from "three";
|
|
5
2
|
import AABB2 from "../../../../../src/core/geom/2d/aabb/AABB2.js";
|
|
3
|
+
import { Sampler2D } from "../../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
4
|
+
import sampler2D2Canvas from "../../../../../src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
5
|
+
import { renderObjectToSampler2D } from "../../../../../src/engine/graphics/util/renderObjectToSampler2D.js";
|
|
6
6
|
import { CanvasView } from "../../../../../src/view/elements/CanvasView.js";
|
|
7
|
-
import
|
|
7
|
+
import { TypeEditor } from "../../TypeEditor.js";
|
|
8
8
|
|
|
9
9
|
export class BufferGeometryEditor extends TypeEditor {
|
|
10
10
|
build(parent, field, registry) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Mesh, SphereBufferGeometry } from "three";
|
|
2
2
|
import { Sampler2D } from "../../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
3
|
+
import sampler2D2Canvas from "../../../../../src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
3
4
|
import { renderObjectToSampler2D } from "../../../../../src/engine/graphics/util/renderObjectToSampler2D.js";
|
|
4
|
-
import { Mesh, SphereBufferGeometry } from "three";
|
|
5
5
|
import { CanvasView } from "../../../../../src/view/elements/CanvasView.js";
|
|
6
|
-
import
|
|
6
|
+
import { TypeEditor } from "../../TypeEditor.js";
|
|
7
7
|
|
|
8
8
|
export class MaterialEditor extends TypeEditor {
|
|
9
9
|
build(parent, field, registry) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import AABB2 from "../../../../../src/core/geom/2d/aabb/AABB2.js";
|
|
2
2
|
import { Sampler2D } from "../../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
3
|
+
import sampler2D2Canvas from "../../../../../src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
3
4
|
import { renderObjectToSampler2D } from "../../../../../src/engine/graphics/util/renderObjectToSampler2D.js";
|
|
4
|
-
import AABB2 from "../../../../../src/core/geom/2d/aabb/AABB2.js";
|
|
5
|
-
import { CanvasView } from "../../../../../src/view/elements/CanvasView.js";
|
|
6
|
-
import sampler2D2Canvas from "../../../../../src/engine/graphics/texture/sampler/Sampler2D2Canvas.js";
|
|
7
5
|
import { threeUpdateTransform } from "../../../../../src/engine/graphics/util/threeUpdateTransform.js";
|
|
6
|
+
import { CanvasView } from "../../../../../src/view/elements/CanvasView.js";
|
|
7
|
+
import { TypeEditor } from "../../TypeEditor.js";
|
|
8
8
|
|
|
9
9
|
export class MeshEditor extends TypeEditor {
|
|
10
10
|
build(parent, field, registry) {
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "../../../../../src/engine/graphics/texture/sampler/convertTexture2Sampler2D.js";
|
|
5
5
|
import { downloadSampler2DAsPNG } from "../../../../../src/engine/graphics/texture/sampler/downloadSamplerAsPNG.js";
|
|
6
6
|
import { Sampler2D } from "../../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
7
|
-
import sampler2D2Canvas from "../../../../../src/engine/graphics/texture/sampler/
|
|
7
|
+
import sampler2D2Canvas from "../../../../../src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
8
8
|
import { MouseEvents } from "../../../../../src/engine/input/devices/events/MouseEvents.js";
|
|
9
9
|
import { CanvasView } from "../../../../../src/view/elements/CanvasView.js";
|
|
10
10
|
import EmptyView from "../../../../../src/view/elements/EmptyView.js";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { max2 } from "../../../src/core/math/max2.js";
|
|
2
|
-
import Tool from "../engine/Tool.js";
|
|
3
1
|
import { Color } from "../../../src/core/color/Color.js";
|
|
4
|
-
import
|
|
2
|
+
import Vector1 from "../../../src/core/geom/Vector1.js";
|
|
5
3
|
import Vector2 from "../../../src/core/geom/Vector2.js";
|
|
6
|
-
import
|
|
4
|
+
import { max2 } from "../../../src/core/math/max2.js";
|
|
7
5
|
import ObservedString from "../../../src/core/model/ObservedString.js";
|
|
8
6
|
import { GameAssetType } from "../../../src/engine/asset/GameAssetType.js";
|
|
9
|
-
import Vector1 from "../../../src/core/geom/Vector1.js";
|
|
10
|
-
import { obtainTerrain } from "../../../src/engine/ecs/terrain/util/obtainTerrain.js";
|
|
11
7
|
import { pick } from "../../../src/engine/ecs/grid/pick.js";
|
|
8
|
+
import { obtainTerrain } from "../../../src/engine/ecs/terrain/util/obtainTerrain.js";
|
|
9
|
+
import { Sampler2D } from "../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
10
|
+
import sampler2d_to_html_canvas from "../../../src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
11
|
+
import Tool from "../engine/Tool.js";
|
|
12
12
|
|
|
13
13
|
export class TerrainPaintTool extends Tool {
|
|
14
14
|
constructor() {
|
|
@@ -103,7 +103,7 @@ export class TerrainPaintTool extends Tool {
|
|
|
103
103
|
|
|
104
104
|
const brushImage = this.__brushImage;
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
sampler2d_to_html_canvas(temp, 1, 0, brushImage);
|
|
107
107
|
|
|
108
108
|
}
|
|
109
109
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { TerrainPaintTool } from "./TerrainPaintTool.js";
|
|
2
|
-
import { convertSampler2D2DataURL } from "../../../src/engine/graphics/texture/sampler/convertSampler2D2DataURL.js";
|
|
3
1
|
import { obtainTerrain } from "../../../src/engine/ecs/terrain/util/obtainTerrain.js";
|
|
4
|
-
import {
|
|
5
|
-
import { ArrayCopyAction } from "../../actions/concrete/ArrayCopyAction.js";
|
|
2
|
+
import { sampler2d_to_data_url } from "../../../src/engine/graphics/texture/sampler/sampler2d_to_data_url.js";
|
|
6
3
|
import { ActionUpdateTexture } from "../../actions/concrete/ActionUpdateTexture.js";
|
|
4
|
+
import { ArrayCopyAction } from "../../actions/concrete/ArrayCopyAction.js";
|
|
5
|
+
import { ModifyPatchTextureArray2DAction } from "../../actions/concrete/ModifyPatchTextureArray2DAction.js";
|
|
6
|
+
import { TerrainPaintTool } from "./TerrainPaintTool.js";
|
|
7
7
|
|
|
8
8
|
export class TerrainTexturePaintTool extends TerrainPaintTool {
|
|
9
9
|
constructor() {
|
|
@@ -76,7 +76,7 @@ export class TerrainTexturePaintTool extends TerrainPaintTool {
|
|
|
76
76
|
|
|
77
77
|
if (url === null) {
|
|
78
78
|
// no URL, try to sample texture directly
|
|
79
|
-
url =
|
|
79
|
+
url = sampler2d_to_data_url(layer.diffuse);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
this.icon.set(url);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import Vector2 from "../../../../src/core/geom/Vector2.js";
|
|
1
2
|
import ObservedValue from "../../../../src/core/model/ObservedValue.js";
|
|
2
|
-
import
|
|
3
|
+
import { sampler2d_scale } from "../../../../src/engine/graphics/texture/sampler/resize/sampler2d_scale.js";
|
|
4
|
+
import { Sampler2D } from "../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
5
|
+
import sampler2d_to_html_canvas from "../../../../src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
3
6
|
import { CanvasView } from "../../../../src/view/elements/CanvasView.js";
|
|
7
|
+
import View from "../../../../src/view/View.js";
|
|
4
8
|
import DatGuiController from "./DatGuiController.js";
|
|
5
|
-
import convertSampler2D2Canvas from "../../../../src/engine/graphics/texture/sampler/Sampler2D2Canvas.js";
|
|
6
|
-
import { Sampler2D } from "../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
7
|
-
import { sampler2d_scale } from "../../../../src/engine/graphics/texture/sampler/resize/sampler2d_scale.js";
|
|
8
|
-
import Vector2 from "../../../../src/core/geom/Vector2.js";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
*
|
|
@@ -19,7 +19,7 @@ export function buildGridObstaclePreview(grid, canvas) {
|
|
|
19
19
|
|
|
20
20
|
sampler2d_scale(source, target);
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
sampler2d_to_html_canvas(target, 255, 0, canvas);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export class GridObstacleController extends View {
|
|
@@ -5,7 +5,7 @@ import { TerrainLayer } from "../../../../src/engine/ecs/terrain/ecs/layers/Terr
|
|
|
5
5
|
import CheckersTextureURI from "../../../../src/engine/graphics/texture/CheckersTextureURI.js";
|
|
6
6
|
import { sampler2d_scale } from "../../../../src/engine/graphics/texture/sampler/resize/sampler2d_scale.js";
|
|
7
7
|
import { Sampler2D } from "../../../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
8
|
-
import
|
|
8
|
+
import sampler2d_to_html_canvas from "../../../../src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
9
9
|
import LabelView from "../../../../src/view/common/LabelView.js";
|
|
10
10
|
import { NativeListController } from "../../../../src/view/controller/controls/NativeListController.js";
|
|
11
11
|
import Vector2Control from "../../../../src/view/controller/controls/Vector2Control.js";
|
|
@@ -94,7 +94,7 @@ class LayersController extends View {
|
|
|
94
94
|
|
|
95
95
|
sampler2d_scale(layer.diffuse, t);
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
sampler2d_to_html_canvas(t, 1, 0, vCanvas.el);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
update();
|
package/package.json
CHANGED
|
@@ -19,7 +19,7 @@ import CheckersTextureURI from "../../src/engine/graphics/texture/CheckersTextur
|
|
|
19
19
|
import { copy_Sampler2D_channel_data } from "../../src/engine/graphics/texture/sampler/copy_Sampler2D_channel_data.js";
|
|
20
20
|
import { sampler2d_scale } from "../../src/engine/graphics/texture/sampler/resize/sampler2d_scale.js";
|
|
21
21
|
import { Sampler2D } from "../../src/engine/graphics/texture/sampler/Sampler2D.js";
|
|
22
|
-
import
|
|
22
|
+
import sampler2d_to_html_canvas from "../../src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
23
23
|
import { NativeListController } from "../../src/view/controller/controls/NativeListController.js";
|
|
24
24
|
import { CanvasView } from "../../src/view/elements/CanvasView.js";
|
|
25
25
|
import EmptyView from "../../src/view/elements/EmptyView.js";
|
|
@@ -157,7 +157,7 @@ function makeTextureSlotView({ slot }) {
|
|
|
157
157
|
|
|
158
158
|
|
|
159
159
|
function update() {
|
|
160
|
-
|
|
160
|
+
sampler2d_to_html_canvas(slot.sampler, 1, 0, preview.el);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
preview.on.linked.add(update);
|
package/src/core/UUID.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { Sampler2D } from "../../../engine/graphics/texture/sampler/Sampler2D.js";
|
|
2
|
+
import sampler2D2Canvas from "../../../engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
1
3
|
import { CanvasView } from "../../../view/elements/CanvasView.js";
|
|
2
|
-
import { kelvin_to_rgb } from "./kelvin_to_rgb.js";
|
|
3
4
|
import { lerp } from "../../math/lerp.js";
|
|
4
|
-
import { Sampler2D } from "../../../engine/graphics/texture/sampler/Sampler2D.js";
|
|
5
|
-
import sampler2D2Canvas from "../../../engine/graphics/texture/sampler/Sampler2D2Canvas.js";
|
|
6
5
|
import { sRGB_to_linear } from "../sRGB/sRGB_to_linear.js";
|
|
6
|
+
import { kelvin_to_rgb } from "./kelvin_to_rgb.js";
|
|
7
7
|
|
|
8
8
|
const view = new CanvasView();
|
|
9
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AABB2.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/aabb/AABB2.js"],"names":[],"mappings":";AAYA;;;GAGG;AACH;IACI;;;;;;OAMG;IACH,gEA+BC;IApBG;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IAGhB;;;OAGG;IACH,WAFW,MAAM,
|
|
1
|
+
{"version":3,"file":"AABB2.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/aabb/AABB2.js"],"names":[],"mappings":";AAYA;;;GAGG;AACH;IACI;;;;;;OAMG;IACH,gEA+BC;IApBG;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IAGhB;;;OAGG;IACH,gBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,iBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,WAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,aAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QA8BlB;IAED;;;OAGG;IACH,sBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,sBAJW,KAAK,UACL,KAAK,GACH,OAAO,CAcnB;IAED;;;;OAIG;IACH,qBAHW,KAAK,GACH,OAAO,CAcnB;IAED;;;;;;;OAOG;IACH,0EAMC;IAED;;;;OAIG;IACH,qBAHW,MAAM,KACN,MAAM,QAKhB;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,0BALW,OAAO,MACP,OAAO,UACP,OAAO,GACL,OAAO,CA0BnB;IAED;;;;OAIG;IACH,kCAHW,OAAO,UACP,OAAO,QAmBjB;IAED;;;;OAIG;IACH,wBAHW,KAAK,GACH,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,sBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CA4BlB;IAED;;;OAGG;IACH,eAFa,MAAM,CASlB;IAED;;;OAGG;IACH,sBAFY,MAAM,CAYjB;IAED;;;;;OAKG;IACH,iBAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAFW,KAAK,QAIf;IAED;;;OAGG;IACH,mBAFW,OAAO,WAMjB;IAED;;;OAGG;IACH,sBAEC;IAED;;;OAGG;IACH,sBAGC;IAED;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,aAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,qBAEC;IAED;;;;;;;OAOG;IACH,0DAiBC;IAED;;;;OAIG;IACH,eAHW,MAAM,KACN,MAAM,QAOhB;IAED;;;;OAIG;IACH,aAHW,MAAM,UACN,MAAM,QAIhB;IAED;;;OAGG;IACH,SAFa,KAAK,CAIjB;IAED;;;;OAIG;IACH,YAHW,KAAK,GACH,KAAK,CAIjB;IAED;;;;OAIG;IACH,cAHW,KAAK,GACH,OAAO,CAOnB;IAED;;;;;;OAMG;IACH,UALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAQhB;IAED;;;;;;OAMG;IACH,uBALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAsBhB;IAED;;OAEG;IACH,oCAEC;IAED,mBAEC;IAED;;;;;MAOC;IAED,0BAEC;CACJ;;;qBAqCS,KAAK;qBAML,KAAK;;oBA1mBK,kBAAkB;AAkkBtC;;;;;;;GAOG;AACH,gDANW,KAAK,MACL,KAAK,MACL,OAAO,MACP,OAAO,GACL,OAAO,CAsBnB"}
|
|
@@ -55,12 +55,38 @@ class AABB2 {
|
|
|
55
55
|
this.y1 = y1;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* @param {number} size
|
|
61
|
+
*/
|
|
62
|
+
growWidth(size){
|
|
63
|
+
assert.isNumber(size,'size');
|
|
64
|
+
assert.notNaN(size,'size');
|
|
65
|
+
|
|
66
|
+
this.x0 -= size;
|
|
67
|
+
this.x1 += size;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
*
|
|
72
|
+
* @param {number} size
|
|
73
|
+
*/
|
|
74
|
+
growHeight(size){
|
|
75
|
+
assert.isNumber(size,'size');
|
|
76
|
+
assert.notNaN(size,'size');
|
|
77
|
+
|
|
78
|
+
this.y0 -= size;
|
|
79
|
+
this.y1 += size;
|
|
80
|
+
}
|
|
81
|
+
|
|
58
82
|
/**
|
|
59
83
|
* Expands box in every direction by a given amount
|
|
60
84
|
* @param {number} size
|
|
61
85
|
*/
|
|
62
86
|
grow(size) {
|
|
63
|
-
|
|
87
|
+
|
|
88
|
+
this.growWidth(size);
|
|
89
|
+
this.growHeight(size);
|
|
64
90
|
}
|
|
65
91
|
|
|
66
92
|
/**
|
|
@@ -13,7 +13,7 @@ import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
|
|
|
13
13
|
import { makeSolidArrowGeometry } from "../../../../../../editor/process/symbolic/makeSolidArrowGeometry.js";
|
|
14
14
|
import { AssetManager } from "../../../../../engine/asset/AssetManager.js";
|
|
15
15
|
import { ImageRGBADataLoader } from "../../../../../engine/asset/loaders/image/ImageRGBADataLoader.js";
|
|
16
|
-
import sampler2D2Canvas from "../../../../../engine/graphics/texture/sampler/
|
|
16
|
+
import sampler2D2Canvas from "../../../../../engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
17
17
|
import { MouseEvents } from "../../../../../engine/input/devices/events/MouseEvents.js";
|
|
18
18
|
import { CSS_ABSOLUTE_POSITIONING } from "../../../../../view/CSS_ABSOLUTE_POSITIONING.js";
|
|
19
19
|
import { CanvasView } from "../../../../../view/elements/CanvasView.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {TetrahedralMesh} mesh
|
|
4
|
+
* @param {ArrayLike<number>|number[]} points
|
|
5
|
+
* @param {number} tet_index
|
|
6
|
+
* @return {number}
|
|
7
|
+
*/
|
|
8
|
+
export function compute_tetrahedron_volume(mesh: TetrahedralMesh, points: ArrayLike<number> | number[], tet_index: number): number;
|
|
9
|
+
//# sourceMappingURL=compute_tetrahedron_volume.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute_tetrahedron_volume.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,0EAJW,UAAU,MAAM,CAAC,GAAC,MAAM,EAAE,aAC1B,MAAM,GACL,MAAM,CAUjB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { tetrahedron_compute_signed_volume } from "./tetrahedron_compute_signed_volume.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param {TetrahedralMesh} mesh
|
|
6
|
+
* @param {ArrayLike<number>|number[]} points
|
|
7
|
+
* @param {number} tet_index
|
|
8
|
+
* @return {number}
|
|
9
|
+
*/
|
|
10
|
+
export function compute_tetrahedron_volume(mesh, points, tet_index) {
|
|
11
|
+
|
|
12
|
+
const a = mesh.getVertexIndex(tet_index, 0);
|
|
13
|
+
const b = mesh.getVertexIndex(tet_index, 1);
|
|
14
|
+
const c = mesh.getVertexIndex(tet_index, 2);
|
|
15
|
+
const d = mesh.getVertexIndex(tet_index, 3);
|
|
16
|
+
|
|
17
|
+
return tetrahedron_compute_signed_volume(points, a, b, c, d);
|
|
18
|
+
}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* @jest-environment jsdom
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { compute_delaunay_tetrahedral_mesh } from "./compute_delaunay_tetrahedral_mesh.js";
|
|
6
5
|
import { TetrahedralMesh } from "../TetrahedralMesh.js";
|
|
6
|
+
import { validate_tetrahedral_mesh } from "../validate_tetrahedral_mesh.js";
|
|
7
|
+
import { compute_delaunay_tetrahedral_mesh } from "./compute_delaunay_tetrahedral_mesh.js";
|
|
7
8
|
|
|
8
9
|
test('single point', () => {
|
|
9
10
|
const mesh = new TetrahedralMesh();
|
|
@@ -13,10 +14,23 @@ test('single point', () => {
|
|
|
13
14
|
|
|
14
15
|
test('exactly 4 points', () => {
|
|
15
16
|
const mesh = new TetrahedralMesh();
|
|
16
|
-
|
|
17
|
+
const points = [
|
|
17
18
|
-1, 0, 0,
|
|
18
19
|
1, 0, 0,
|
|
19
20
|
0.5, 1, 0,
|
|
20
21
|
0.5, 0, 1
|
|
21
|
-
]
|
|
22
|
+
];
|
|
23
|
+
compute_delaunay_tetrahedral_mesh(mesh, points, 4);
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
// do full validation
|
|
27
|
+
const problems = [];
|
|
28
|
+
|
|
29
|
+
const is_valid = validate_tetrahedral_mesh(mesh, points, (problem) => problems.push(problem));
|
|
30
|
+
|
|
31
|
+
if (!is_valid) {
|
|
32
|
+
console.error(problems.join('\n'));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
expect(is_valid).toBe(true);
|
|
22
36
|
});
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { AABB3 } from "../../aabb/AABB3.js";
|
|
2
|
+
import { compute_tetrahedron_volume } from "../compute_tetrahedron_volume.js";
|
|
2
3
|
import { TetrahedralMesh } from "../TetrahedralMesh.js";
|
|
4
|
+
import { validate_tetrahedral_mesh } from "../validate_tetrahedral_mesh.js";
|
|
3
5
|
import { tetrahedral_mesh_build_from_grid } from "./tetrahedral_mesh_build_from_grid.js";
|
|
4
6
|
|
|
5
7
|
test("Single cube", () => {
|
|
6
8
|
|
|
7
9
|
const mesh = new TetrahedralMesh();
|
|
8
10
|
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @type {number[]}
|
|
14
|
+
*/
|
|
9
15
|
const points = [];
|
|
10
16
|
|
|
11
17
|
tetrahedral_mesh_build_from_grid(
|
|
@@ -25,14 +31,31 @@ test("Single cube", () => {
|
|
|
25
31
|
const tetrahedrons = mesh.getLive();
|
|
26
32
|
|
|
27
33
|
for (let i = 0; i < tetrahedrons.length; i++) {
|
|
28
|
-
const
|
|
34
|
+
const tet_index = tetrahedrons[i];
|
|
29
35
|
|
|
30
36
|
for (let vertex_index = 0; vertex_index < 4; vertex_index++) {
|
|
31
37
|
|
|
32
|
-
const vert = mesh.getVertexIndex(
|
|
38
|
+
const vert = mesh.getVertexIndex(tet_index, vertex_index);
|
|
33
39
|
|
|
34
40
|
expect(vert).toBeGreaterThanOrEqual(0);
|
|
35
41
|
expect(vert).toBeLessThan(8);
|
|
36
42
|
}
|
|
43
|
+
|
|
44
|
+
// tetrahedrons should have positive volume
|
|
45
|
+
const volume = compute_tetrahedron_volume(mesh, points, tet_index);
|
|
46
|
+
|
|
47
|
+
expect(volume).toBeGreaterThan(0);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// do full validation
|
|
51
|
+
const problems = [];
|
|
52
|
+
|
|
53
|
+
const is_valid = validate_tetrahedral_mesh(mesh, points, (problem) => problems.push(problem));
|
|
54
|
+
|
|
55
|
+
if (!is_valid) {
|
|
56
|
+
console.error(problems.join('\n'));
|
|
37
57
|
}
|
|
58
|
+
|
|
59
|
+
expect(is_valid).toBe(true);
|
|
60
|
+
|
|
38
61
|
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vertices must be unique inside a single tetrahedron, that is - no repetitions are allowed
|
|
3
|
+
* If vertices are repeated - volume will be 0 and tetrahedron will be degenerate
|
|
4
|
+
* @param {TetrahedralMesh} mesh
|
|
5
|
+
* @param {number} tet
|
|
6
|
+
* @returns {boolean}
|
|
7
|
+
*/
|
|
8
|
+
export function is_tetrahedron_degenerate(mesh: TetrahedralMesh, tet: number): boolean;
|
|
9
|
+
//# sourceMappingURL=is_tetrahedron_degenerate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is_tetrahedron_degenerate.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/tetrahedra/is_tetrahedron_degenerate.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,sEAHW,MAAM,GACJ,OAAO,CAenB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vertices must be unique inside a single tetrahedron, that is - no repetitions are allowed
|
|
3
|
+
* If vertices are repeated - volume will be 0 and tetrahedron will be degenerate
|
|
4
|
+
* @param {TetrahedralMesh} mesh
|
|
5
|
+
* @param {number} tet
|
|
6
|
+
* @returns {boolean}
|
|
7
|
+
*/
|
|
8
|
+
export function is_tetrahedron_degenerate(mesh, tet) {
|
|
9
|
+
|
|
10
|
+
for (let i0 = 0; i0 < 4; i0++) {
|
|
11
|
+
const v0 = mesh.getVertexIndex(tet, i0);
|
|
12
|
+
for (let i1 = i0 + 1; i1 < 4; i1++) {
|
|
13
|
+
if (v0 === mesh.getVertexIndex(tet, i1)) {
|
|
14
|
+
// identical vertices
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tetrahedron_compute_signed_volume.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.js"],"names":[],"mappings":"AAkCA
|
|
1
|
+
{"version":3,"file":"tetrahedron_compute_signed_volume.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.js"],"names":[],"mappings":"AAkCA;;;;;;;;;;GAUG;AACH,0DAPW,UAAU,MAAM,CAAC,GAAC,MAAM,EAAE,GAAC,YAAY,KACvC,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,GACJ,MAAM,CA0ClB"}
|
|
@@ -33,8 +33,9 @@ function triangle_compute_signed_volume(
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
|
+
* Uses counter-clock-wise winding rule
|
|
37
|
+
* Very similar to "orient3d" method
|
|
36
38
|
* @see https://en.wikipedia.org/wiki/Tetrahedron
|
|
37
|
-
*
|
|
38
39
|
* @param {ArrayLike<number>|number[]|Float32Array} points
|
|
39
40
|
* @param {number} a
|
|
40
41
|
* @param {number} b
|
|
@@ -2,7 +2,7 @@ import { BoxBufferGeometry, MeshStandardMaterial } from "three";
|
|
|
2
2
|
import { Transform } from "../../../../../engine/ecs/transform/Transform.js";
|
|
3
3
|
import { PathTracedScene } from "../../../../../engine/graphics/sh3/path_tracer/PathTracedScene.js";
|
|
4
4
|
import { Sampler2D } from "../../../../../engine/graphics/texture/sampler/Sampler2D.js";
|
|
5
|
-
import sampler2D2Canvas from "../../../../../engine/graphics/texture/sampler/
|
|
5
|
+
import sampler2D2Canvas from "../../../../../engine/graphics/texture/sampler/sampler2d_to_html_canvas.js";
|
|
6
6
|
import { CanvasView } from "../../../../../view/elements/CanvasView.js";
|
|
7
7
|
import { Color } from "../../../../color/Color.js";
|
|
8
8
|
import { halton_sequence } from "../../../../math/statistics/halton_sequence.js";
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {TetrahedralMesh} mesh
|
|
4
|
-
* @param {ArrayLike<number>|number[]} points
|
|
5
|
-
* @param {number} tet
|
|
6
|
-
* @return {number}
|
|
7
|
-
*/
|
|
8
|
-
export function get_tetrahedron_volume(mesh: TetrahedralMesh, points: ArrayLike<number> | number[], tet: number): number;
|
|
9
1
|
/**
|
|
10
2
|
*
|
|
11
3
|
* @param {TetrahedralMesh} mesh
|
|
@@ -25,10 +17,10 @@ export function validate_tetrahedron_neighbourhood(mesh: TetrahedralMesh, tet: n
|
|
|
25
17
|
/**
|
|
26
18
|
*
|
|
27
19
|
* @param {TetrahedralMesh} mesh
|
|
28
|
-
* @param {ArrayLike<number
|
|
20
|
+
* @param {ArrayLike<number>|number[]|Float32Array} points
|
|
29
21
|
* @param {function(problem:string):*} [consumer]
|
|
30
22
|
* @returns {boolean}
|
|
31
23
|
*/
|
|
32
|
-
export function validate_tetrahedral_mesh(mesh: TetrahedralMesh, points: ArrayLike<number
|
|
24
|
+
export function validate_tetrahedral_mesh(mesh: TetrahedralMesh, points: ArrayLike<number> | number[] | Float32Array, consumer?: typeof noop): boolean;
|
|
33
25
|
import { noop } from "../../../function/noop.js";
|
|
34
26
|
//# sourceMappingURL=validate_tetrahedral_mesh.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate_tetrahedral_mesh.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate_tetrahedral_mesh.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,+DALW,MAAM,gBACN,MAAM,mBACG,MAAM,WACd,OAAO,CA6DlB;AAGD;;;;;GAKG;AACH,+EAHW,MAAM,mCAehB;AA0BD;;;;;;GAMG;AACH,yEAJW,UAAU,MAAM,CAAC,GAAC,MAAM,EAAE,GAAC,YAAY,2BAErC,OAAO,CAkCnB;qBA9JoB,2BAA2B"}
|