@code3d/core 0.0.1-alpha.4 → 0.0.1-alpha.7
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 +42 -5
- package/bld/chunks/{chunk-J77FMYFY.js → chunk-4WLVDYUJ.js} +992 -545
- package/bld/chunks/chunk-4WLVDYUJ.js.map +7 -0
- package/bld/chunks/{chunk-PAIFBNU4.js → chunk-C3AJ6WNB.js} +2 -2
- package/bld/chunks/{chunk-OQLJDJIF.js → chunk-TCMEEKWL.js} +2 -2
- package/bld/chunks/{chunk-ZMT6EFHL.js → chunk-VHSPHJ5F.js} +3 -3
- package/bld/library/bound-solver.d.ts +29 -5
- package/bld/library/bound-solver.d.ts.map +1 -1
- package/bld/library/cached.d.ts +5 -3
- package/bld/library/cached.d.ts.map +1 -1
- package/bld/library/index.d.ts +4 -4
- package/bld/library/index.d.ts.map +1 -1
- package/bld/library/index.js +17 -3
- package/bld/library/kernel-cache.d.ts +6 -3
- package/bld/library/kernel-cache.d.ts.map +1 -1
- package/bld/library/relation-solver.d.ts +12 -7
- package/bld/library/relation-solver.d.ts.map +1 -1
- package/bld/library/replicad.js +2 -2
- package/bld/library/runtime.d.ts +218 -82
- package/bld/library/runtime.d.ts.map +1 -1
- package/bld/library/sketch.d.ts +2 -2
- package/bld/library/sketch.d.ts.map +1 -1
- package/bld/library/topology.d.ts +2 -0
- package/bld/library/topology.d.ts.map +1 -1
- package/bld/node/index.js +19 -5
- package/bld/node/replicad.js +4 -4
- package/bld/tooling/index.d.ts +3 -3
- package/bld/tooling/index.d.ts.map +1 -1
- package/bld/tooling/index.js +18 -10
- package/package.json +1 -1
- package/src/library/bound-solver.ts +103 -73
- package/src/library/cached.ts +29 -8
- package/src/library/index.ts +15 -4
- package/src/library/kernel-cache.ts +37 -5
- package/src/library/relation-solver.ts +194 -110
- package/src/library/runtime.ts +1046 -442
- package/src/library/sketch.ts +3 -3
- package/src/library/topology.ts +13 -2
- package/src/tooling/index.ts +15 -7
- package/bld/chunks/chunk-J77FMYFY.js.map +0 -7
- /package/bld/chunks/{chunk-PAIFBNU4.js.map → chunk-C3AJ6WNB.js.map} +0 -0
- /package/bld/chunks/{chunk-OQLJDJIF.js.map → chunk-TCMEEKWL.js.map} +0 -0
- /package/bld/chunks/{chunk-ZMT6EFHL.js.map → chunk-VHSPHJ5F.js.map} +0 -0
package/bld/library/sketch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SketchFrame, type
|
|
1
|
+
import { SketchFrame, type Relation, type FaceAnchor, type FaceModel } from './runtime.js';
|
|
2
2
|
/** Current coordinates in a sketch's local two-dimensional plane. */
|
|
3
3
|
export type SketchPosition = readonly [x: number, y: number];
|
|
4
4
|
export type SketchArcDirection = 'cw' | 'ccw';
|
|
@@ -52,7 +52,7 @@ export interface Sketch {
|
|
|
52
52
|
/** The unbounded local XZ plane (+Y normal), independent of closed regions. */
|
|
53
53
|
readonly plane: FaceAnchor;
|
|
54
54
|
/** Relates this immutable sketch's frame without changing its two-dimensional data. */
|
|
55
|
-
relate(build: (self: Sketch) =>
|
|
55
|
+
relate(build: (self: Sketch) => Relation | readonly Relation[]): Sketch;
|
|
56
56
|
/** References a point defined in this layer. */
|
|
57
57
|
point(id: number): SketchPoint;
|
|
58
58
|
/** Adds a local layer while retaining the upstream sketch as read-only input. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sketch.d.ts","sourceRoot":"","sources":["../../src/library/sketch.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,WAAW,EAGX,KAAK,
|
|
1
|
+
{"version":3,"file":"sketch.d.ts","sourceRoot":"","sources":["../../src/library/sketch.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,7 @@ type StableEdgeGroup = Readonly<{
|
|
|
61
61
|
start: number;
|
|
62
62
|
count: number;
|
|
63
63
|
edgeId: EdgeId;
|
|
64
|
+
linear: boolean;
|
|
64
65
|
}>;
|
|
65
66
|
type StableSurfaceGroup = Readonly<{
|
|
66
67
|
start: number;
|
|
@@ -81,6 +82,7 @@ export declare function resolveTopologySelection(kind: TopologyKind, topology: S
|
|
|
81
82
|
export declare function topologyVertexPoints(shape: AnyShape, topology: VertexTopology, vertexIds: readonly VertexId[]): readonly TopologyPointData[];
|
|
82
83
|
export declare function topologyEdgeDirections(shape: AnyShape, topology: EdgeTopology, edgeIds: readonly EdgeId[]): readonly TopologyDirectionData[];
|
|
83
84
|
export declare function topologySurfaceDirections(shape: AnyShape, topology: SurfaceTopology, surfaceIds: readonly SurfaceId[]): readonly TopologyDirectionData[];
|
|
85
|
+
export declare function assertTopologyId(kind: TopologyKind, id: TopologyId): void;
|
|
84
86
|
export type TopologyInput = Readonly<{
|
|
85
87
|
shape: AnyShape;
|
|
86
88
|
topology: ShapeTopology;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../src/library/topology.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../src/library/topology.ts"],"names":[],"mappings":"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"}
|
package/bld/node/index.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import "../chunks/chunk-
|
|
1
|
+
import "../chunks/chunk-VHSPHJ5F.js";
|
|
2
2
|
import "../chunks/chunk-TJIN6S4R.js";
|
|
3
|
-
import "../chunks/chunk-
|
|
3
|
+
import "../chunks/chunk-TCMEEKWL.js";
|
|
4
4
|
import {
|
|
5
5
|
arc,
|
|
6
|
+
axisEdge,
|
|
7
|
+
axisLine,
|
|
6
8
|
bezier,
|
|
7
9
|
box,
|
|
8
|
-
|
|
10
|
+
cache,
|
|
9
11
|
circle,
|
|
10
12
|
coil,
|
|
11
13
|
cut,
|
|
@@ -19,22 +21,29 @@ import {
|
|
|
19
21
|
intersect,
|
|
20
22
|
line,
|
|
21
23
|
loft,
|
|
24
|
+
offset,
|
|
25
|
+
pivot,
|
|
26
|
+
pivotPoint,
|
|
27
|
+
pivotVertex,
|
|
22
28
|
point,
|
|
23
29
|
rectangle,
|
|
24
30
|
regularPolygon,
|
|
25
31
|
regularPrism,
|
|
32
|
+
rotate,
|
|
26
33
|
sketch,
|
|
27
34
|
sphere,
|
|
28
35
|
spline,
|
|
29
36
|
text,
|
|
30
37
|
tube,
|
|
31
38
|
union
|
|
32
|
-
} from "../chunks/chunk-
|
|
39
|
+
} from "../chunks/chunk-4WLVDYUJ.js";
|
|
33
40
|
export {
|
|
34
41
|
arc,
|
|
42
|
+
axisEdge,
|
|
43
|
+
axisLine,
|
|
35
44
|
bezier,
|
|
36
45
|
box,
|
|
37
|
-
|
|
46
|
+
cache,
|
|
38
47
|
circle,
|
|
39
48
|
coil,
|
|
40
49
|
cut,
|
|
@@ -48,10 +57,15 @@ export {
|
|
|
48
57
|
intersect,
|
|
49
58
|
line,
|
|
50
59
|
loft,
|
|
60
|
+
offset,
|
|
61
|
+
pivot,
|
|
62
|
+
pivotPoint,
|
|
63
|
+
pivotVertex,
|
|
51
64
|
point,
|
|
52
65
|
rectangle,
|
|
53
66
|
regularPolygon,
|
|
54
67
|
regularPrism,
|
|
68
|
+
rotate,
|
|
55
69
|
sketch,
|
|
56
70
|
sphere,
|
|
57
71
|
spline,
|
package/bld/node/replicad.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "../chunks/chunk-
|
|
1
|
+
import "../chunks/chunk-VHSPHJ5F.js";
|
|
2
2
|
import "../chunks/chunk-TJIN6S4R.js";
|
|
3
3
|
import {
|
|
4
4
|
definePrimitive,
|
|
5
5
|
replicad
|
|
6
|
-
} from "../chunks/chunk-
|
|
7
|
-
import "../chunks/chunk-
|
|
8
|
-
import "../chunks/chunk-
|
|
6
|
+
} from "../chunks/chunk-C3AJ6WNB.js";
|
|
7
|
+
import "../chunks/chunk-TCMEEKWL.js";
|
|
8
|
+
import "../chunks/chunk-4WLVDYUJ.js";
|
|
9
9
|
export {
|
|
10
10
|
definePrimitive,
|
|
11
11
|
replicad
|
package/bld/tooling/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { identifyCachedFunction } from '../library/cached.js';
|
|
|
2
2
|
export { installFontEngine, installModelResourceReader, } from '../library/font.js';
|
|
3
3
|
export { googleFontSources, googleFontUrl } from '../library/google-font.js';
|
|
4
4
|
export { installOpenCascade } from '../library/open-cascade.js';
|
|
5
|
-
export { clearKernelOperationCache, kernelOperationCacheStats, setKernelArtifactStore, setKernelExternalBytes, } from '../library/kernel-cache.js';
|
|
5
|
+
export { clearKernelOperationCache, kernelOperationCacheStats, setKernelCacheBudget, setKernelCachePersistenceThreshold, setKernelArtifactStore, setKernelExternalBytes, } from '../library/kernel-cache.js';
|
|
6
6
|
export type { KernelArtifactStore } from '../library/kernel-cache.js';
|
|
7
7
|
export { SketchConstraintError, installSketchSolver, } from '../library/sketch-solver.js';
|
|
8
8
|
export { assertSketchDragConnections, isSketch, sketchDefinition, sketchDragRequiresSolver, sketchEntityParameters, sketchFrame, sketchPointResolver, sketchSource, snapshotSketch, solveSketchSnapshot, withSketchEntityParameters, } from '../library/sketch.js';
|
|
@@ -14,8 +14,8 @@ export type { SketchCurve } from '../library/sketch-curves.js';
|
|
|
14
14
|
export { sketchRegions } from '../library/sketch-regions.js';
|
|
15
15
|
export type { SketchRegion } from '../library/sketch-regions.js';
|
|
16
16
|
export { describeOpenCascadeException } from '../library/open-cascade-error.js';
|
|
17
|
-
export { authoringApi, beginModelEvaluation,
|
|
18
|
-
export type { Constraint, ConstraintAnchorSnapshot,
|
|
17
|
+
export { authoringApi, beginModelEvaluation, relationPreview, currentRelationSelf, relationSelectionPreview, relationTraceReference, createModelSnapshotter, disposeModelObjects, executeSnapshotQueryBatch, instrumentRelation, instrumentModelOperation, isConstraint, isRelationExpression, isModelObject, modelElementReference, modelObjectRuntimeInfo, modelTopologyIds, modelTopologyReference, planModelSnapshotQueries, relatedModelObjects, retainModelGeometry, } from '../library/runtime.js';
|
|
18
|
+
export type { Constraint, ConstraintAnchorSnapshot, RelationExpression, RelationPreview, ConstraintSnapshot, TransformationSnapshot, RelationStageSnapshot, RelationSpatialReference, ConstraintTraceReference, RelationTraceReference, ElementKind, ElementSnapshot, ModelElementReference, ModelGeometryKind, ModelGeometrySnapshot, ModelKind, ModelObject, ModelObjectRuntimeInfo, ModelOperationInputRole, ModelOperationInstrumentation, ModelOperationKind, ModelOperationRegionSnapshot, ModelOperationSelectionSnapshot, ModelOperationSnapshot, ModelParameterDimension, ModelSnapshotObject, ModelSpatialOperation, RotationReferenceSnapshot, ModelTopologyReference, ParameterKind, ParameterTarget, ParameterUsage, RelationObject, RenderMesh, SnapshotQuery, SnapshotQueryBatch, SnapshotQueryResult, SourceRef, Transform, } from '../library/runtime.js';
|
|
19
19
|
export { composeTransforms, identityRigidTransform, invertTransform, quaternionAxisAngle, relativeTransform, rotateVector, rotationAround, transformsAreEquivalent, xyzRotation, } from '../library/spatial.js';
|
|
20
20
|
export type { Quaternion, RigidTransform, Vec3 } from '../library/spatial.js';
|
|
21
21
|
export type { TopologyGeometry, TopologyInspection, TopologyInspectionItem, TopologyInspectionOptions, } from '../library/topology-inspection.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tooling/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,wBAAwB,EAAC,MAAM,0CAA0C,CAAC;AAClF,YAAY,EAAC,uBAAuB,EAAC,MAAM,0CAA0C,CAAC;AACtF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAC3D,YAAY,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAC,4BAA4B,EAAC,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tooling/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,kCAAkC,EAClC,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,wBAAwB,EAAC,MAAM,0CAA0C,CAAC;AAClF,YAAY,EAAC,uBAAuB,EAAC,MAAM,0CAA0C,CAAC;AACtF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAC3D,YAAY,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAC,4BAA4B,EAAC,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,4BAA4B,EAC5B,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,SAAS,GACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAC,UAAU,EAAE,cAAc,EAAE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAC5E,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,MAAM,EACN,SAAS,EACT,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAC,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAChF,YAAY,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC1D,YAAY,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC"}
|
package/bld/tooling/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
installOpenCascade
|
|
3
|
-
} from "../chunks/chunk-
|
|
3
|
+
} from "../chunks/chunk-TCMEEKWL.js";
|
|
4
4
|
import {
|
|
5
5
|
SketchConstraintError,
|
|
6
6
|
TopologyIdSet,
|
|
@@ -11,9 +11,8 @@ import {
|
|
|
11
11
|
clearKernelOperationCache,
|
|
12
12
|
compareTopologyIds,
|
|
13
13
|
composeTransforms,
|
|
14
|
-
constraintPreview,
|
|
15
|
-
constraintTraceReference,
|
|
16
14
|
createModelSnapshotter,
|
|
15
|
+
currentRelationSelf,
|
|
17
16
|
describeOpenCascadeException,
|
|
18
17
|
disposeModelObjects,
|
|
19
18
|
executeSnapshotQueryBatch,
|
|
@@ -25,12 +24,12 @@ import {
|
|
|
25
24
|
installFontEngine,
|
|
26
25
|
installModelResourceReader,
|
|
27
26
|
installSketchSolver,
|
|
28
|
-
instrumentConstraint,
|
|
29
27
|
instrumentModelOperation,
|
|
28
|
+
instrumentRelation,
|
|
30
29
|
invertTransform,
|
|
31
30
|
isConstraint,
|
|
32
|
-
isConstraintExpression,
|
|
33
31
|
isModelObject,
|
|
32
|
+
isRelationExpression,
|
|
34
33
|
isSketch,
|
|
35
34
|
isTopologyId,
|
|
36
35
|
kernelOperationCacheStats,
|
|
@@ -43,12 +42,17 @@ import {
|
|
|
43
42
|
planModelSnapshotQueries,
|
|
44
43
|
quaternionAxisAngle,
|
|
45
44
|
relatedModelObjects,
|
|
45
|
+
relationPreview,
|
|
46
|
+
relationSelectionPreview,
|
|
47
|
+
relationTraceReference,
|
|
46
48
|
relativeTransform,
|
|
47
49
|
retainModelGeometry,
|
|
48
50
|
rotateVector,
|
|
49
51
|
rotationAround,
|
|
50
52
|
sameTopologyId,
|
|
51
53
|
setKernelArtifactStore,
|
|
54
|
+
setKernelCacheBudget,
|
|
55
|
+
setKernelCachePersistenceThreshold,
|
|
52
56
|
setKernelExternalBytes,
|
|
53
57
|
sketchArcGeometry,
|
|
54
58
|
sketchCurveBounds,
|
|
@@ -71,7 +75,7 @@ import {
|
|
|
71
75
|
transformsAreEquivalent,
|
|
72
76
|
withSketchEntityParameters,
|
|
73
77
|
xyzRotation
|
|
74
|
-
} from "../chunks/chunk-
|
|
78
|
+
} from "../chunks/chunk-4WLVDYUJ.js";
|
|
75
79
|
export {
|
|
76
80
|
SketchConstraintError,
|
|
77
81
|
TopologyIdSet,
|
|
@@ -82,9 +86,8 @@ export {
|
|
|
82
86
|
clearKernelOperationCache,
|
|
83
87
|
compareTopologyIds,
|
|
84
88
|
composeTransforms,
|
|
85
|
-
constraintPreview,
|
|
86
|
-
constraintTraceReference,
|
|
87
89
|
createModelSnapshotter,
|
|
90
|
+
currentRelationSelf,
|
|
88
91
|
describeOpenCascadeException,
|
|
89
92
|
disposeModelObjects,
|
|
90
93
|
executeSnapshotQueryBatch,
|
|
@@ -97,12 +100,12 @@ export {
|
|
|
97
100
|
installModelResourceReader,
|
|
98
101
|
installOpenCascade,
|
|
99
102
|
installSketchSolver,
|
|
100
|
-
instrumentConstraint,
|
|
101
103
|
instrumentModelOperation,
|
|
104
|
+
instrumentRelation,
|
|
102
105
|
invertTransform,
|
|
103
106
|
isConstraint,
|
|
104
|
-
isConstraintExpression,
|
|
105
107
|
isModelObject,
|
|
108
|
+
isRelationExpression,
|
|
106
109
|
isSketch,
|
|
107
110
|
isTopologyId,
|
|
108
111
|
kernelOperationCacheStats,
|
|
@@ -115,12 +118,17 @@ export {
|
|
|
115
118
|
planModelSnapshotQueries,
|
|
116
119
|
quaternionAxisAngle,
|
|
117
120
|
relatedModelObjects,
|
|
121
|
+
relationPreview,
|
|
122
|
+
relationSelectionPreview,
|
|
123
|
+
relationTraceReference,
|
|
118
124
|
relativeTransform,
|
|
119
125
|
retainModelGeometry,
|
|
120
126
|
rotateVector,
|
|
121
127
|
rotationAround,
|
|
122
128
|
sameTopologyId,
|
|
123
129
|
setKernelArtifactStore,
|
|
130
|
+
setKernelCacheBudget,
|
|
131
|
+
setKernelCachePersistenceThreshold,
|
|
124
132
|
setKernelExternalBytes,
|
|
125
133
|
sketchArcGeometry,
|
|
126
134
|
sketchCurveBounds,
|
package/package.json
CHANGED
|
@@ -7,17 +7,56 @@ import {
|
|
|
7
7
|
origin,
|
|
8
8
|
rotateVector,
|
|
9
9
|
rotation,
|
|
10
|
-
transformsAreEquivalent,
|
|
11
10
|
type Quaternion,
|
|
12
11
|
type RigidTransform,
|
|
13
12
|
type Vec3,
|
|
14
13
|
} from './spatial.js';
|
|
15
14
|
|
|
16
15
|
export type Bounds = readonly [minimum: Vec3, maximum: Vec3];
|
|
17
|
-
export type
|
|
18
|
-
| Readonly<{
|
|
19
|
-
| Readonly<{
|
|
16
|
+
export type ExternalRotation =
|
|
17
|
+
| Readonly<{axis: RigidTransform; body: number; angle: number}>
|
|
18
|
+
| Readonly<{
|
|
19
|
+
point: Vec3;
|
|
20
|
+
body: number;
|
|
21
|
+
rotation: Quaternion;
|
|
22
|
+
displacement: Vec3;
|
|
23
|
+
}>;
|
|
24
|
+
export type BodyRotation = Readonly<{local: RigidTransform}> | ExternalRotation;
|
|
20
25
|
|
|
26
|
+
/** External center relative to its owning body; point references retain self's axes. */
|
|
27
|
+
export function externalRotationFrame(
|
|
28
|
+
action: ExternalRotation,
|
|
29
|
+
self: Quaternion,
|
|
30
|
+
reference: Quaternion,
|
|
31
|
+
inverse = false,
|
|
32
|
+
): {center: Vec3; quaternion: Quaternion} {
|
|
33
|
+
if ('axis' in action) {
|
|
34
|
+
const axis = composeTransforms(rotation(reference), action.axis);
|
|
35
|
+
return {
|
|
36
|
+
center: axis.position,
|
|
37
|
+
quaternion: axisRotation(axis, inverse ? -action.angle : action.angle)
|
|
38
|
+
.quaternion,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const local = inverse
|
|
42
|
+
? invertTransform(rotation(action.rotation))
|
|
43
|
+
: rotation(action.rotation);
|
|
44
|
+
const before = inverse
|
|
45
|
+
? composeTransforms(rotation(self), local)
|
|
46
|
+
: rotation(self);
|
|
47
|
+
return {
|
|
48
|
+
center: addVectors(
|
|
49
|
+
rotateVector(action.point, reference),
|
|
50
|
+
rotateVector(action.displacement, before.quaternion),
|
|
51
|
+
),
|
|
52
|
+
quaternion: composeTransforms(
|
|
53
|
+
composeTransforms(before, local),
|
|
54
|
+
invertTransform(before),
|
|
55
|
+
).quaternion,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export type BodyAction = BodyRotation | Readonly<{offset: Vec3}>;
|
|
21
60
|
export type BodyRelation = Readonly<{
|
|
22
61
|
id: string;
|
|
23
62
|
source: Readonly<{
|
|
@@ -26,11 +65,16 @@ export type BodyRelation = Readonly<{
|
|
|
26
65
|
bounds: (orientation: Quaternion) => Bounds;
|
|
27
66
|
}>;
|
|
28
67
|
target: Readonly<{body: number; transform: RigidTransform; facing: 1 | -1}>;
|
|
29
|
-
offset: Vec3 | undefined;
|
|
30
|
-
rotations: readonly BodyRotation[];
|
|
31
68
|
}>;
|
|
32
69
|
|
|
33
|
-
export type Body = Readonly<{
|
|
70
|
+
export type Body = Readonly<{
|
|
71
|
+
name: string;
|
|
72
|
+
relations: readonly BodyRelation[];
|
|
73
|
+
/** Pose inherited from the preceding placement segment. */
|
|
74
|
+
initial?: RigidTransform;
|
|
75
|
+
/** Independent actions apply after the joint constraint solution. */
|
|
76
|
+
transformations?: readonly BodyAction[];
|
|
77
|
+
}>;
|
|
34
78
|
type AffinePoint = {constant: Vec3; columns: Vec3[]};
|
|
35
79
|
type AffinePose = {position: AffinePoint; quaternion: Quaternion};
|
|
36
80
|
type Equation = {id: string; coefficients: number[]; value: number};
|
|
@@ -74,37 +118,21 @@ export function solveBodies(
|
|
|
74
118
|
'Cyclic external rotation axes cannot determine an authored orientation.',
|
|
75
119
|
);
|
|
76
120
|
visiting.add(index);
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
pose
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
return pose;
|
|
94
|
-
});
|
|
95
|
-
const pose = candidates[0] ?? identityRigidTransform;
|
|
96
|
-
if (
|
|
97
|
-
candidates.some(
|
|
98
|
-
candidate =>
|
|
99
|
-
!transformsAreEquivalent(
|
|
100
|
-
rotation(candidate.quaternion),
|
|
101
|
-
rotation(pose.quaternion),
|
|
102
|
-
),
|
|
103
|
-
)
|
|
104
|
-
) {
|
|
105
|
-
throw new Error(
|
|
106
|
-
`Conflicting explicit rotations for ${bodies[index].name}.`,
|
|
107
|
-
);
|
|
121
|
+
let pose = bodies[index].initial ?? identityRigidTransform;
|
|
122
|
+
for (const action of bodies[index].transformations ?? []) {
|
|
123
|
+
if ('offset' in action) continue;
|
|
124
|
+
pose =
|
|
125
|
+
'local' in action
|
|
126
|
+
? composeTransforms(pose, action.local)
|
|
127
|
+
: 'point' in action
|
|
128
|
+
? composeTransforms(pose, rotation(action.rotation))
|
|
129
|
+
: composeTransforms(
|
|
130
|
+
axisRotation(
|
|
131
|
+
composeTransforms(seed(action.body), action.axis),
|
|
132
|
+
action.angle,
|
|
133
|
+
),
|
|
134
|
+
pose,
|
|
135
|
+
);
|
|
108
136
|
}
|
|
109
137
|
visiting.delete(index);
|
|
110
138
|
seeds.set(index, pose);
|
|
@@ -120,19 +148,18 @@ export function solveBodies(
|
|
|
120
148
|
const known = positioned.get(index);
|
|
121
149
|
if (known) return known;
|
|
122
150
|
let pose: AffinePose = {
|
|
123
|
-
quaternion: identityRigidTransform.quaternion,
|
|
151
|
+
quaternion: (bodies[index].initial ?? identityRigidTransform).quaternion,
|
|
124
152
|
position: {
|
|
125
|
-
constant:
|
|
153
|
+
constant: (bodies[index].initial ?? identityRigidTransform).position,
|
|
126
154
|
columns: variables.flatMap(body =>
|
|
127
155
|
axes.map(axis => (body === index ? axis : origin)),
|
|
128
156
|
),
|
|
129
157
|
},
|
|
130
158
|
};
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
if ('local' in action) {
|
|
159
|
+
for (const action of bodies[index].transformations ?? []) {
|
|
160
|
+
if ('offset' in action) {
|
|
161
|
+
pose = {...pose, position: shiftPoint(pose.position, action.offset)};
|
|
162
|
+
} else if ('local' in action) {
|
|
136
163
|
pose = {
|
|
137
164
|
position: shiftPoint(
|
|
138
165
|
pose.position,
|
|
@@ -145,12 +172,12 @@ export function solveBodies(
|
|
|
145
172
|
};
|
|
146
173
|
} else {
|
|
147
174
|
const axisPose = positionBody(action.body);
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
175
|
+
const {center, quaternion: q} = externalRotationFrame(
|
|
176
|
+
action,
|
|
177
|
+
pose.quaternion,
|
|
178
|
+
axisPose.quaternion,
|
|
151
179
|
);
|
|
152
|
-
const
|
|
153
|
-
const axisPoint = shiftPoint(axisPose.position, axis.position);
|
|
180
|
+
const axisPoint = shiftPoint(axisPose.position, center);
|
|
154
181
|
const rotatedAxis = rotatePoint(axisPoint, q);
|
|
155
182
|
pose = {
|
|
156
183
|
position: addPoints(
|
|
@@ -173,16 +200,19 @@ export function solveBodies(
|
|
|
173
200
|
const preferences = new Map<string, Equation>();
|
|
174
201
|
bodies.forEach((body, owner) =>
|
|
175
202
|
body.relations.forEach(relation => {
|
|
176
|
-
//
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
203
|
+
// Every contact constrains the joint result before independent transforms.
|
|
204
|
+
const baseline = undoActions(
|
|
205
|
+
poses[owner],
|
|
206
|
+
body.transformations ?? [],
|
|
207
|
+
poses,
|
|
208
|
+
);
|
|
181
209
|
for (let axis = 0; axis < 3; axis++) {
|
|
182
210
|
const preference = {
|
|
183
211
|
id: relation.id,
|
|
184
212
|
coefficients: baseline.position.columns.map(column => column[axis]),
|
|
185
|
-
value:
|
|
213
|
+
value:
|
|
214
|
+
(body.initial?.position[axis] ?? 0) -
|
|
215
|
+
baseline.position.constant[axis],
|
|
186
216
|
};
|
|
187
217
|
preferences.set(
|
|
188
218
|
JSON.stringify([preference.coefficients, preference.value]),
|
|
@@ -212,14 +242,8 @@ export function solveBodies(
|
|
|
212
242
|
source.position,
|
|
213
243
|
rotateVector(center, targetFrame.quaternion),
|
|
214
244
|
);
|
|
215
|
-
const targetPoint = shiftPoint(
|
|
216
|
-
|
|
217
|
-
addVectors(
|
|
218
|
-
targetFrame.position,
|
|
219
|
-
rotateVector(relation.offset ?? origin, targetFrame.quaternion),
|
|
220
|
-
),
|
|
221
|
-
);
|
|
222
|
-
for (const localAxis of relation.offset ? axes : [axes[1]]) {
|
|
245
|
+
const targetPoint = shiftPoint(target.position, targetFrame.position);
|
|
246
|
+
for (const localAxis of [axes[1]]) {
|
|
223
247
|
const normal = rotateVector(localAxis, targetFrame.quaternion);
|
|
224
248
|
equations.push({
|
|
225
249
|
id: relation.id,
|
|
@@ -272,13 +296,18 @@ function addPoints(left: AffinePoint, right: AffinePoint): AffinePoint {
|
|
|
272
296
|
};
|
|
273
297
|
}
|
|
274
298
|
|
|
275
|
-
function
|
|
299
|
+
function undoActions(
|
|
276
300
|
pose: AffinePose,
|
|
277
|
-
actions: readonly
|
|
301
|
+
actions: readonly BodyAction[],
|
|
278
302
|
poses: readonly AffinePose[],
|
|
279
303
|
): AffinePose {
|
|
280
304
|
for (const action of [...actions].reverse()) {
|
|
281
|
-
if ('
|
|
305
|
+
if ('offset' in action) {
|
|
306
|
+
pose = {
|
|
307
|
+
...pose,
|
|
308
|
+
position: shiftPoint(pose.position, negateVector(action.offset)),
|
|
309
|
+
};
|
|
310
|
+
} else if ('local' in action) {
|
|
282
311
|
const inverse = invertTransform(action.local);
|
|
283
312
|
pose = {
|
|
284
313
|
position: shiftPoint(
|
|
@@ -292,12 +321,13 @@ function undoRotations(
|
|
|
292
321
|
};
|
|
293
322
|
} else {
|
|
294
323
|
const axisPose = poses[action.body];
|
|
295
|
-
const
|
|
296
|
-
|
|
297
|
-
|
|
324
|
+
const {center, quaternion: q} = externalRotationFrame(
|
|
325
|
+
action,
|
|
326
|
+
pose.quaternion,
|
|
327
|
+
axisPose.quaternion,
|
|
328
|
+
true,
|
|
298
329
|
);
|
|
299
|
-
const
|
|
300
|
-
const axisPoint = shiftPoint(axisPose.position, axis.position);
|
|
330
|
+
const axisPoint = shiftPoint(axisPose.position, center);
|
|
301
331
|
const rotatedAxis = rotatePoint(axisPoint, q);
|
|
302
332
|
pose = {
|
|
303
333
|
position: addPoints(
|
|
@@ -316,7 +346,7 @@ function undoRotations(
|
|
|
316
346
|
}
|
|
317
347
|
|
|
318
348
|
/** Solve Ax=b, then minimize contact-stage displacement in its nullspace. */
|
|
319
|
-
function solveTranslations(
|
|
349
|
+
export function solveTranslations(
|
|
320
350
|
equations: readonly Equation[],
|
|
321
351
|
preferences: readonly Equation[],
|
|
322
352
|
dimension: number,
|
package/src/library/cached.ts
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from './kernel-cache.js';
|
|
14
14
|
import {estimateRetainedBytes} from './retained-memory.js';
|
|
15
15
|
|
|
16
|
-
export type
|
|
16
|
+
export type CacheOptions<Value> = CacheCodec<Value>;
|
|
17
17
|
|
|
18
18
|
const identities = new WeakMap<Function, string>();
|
|
19
19
|
const sessionIdentities = new WeakMap<Function, string>();
|
|
@@ -56,18 +56,34 @@ const dataLifecycle: KernelValueLifecycle<unknown> = {
|
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
58
|
* Memoizes a synchronous, deterministic computation in the shared cache.
|
|
59
|
+
* Omit args to create a function, or pass an argument tuple to return its value.
|
|
59
60
|
* Pass changing captured state as arguments and treat returned data as immutable.
|
|
60
61
|
* The engine fingerprints definitions and dependencies for persistent reuse.
|
|
61
62
|
* Outside the engine, function identity provides process-local memory reuse.
|
|
62
63
|
* Custom encoder/decoder pairs run only when writing/restoring persistent data;
|
|
63
64
|
* memory hits return the retained value without decoding or copying it.
|
|
64
65
|
*/
|
|
65
|
-
export function
|
|
66
|
+
export function cache<Args extends unknown[], Value>(
|
|
66
67
|
compute: (
|
|
67
68
|
...args: Args
|
|
68
69
|
) => Value & (Value extends PromiseLike<unknown> ? never : unknown),
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
args: Readonly<NoInfer<Args>>,
|
|
71
|
+
options?: CacheOptions<NoInfer<Value>>,
|
|
72
|
+
): Value;
|
|
73
|
+
export function cache<Args extends unknown[], Value>(
|
|
74
|
+
compute: (
|
|
75
|
+
...args: Args
|
|
76
|
+
) => Value & (Value extends PromiseLike<unknown> ? never : unknown),
|
|
77
|
+
args?: undefined,
|
|
78
|
+
options?: CacheOptions<NoInfer<Value>>,
|
|
79
|
+
): (...args: Args) => Value;
|
|
80
|
+
export function cache<Args extends unknown[], Value>(
|
|
81
|
+
compute: (
|
|
82
|
+
...args: Args
|
|
83
|
+
) => Value & (Value extends PromiseLike<unknown> ? never : unknown),
|
|
84
|
+
args?: Readonly<Args>,
|
|
85
|
+
options?: CacheOptions<Value>,
|
|
86
|
+
): Value | ((...args: Args) => Value) {
|
|
71
87
|
const operation = cachedArtifact(
|
|
72
88
|
(...args: Args): Value => {
|
|
73
89
|
const value = compute(...args);
|
|
@@ -77,12 +93,14 @@ export function cached<Args extends unknown[], Value>(
|
|
|
77
93
|
'then' in value &&
|
|
78
94
|
typeof value.then === 'function'
|
|
79
95
|
)
|
|
80
|
-
throw new Error('
|
|
96
|
+
throw new Error('cache() requires a synchronous computation.');
|
|
81
97
|
return value;
|
|
82
98
|
},
|
|
83
99
|
{identity: compute, codec: options},
|
|
84
100
|
);
|
|
85
|
-
return
|
|
101
|
+
return args === undefined
|
|
102
|
+
? (...args: Args) => operation(...args).value
|
|
103
|
+
: operation(...args).value;
|
|
86
104
|
}
|
|
87
105
|
|
|
88
106
|
/** Internal artifact form also supports native ownership and remote admission. */
|
|
@@ -116,8 +134,11 @@ export function cachedArtifact<Args extends unknown[], Value>(
|
|
|
116
134
|
findKernelOperation(key, lifecycle, persistence);
|
|
117
135
|
const findMany = (keys: readonly KernelOperationKey[]) =>
|
|
118
136
|
findKernelOperations(keys, lifecycle, persistence);
|
|
119
|
-
const accept = (
|
|
120
|
-
|
|
137
|
+
const accept = (
|
|
138
|
+
key: KernelOperationKey,
|
|
139
|
+
value: Value,
|
|
140
|
+
milliseconds: number,
|
|
141
|
+
) => acceptKernelOperation(key, lifecycle, value, milliseconds, persistence);
|
|
121
142
|
return Object.assign(
|
|
122
143
|
(...args: Args): KernelArtifact<Value> => {
|
|
123
144
|
return evaluateCachedArtifact(
|