@carbonenginejs/runtime-utils 0.1.1 → 0.1.3
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/LICENSE +21 -21
- package/NOTICE +23 -23
- package/README.md +69 -69
- package/THIRD-PARTY-NOTICES.md +64 -64
- package/docs/README.md +74 -73
- package/docs/architecture.md +101 -101
- package/docs/concepts/foundation-consolidation.md +85 -85
- package/docs/concepts/model-lifecycle.md +111 -0
- package/docs/const-kb.md +85 -87
- package/docs/core-types/DECORATOR-TODOS.md +25 -25
- package/docs/core-types/README.md +229 -168
- package/docs/reference/api.md +105 -102
- package/docs/reference/classes/README.md +135 -135
- package/package.json +139 -139
- package/src/arrays.js +5 -5
- package/src/audio/audioFormats.js +34 -34
- package/src/audio/index.js +1 -1
- package/src/box3.js +331 -331
- package/src/bytes.js +56 -56
- package/src/compression.js +56 -56
- package/src/constants/index.js +7 -7
- package/src/constants/trinity.js +13 -13
- package/src/constants.js +15 -15
- package/src/curve.js +79 -79
- package/src/d3d/dxgiFormats.js +46 -46
- package/src/d3d/index.js +2 -2
- package/src/d3d/primitiveTopology.js +11 -11
- package/src/document/CjsCarbonDocument.js +212 -212
- package/src/document/CjsClassRegistry.js +373 -373
- package/src/document/CjsDocumentDehydrator.js +142 -142
- package/src/document/CjsDocumentHydrator.js +156 -156
- package/src/document/CjsStructRegistry.js +348 -348
- package/src/document/hydrationAdapter.js +129 -129
- package/src/document/index.js +6 -6
- package/src/errors/CjsError.js +286 -286
- package/src/errors/index.js +5 -5
- package/src/geometry/box.js +22 -22
- package/src/geometry/cylinder.js +22 -22
- package/src/geometry/helpers/earcut.js +1 -1
- package/src/geometry/helpers/misc.js +3 -3
- package/src/geometry/index.js +8 -8
- package/src/geometry/json.js +67 -67
- package/src/geometry/lathe.js +44 -44
- package/src/geometry/plane.js +14 -14
- package/src/geometry/shape.js +4 -4
- package/src/geometry/sphere.js +24 -24
- package/src/geometry/torus.js +14 -14
- package/src/graphics/colorSpaces.js +22 -22
- package/src/graphics/index.js +4 -4
- package/src/graphics/pixelFormats.js +158 -158
- package/src/graphics/textureDimensions.js +22 -22
- package/src/graphics/trinityEnums.js +87 -87
- package/src/index.js +62 -62
- package/src/is.js +108 -46
- package/src/json.js +23 -23
- package/src/lifecycle/CjsLifecycleState.js +77 -77
- package/src/lifecycle/index.js +1 -1
- package/src/lne3.js +70 -70
- package/src/lookup.js +48 -48
- package/src/mat3.js +51 -51
- package/src/mat4.js +699 -699
- package/src/math/index.js +25 -25
- package/src/math/scalar.js +63 -63
- package/src/media/index.js +1 -1
- package/src/media/mediaTypes.js +50 -50
- package/src/mesh.js +424 -424
- package/src/model/CjsEventEmitter.js +333 -333
- package/src/model/CjsModel.js +1589 -1544
- package/src/model/CjsModelState.js +72 -72
- package/src/model/index.js +4 -4
- package/src/model/sourceRecordUtils.js +54 -54
- package/src/noise.js +310 -310
- package/src/num.js +827 -827
- package/src/object.js +39 -39
- package/src/path.js +53 -53
- package/src/pln.js +125 -125
- package/src/pool.js +9 -9
- package/src/quat.js +144 -144
- package/src/ray3.js +188 -188
- package/src/renderContext/formats.js +145 -145
- package/src/renderContext/index.js +5 -5
- package/src/renderContext/presentation.js +125 -125
- package/src/renderContext/resources.js +27 -27
- package/src/renderContext/upscaling.js +22 -22
- package/src/renderContext/window.js +20 -20
- package/src/runtime/CjsRuntimeState.js +50 -50
- package/src/schema/CjsSchema.js +555 -318
- package/src/schema/index.js +4 -4
- package/src/shader/index.js +1 -1
- package/src/shader/shaderStages.js +37 -37
- package/src/sph3.js +181 -181
- package/src/tangent.js +288 -288
- package/src/text.js +40 -40
- package/src/tri3.js +98 -98
- package/src/types/carbonTypes.js +635 -635
- package/src/types/index.js +2 -2
- package/src/utils.js +58 -58
- package/src/validation.js +46 -46
- package/src/vec2.js +229 -229
- package/src/vec3.js +1188 -1172
- package/src/vec4.js +347 -347
- package/src/vertex.js +108 -108
- package/src/webgpu/index.js +1 -1
- package/src/webgpu/textureFormats.js +121 -121
package/src/tri3.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { vec3 } from "./vec3.js";
|
|
2
|
-
import { mat3 } from "./mat3.js";
|
|
3
|
-
import { pln } from "./pln.js";
|
|
4
|
-
import { lne3 } from "./lne3.js";
|
|
5
|
-
import { pool } from "./pool.js";
|
|
1
|
+
import { vec3 } from "./vec3.js";
|
|
2
|
+
import { mat3 } from "./mat3.js";
|
|
3
|
+
import { pln } from "./pln.js";
|
|
4
|
+
import { lne3 } from "./lne3.js";
|
|
5
|
+
import { pool } from "./pool.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* 3d Triangle
|
|
@@ -10,29 +10,29 @@ import { pool } from "./pool.js";
|
|
|
10
10
|
* @typedef {Float32Array} tri3
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
export const tri3 = {};
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Allocates a pooled tri3
|
|
17
|
-
* @returns {Float32Array|tri3}
|
|
18
|
-
*/
|
|
19
|
-
tri3.alloc = function()
|
|
20
|
-
{
|
|
21
|
-
return pool.allocF32(9);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Unallocates a pooled tri3
|
|
26
|
-
* @param {tri3|Float32Array} a
|
|
27
|
-
*/
|
|
28
|
-
tri3.unalloc = function(a)
|
|
29
|
-
{
|
|
30
|
-
pool.freeType(a);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Gets a subarray of a tri3's first vertex
|
|
35
|
-
*
|
|
13
|
+
export const tri3 = {};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Allocates a pooled tri3
|
|
17
|
+
* @returns {Float32Array|tri3}
|
|
18
|
+
*/
|
|
19
|
+
tri3.alloc = function()
|
|
20
|
+
{
|
|
21
|
+
return pool.allocF32(9);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Unallocates a pooled tri3
|
|
26
|
+
* @param {tri3|Float32Array} a
|
|
27
|
+
*/
|
|
28
|
+
tri3.unalloc = function(a)
|
|
29
|
+
{
|
|
30
|
+
pool.freeType(a);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Gets a subarray of a tri3's first vertex
|
|
35
|
+
*
|
|
36
36
|
* @param {tri3} a
|
|
37
37
|
* @returns {vec3}
|
|
38
38
|
*/
|
|
@@ -72,8 +72,8 @@ tri3.area = function(a)
|
|
|
72
72
|
by = a[1] - a[4],
|
|
73
73
|
bz = a[2] - a[5];
|
|
74
74
|
// Cross product
|
|
75
|
-
let x = ay * bz - az * by,
|
|
76
|
-
y = az * bx - ax * bz,
|
|
75
|
+
let x = ay * bz - az * by,
|
|
76
|
+
y = az * bx - ax * bz,
|
|
77
77
|
z = ax * by - ay * bx;
|
|
78
78
|
// Return half length
|
|
79
79
|
return Math.sqrt(x * x + y * y + z * z) * 0.5;
|
|
@@ -176,19 +176,19 @@ tri3.fromArray = mat3.fromArray;
|
|
|
176
176
|
* @param {vec3} point
|
|
177
177
|
* @returns {tri3} out
|
|
178
178
|
*/
|
|
179
|
-
tri3.getBaryCentricCoordinates = function(out, a, point)
|
|
180
|
-
{
|
|
181
|
-
let ax = a[6] - a[0],
|
|
182
|
-
ay = a[7] - a[1],
|
|
183
|
-
az = a[8] - a[2],
|
|
184
|
-
|
|
185
|
-
bx = a[3] - a[0],
|
|
186
|
-
by = a[4] - a[1],
|
|
187
|
-
bz = a[5] - a[2],
|
|
188
|
-
|
|
189
|
-
cx = point[0] - a[0],
|
|
190
|
-
cy = point[1] - a[1],
|
|
191
|
-
cz = point[2] - a[2];
|
|
179
|
+
tri3.getBaryCentricCoordinates = function(out, a, point)
|
|
180
|
+
{
|
|
181
|
+
let ax = a[6] - a[0],
|
|
182
|
+
ay = a[7] - a[1],
|
|
183
|
+
az = a[8] - a[2],
|
|
184
|
+
|
|
185
|
+
bx = a[3] - a[0],
|
|
186
|
+
by = a[4] - a[1],
|
|
187
|
+
bz = a[5] - a[2],
|
|
188
|
+
|
|
189
|
+
cx = point[0] - a[0],
|
|
190
|
+
cy = point[1] - a[1],
|
|
191
|
+
cz = point[2] - a[2];
|
|
192
192
|
|
|
193
193
|
let dot00 = ax * ax + ay * ay + az * az,
|
|
194
194
|
dot01 = ax * bx + ay * by + az * bz,
|
|
@@ -282,12 +282,12 @@ tri3.getClosestEdgeToPoint = (function()
|
|
|
282
282
|
debug.edgeEnd = 2;
|
|
283
283
|
break;
|
|
284
284
|
|
|
285
|
-
default:
|
|
286
|
-
debug.edgeStart = 2;
|
|
287
|
-
debug.edgeEnd = 0;
|
|
288
|
-
break;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
285
|
+
default:
|
|
286
|
+
debug.edgeStart = 2;
|
|
287
|
+
debug.edgeEnd = 0;
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
291
|
|
|
292
292
|
return out;
|
|
293
293
|
};
|
|
@@ -573,19 +573,19 @@ tri3.toArray = mat3.toArray;
|
|
|
573
573
|
* @param {vec3} v2
|
|
574
574
|
* @param {vec3} v3
|
|
575
575
|
*/
|
|
576
|
-
tri3.toVertices = function(a, v1, v2, v3)
|
|
577
|
-
{
|
|
578
|
-
v1[0] = a[0];
|
|
579
|
-
v1[1] = a[1];
|
|
580
|
-
v1[2] = a[2];
|
|
581
|
-
v2[0] = a[3];
|
|
582
|
-
v2[1] = a[4];
|
|
583
|
-
v2[2] = a[5];
|
|
584
|
-
v3[0] = a[6];
|
|
585
|
-
v3[1] = a[7];
|
|
586
|
-
v3[2] = a[8];
|
|
587
|
-
return a;
|
|
588
|
-
};
|
|
576
|
+
tri3.toVertices = function(a, v1, v2, v3)
|
|
577
|
+
{
|
|
578
|
+
v1[0] = a[0];
|
|
579
|
+
v1[1] = a[1];
|
|
580
|
+
v1[2] = a[2];
|
|
581
|
+
v2[0] = a[3];
|
|
582
|
+
v2[1] = a[4];
|
|
583
|
+
v2[2] = a[5];
|
|
584
|
+
v3[0] = a[6];
|
|
585
|
+
v3[1] = a[7];
|
|
586
|
+
v3[2] = a[8];
|
|
587
|
+
return a;
|
|
588
|
+
};
|
|
589
589
|
|
|
590
590
|
let vec3_0, vec3_1, vec3_2;
|
|
591
591
|
|
|
@@ -597,8 +597,8 @@ let vec3_0, vec3_1, vec3_2;
|
|
|
597
597
|
* @param {mat4} m
|
|
598
598
|
* @return {tri3}
|
|
599
599
|
*/
|
|
600
|
-
tri3.transformMat4 = function(out, a, m)
|
|
601
|
-
{
|
|
600
|
+
tri3.transformMat4 = function(out, a, m)
|
|
601
|
+
{
|
|
602
602
|
if (!vec3_0)
|
|
603
603
|
{
|
|
604
604
|
vec3_0 = vec3.create();
|
|
@@ -613,38 +613,38 @@ tri3.transformMat4 = function(out, a, m)
|
|
|
613
613
|
vec3.transformMat4(vec3_0, vec3_0, m);
|
|
614
614
|
vec3.transformMat4(vec3_1, vec3_1, m);
|
|
615
615
|
vec3.transformMat4(vec3_2, vec3_2, m);
|
|
616
|
-
|
|
617
|
-
return tri3.fromVertices(out, vec3_0, vec3_1, vec3_2);
|
|
618
|
-
};
|
|
619
|
-
|
|
620
|
-
export const {
|
|
621
|
-
alloc,
|
|
622
|
-
unalloc,
|
|
623
|
-
$v1,
|
|
624
|
-
$v2,
|
|
625
|
-
$v3,
|
|
626
|
-
area,
|
|
627
|
-
create,
|
|
628
|
-
clone,
|
|
629
|
-
contains,
|
|
630
|
-
copy,
|
|
631
|
-
fromVertices,
|
|
632
|
-
fromArray,
|
|
633
|
-
getBaryCentricCoordinates,
|
|
634
|
-
getClosestEdgeToPoint,
|
|
635
|
-
getClosestPointToPoint,
|
|
636
|
-
getClosestVertexToPoint,
|
|
637
|
-
getMidpoint,
|
|
638
|
-
getNormalFromVertices,
|
|
639
|
-
getNormal,
|
|
640
|
-
getV1,
|
|
641
|
-
getV2,
|
|
642
|
-
getV3,
|
|
643
|
-
setV1,
|
|
644
|
-
setV2,
|
|
645
|
-
setV3,
|
|
646
|
-
toArray,
|
|
647
|
-
toVertices,
|
|
648
|
-
transformMat4
|
|
649
|
-
} = tri3;
|
|
616
|
+
|
|
617
|
+
return tri3.fromVertices(out, vec3_0, vec3_1, vec3_2);
|
|
618
|
+
};
|
|
619
|
+
|
|
620
|
+
export const {
|
|
621
|
+
alloc,
|
|
622
|
+
unalloc,
|
|
623
|
+
$v1,
|
|
624
|
+
$v2,
|
|
625
|
+
$v3,
|
|
626
|
+
area,
|
|
627
|
+
create,
|
|
628
|
+
clone,
|
|
629
|
+
contains,
|
|
630
|
+
copy,
|
|
631
|
+
fromVertices,
|
|
632
|
+
fromArray,
|
|
633
|
+
getBaryCentricCoordinates,
|
|
634
|
+
getClosestEdgeToPoint,
|
|
635
|
+
getClosestPointToPoint,
|
|
636
|
+
getClosestVertexToPoint,
|
|
637
|
+
getMidpoint,
|
|
638
|
+
getNormalFromVertices,
|
|
639
|
+
getNormal,
|
|
640
|
+
getV1,
|
|
641
|
+
getV2,
|
|
642
|
+
getV3,
|
|
643
|
+
setV1,
|
|
644
|
+
setV2,
|
|
645
|
+
setV3,
|
|
646
|
+
toArray,
|
|
647
|
+
toVertices,
|
|
648
|
+
transformMat4
|
|
649
|
+
} = tri3;
|
|
650
650
|
|