@code3d/core 0.0.1-alpha.4 → 0.0.1-alpha.6
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 +31 -3
- package/bld/chunks/{chunk-OQLJDJIF.js → chunk-3RIMOCPP.js} +2 -2
- package/bld/chunks/{chunk-PAIFBNU4.js → chunk-KYW4AWKO.js} +2 -2
- package/bld/chunks/{chunk-J77FMYFY.js → chunk-T3RAUNSF.js} +941 -514
- package/bld/chunks/chunk-T3RAUNSF.js.map +7 -0
- package/bld/chunks/{chunk-ZMT6EFHL.js → chunk-T6COR2SG.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/index.d.ts +2 -2
- package/bld/library/index.d.ts.map +1 -1
- package/bld/library/index.js +15 -1
- package/bld/library/kernel-cache.d.ts +2 -1
- 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 +214 -78
- 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 +17 -3
- 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 +16 -10
- package/package.json +1 -1
- package/src/library/bound-solver.ts +103 -73
- package/src/library/index.ts +13 -2
- package/src/library/kernel-cache.ts +8 -0
- package/src/library/relation-solver.ts +194 -110
- package/src/library/runtime.ts +1029 -436
- package/src/library/sketch.ts +3 -3
- package/src/library/topology.ts +13 -2
- package/src/tooling/index.ts +14 -7
- package/bld/chunks/chunk-J77FMYFY.js.map +0 -7
- /package/bld/chunks/{chunk-OQLJDJIF.js.map → chunk-3RIMOCPP.js.map} +0 -0
- /package/bld/chunks/{chunk-PAIFBNU4.js.map → chunk-KYW4AWKO.js.map} +0 -0
- /package/bld/chunks/{chunk-ZMT6EFHL.js.map → chunk-T6COR2SG.js.map} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
installOpenCascade
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3RIMOCPP.js";
|
|
4
4
|
import {
|
|
5
5
|
__name,
|
|
6
6
|
installFontEngine,
|
|
7
7
|
installModelResourceReader,
|
|
8
8
|
installSketchSolver
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-T3RAUNSF.js";
|
|
10
10
|
|
|
11
11
|
// packages/core/src/node/index.ts
|
|
12
12
|
import initOpenCascade from "@code3d/opencascade";
|
|
@@ -28,4 +28,4 @@ installSketchSolver(
|
|
|
28
28
|
), "locateFile")
|
|
29
29
|
})
|
|
30
30
|
);
|
|
31
|
-
//# sourceMappingURL=chunk-
|
|
31
|
+
//# sourceMappingURL=chunk-T6COR2SG.js.map
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { type Quaternion, type RigidTransform, type Vec3 } from './spatial.js';
|
|
2
2
|
export type Bounds = readonly [minimum: Vec3, maximum: Vec3];
|
|
3
|
-
export type
|
|
4
|
-
local: RigidTransform;
|
|
5
|
-
}> | Readonly<{
|
|
3
|
+
export type ExternalRotation = Readonly<{
|
|
6
4
|
axis: RigidTransform;
|
|
7
5
|
body: number;
|
|
8
6
|
angle: number;
|
|
7
|
+
}> | Readonly<{
|
|
8
|
+
point: Vec3;
|
|
9
|
+
body: number;
|
|
10
|
+
rotation: Quaternion;
|
|
11
|
+
displacement: Vec3;
|
|
12
|
+
}>;
|
|
13
|
+
export type BodyRotation = Readonly<{
|
|
14
|
+
local: RigidTransform;
|
|
15
|
+
}> | ExternalRotation;
|
|
16
|
+
/** External center relative to its owning body; point references retain self's axes. */
|
|
17
|
+
export declare function externalRotationFrame(action: ExternalRotation, self: Quaternion, reference: Quaternion, inverse?: boolean): {
|
|
18
|
+
center: Vec3;
|
|
19
|
+
quaternion: Quaternion;
|
|
20
|
+
};
|
|
21
|
+
export type BodyAction = BodyRotation | Readonly<{
|
|
22
|
+
offset: Vec3;
|
|
9
23
|
}>;
|
|
10
24
|
export type BodyRelation = Readonly<{
|
|
11
25
|
id: string;
|
|
@@ -19,15 +33,25 @@ export type BodyRelation = Readonly<{
|
|
|
19
33
|
transform: RigidTransform;
|
|
20
34
|
facing: 1 | -1;
|
|
21
35
|
}>;
|
|
22
|
-
offset: Vec3 | undefined;
|
|
23
|
-
rotations: readonly BodyRotation[];
|
|
24
36
|
}>;
|
|
25
37
|
export type Body = Readonly<{
|
|
26
38
|
name: string;
|
|
27
39
|
relations: readonly BodyRelation[];
|
|
40
|
+
/** Pose inherited from the preceding placement segment. */
|
|
41
|
+
initial?: RigidTransform;
|
|
42
|
+
/** Independent actions apply after the joint constraint solution. */
|
|
43
|
+
transformations?: readonly BodyAction[];
|
|
28
44
|
}>;
|
|
45
|
+
type Equation = {
|
|
46
|
+
id: string;
|
|
47
|
+
coefficients: number[];
|
|
48
|
+
value: number;
|
|
49
|
+
};
|
|
29
50
|
/** A rotation about a positioned, directed line. Angles are in degrees. */
|
|
30
51
|
export declare function axisRotation(axis: RigidTransform, angle: number): RigidTransform;
|
|
31
52
|
/** Explicit rotations determine orientation; contacts solve translations only. */
|
|
32
53
|
export declare function solveBodies(bodies: readonly Body[]): readonly RigidTransform[];
|
|
54
|
+
/** Solve Ax=b, then minimize contact-stage displacement in its nullspace. */
|
|
55
|
+
export declare function solveTranslations(equations: readonly Equation[], preferences: readonly Equation[], dimension: number): number[];
|
|
56
|
+
export {};
|
|
33
57
|
//# sourceMappingURL=bound-solver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bound-solver.d.ts","sourceRoot":"","sources":["../../src/library/bound-solver.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"bound-solver.d.ts","sourceRoot":"","sources":["../../src/library/bound-solver.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,IAAI,EACV,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC7D,MAAM,MAAM,gBAAgB,GACxB,QAAQ,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC,GAC7D,QAAQ,CAAC;IACP,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,CAAC;IACrB,YAAY,EAAE,IAAI,CAAC;CACpB,CAAC,CAAC;AACP,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAC,CAAC,GAAG,gBAAgB,CAAC;AAEhF,wFAAwF;AACxF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,EACrB,OAAO,UAAQ,GACd;IAAC,MAAM,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAC,CAyBxC;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAC,CAAC,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,CAAC,WAAW,EAAE,UAAU,KAAK,MAAM,CAAC;KAC7C,CAAC,CAAC;IACH,MAAM,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;KAAC,CAAC,CAAC;CAC7E,CAAC,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,qEAAqE;IACrE,eAAe,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACzC,CAAC,CAAC;AAGH,KAAK,QAAQ,GAAG;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC;AAUpE,2EAA2E;AAC3E,wBAAgB,YAAY,CAC1B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACZ,cAAc,CAWhB;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,IAAI,EAAE,GACtB,SAAS,cAAc,EAAE,CAyK3B;AAqED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,WAAW,EAAE,SAAS,QAAQ,EAAE,EAChC,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE,CAuFV"}
|
package/bld/library/index.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ export type { GoogleFontOptions } from './google-font.js';
|
|
|
6
6
|
export type { TextOptions } from './text.js';
|
|
7
7
|
export { sketch } from './sketch.js';
|
|
8
8
|
export type { Sketch, SketchEntry, SketchConstraint, SketchOptions, SketchPoint, SketchPosition, SketchArcDirection, } from './sketch.js';
|
|
9
|
-
export { arc, bezier, box, circle, coil, cut, cylinder, ellipse, extrude, text, frustum, group, intersect, line, loft, point, rectangle, regularPolygon, regularPrism, spline, sphere, tube, union, } from './runtime.js';
|
|
10
|
-
export type { Anchor, Bound, DirectionalBounds,
|
|
9
|
+
export { offset, rotate, pivot, pivotVertex, pivotPoint, axisEdge, axisLine, arc, bezier, box, circle, coil, cut, cylinder, ellipse, extrude, text, frustum, group, intersect, line, loft, point, rectangle, regularPolygon, regularPrism, spline, sphere, tube, union, } from './runtime.js';
|
|
10
|
+
export type { Anchor, Bound, DirectionalBounds, PivotChain, PivotRotation, AxisRotation, AxisChain, Transformation, Relation, CanonicalElements, Constraint, CurveElements, Edge, EdgeModel, EdgeTopologyCapabilities, ElementKind, ElementSources, ExposedElements, ExposedValue, FaceAnchor, FaceModel, GeometryCapabilities, GeometryQueryCapabilities, GroupModel, LineAnchor, LoftOptions, MergedElements, Model, ModelCapabilities, ModelElementKind, ModelForKind, ModelGeometryKind, ModelKind, NamedElements, PlanarElements, PointAnchor, Solid, SolidModel, SolidModificationCapabilities, Surface, SurfaceTopologyCapabilities, Vertex, VertexModel, VertexTopologyCapabilities, } from './runtime.js';
|
|
11
11
|
export type { Vec3 } from './spatial.js';
|
|
12
12
|
export type { EdgeId, SurfaceId, TopologyId, TopologyKind, VertexId, } from './topology.js';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/library/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,YAAY,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,YAAY,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACxD,YAAY,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,YAAY,EACV,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,GAAG,EACH,MAAM,EACN,GAAG,EACH,MAAM,EACN,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,cAAc,EACd,YAAY,EACZ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,GACN,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,MAAM,EACN,KAAK,EACL,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/library/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,YAAY,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,YAAY,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACxD,YAAY,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,YAAY,EACV,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,WAAW,EACX,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,MAAM,EACN,GAAG,EACH,MAAM,EACN,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,cAAc,EACd,YAAY,EACZ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,GACN,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,MAAM,EACN,KAAK,EACL,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,cAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,IAAI,EACJ,SAAS,EACT,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,eAAe,EACf,YAAY,EACZ,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,yBAAyB,EACzB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,KAAK,EACL,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAW,EACX,KAAK,EACL,UAAU,EACV,6BAA6B,EAC7B,OAAO,EACP,2BAA2B,EAC3B,MAAM,EACN,WAAW,EACX,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,YAAY,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AACvC,YAAY,EACV,MAAM,EACN,SAAS,EACT,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,eAAe,CAAC"}
|
package/bld/library/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import "../chunks/chunk-TJIN6S4R.js";
|
|
2
2
|
import {
|
|
3
3
|
arc,
|
|
4
|
+
axisEdge,
|
|
5
|
+
axisLine,
|
|
4
6
|
bezier,
|
|
5
7
|
box,
|
|
6
8
|
cached,
|
|
@@ -17,19 +19,26 @@ import {
|
|
|
17
19
|
intersect,
|
|
18
20
|
line,
|
|
19
21
|
loft,
|
|
22
|
+
offset,
|
|
23
|
+
pivot,
|
|
24
|
+
pivotPoint,
|
|
25
|
+
pivotVertex,
|
|
20
26
|
point,
|
|
21
27
|
rectangle,
|
|
22
28
|
regularPolygon,
|
|
23
29
|
regularPrism,
|
|
30
|
+
rotate,
|
|
24
31
|
sketch,
|
|
25
32
|
sphere,
|
|
26
33
|
spline,
|
|
27
34
|
text,
|
|
28
35
|
tube,
|
|
29
36
|
union
|
|
30
|
-
} from "../chunks/chunk-
|
|
37
|
+
} from "../chunks/chunk-T3RAUNSF.js";
|
|
31
38
|
export {
|
|
32
39
|
arc,
|
|
40
|
+
axisEdge,
|
|
41
|
+
axisLine,
|
|
33
42
|
bezier,
|
|
34
43
|
box,
|
|
35
44
|
cached,
|
|
@@ -46,10 +55,15 @@ export {
|
|
|
46
55
|
intersect,
|
|
47
56
|
line,
|
|
48
57
|
loft,
|
|
58
|
+
offset,
|
|
59
|
+
pivot,
|
|
60
|
+
pivotPoint,
|
|
61
|
+
pivotVertex,
|
|
49
62
|
point,
|
|
50
63
|
rectangle,
|
|
51
64
|
regularPolygon,
|
|
52
65
|
regularPrism,
|
|
66
|
+
rotate,
|
|
53
67
|
sketch,
|
|
54
68
|
sphere,
|
|
55
69
|
spline,
|
|
@@ -49,6 +49,7 @@ export declare function createComputationCache({ maximumBytes, nativeAllocatedBy
|
|
|
49
49
|
persistenceEncodeMilliseconds: number;
|
|
50
50
|
persistenceErrors: number;
|
|
51
51
|
};
|
|
52
|
+
setKernelCacheBudget: (bytes: number) => void;
|
|
52
53
|
setKernelArtifactStore: (next: KernelArtifactStore | undefined) => void;
|
|
53
54
|
findKernelOperation: <Value>(key: KernelOperationKey, lifecycle: KernelValueLifecycle<Value>, codec?: CacheCodec<Value> | false) => KernelArtifact<Value> | undefined;
|
|
54
55
|
findKernelOperations: <Value>(keys: readonly KernelOperationKey[], lifecycle: KernelValueLifecycle<Value>, codec?: CacheCodec<Value> | false) => readonly (KernelArtifact<Value> | undefined)[];
|
|
@@ -71,7 +72,7 @@ export declare const evaluateCachedArtifact: <Value>(key: KernelOperationKey, li
|
|
|
71
72
|
persistentWrites: number;
|
|
72
73
|
persistenceEncodeMilliseconds: number;
|
|
73
74
|
persistenceErrors: number;
|
|
74
|
-
}, setKernelArtifactStore: (next: KernelArtifactStore | undefined) => void, findKernelOperation: <Value>(key: KernelOperationKey, lifecycle: KernelValueLifecycle<Value>, codec?: CacheCodec<Value> | false) => KernelArtifact<Value> | undefined, findKernelOperations: <Value>(keys: readonly KernelOperationKey[], lifecycle: KernelValueLifecycle<Value>, codec?: CacheCodec<Value> | false) => readonly (KernelArtifact<Value> | undefined)[], acceptKernelOperation: <Value>(key: KernelOperationKey, lifecycle: KernelValueLifecycle<Value>, value: Value, codec?: CacheCodec<Value> | false) => void, setKernelExternalBytes: (bytes: number) => void;
|
|
75
|
+
}, setKernelCacheBudget: (bytes: number) => void, setKernelArtifactStore: (next: KernelArtifactStore | undefined) => void, findKernelOperation: <Value>(key: KernelOperationKey, lifecycle: KernelValueLifecycle<Value>, codec?: CacheCodec<Value> | false) => KernelArtifact<Value> | undefined, findKernelOperations: <Value>(keys: readonly KernelOperationKey[], lifecycle: KernelValueLifecycle<Value>, codec?: CacheCodec<Value> | false) => readonly (KernelArtifact<Value> | undefined)[], acceptKernelOperation: <Value>(key: KernelOperationKey, lifecycle: KernelValueLifecycle<Value>, value: Value, codec?: CacheCodec<Value> | false) => void, setKernelExternalBytes: (bytes: number) => void;
|
|
75
76
|
export type KernelOperationKey = Readonly<{
|
|
76
77
|
id: string;
|
|
77
78
|
signature: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-cache.d.ts","sourceRoot":"","sources":["../../src/library/kernel-cache.ts"],"names":[],"mappings":"AAMA,kFAAkF;AAClF,MAAM,WAAW,mBAAmB;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;IACrE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,2EAA2E;IAC3E,SAAS,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,OAAO,EAAE,CAAC;IACtD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,2EAA2E;IAC3E,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GACvB,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,aAAa,EAAE,CAAC;AAE9D,MAAM,MAAM,cAAc,CAAC,KAAK,IAAI,QAAQ,CAAC;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,CAAC,CAAC;AAEH,MAAM,MAAM,UAAU,CAAC,KAAK,IAAI,QAAQ,CAAC;IACvC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC;IAClC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI,QAAQ,CAAC;IACjD,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACpC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;IAC5B,WAAW,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC;IACpC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC7B,CAAC,CAAC;AAUH,wBAAgB,sBAAsB,CAAC,EACrC,YAA4B,EAC5B,oBAAoB,GACrB,EAAE;IACD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,MAAM,CAAC;CACpC;
|
|
1
|
+
{"version":3,"file":"kernel-cache.d.ts","sourceRoot":"","sources":["../../src/library/kernel-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { axisRotation, type BodyRelation as BoundRelation, type
|
|
1
|
+
import { axisRotation, type BodyRelation as BoundRelation, type BodyAction } from './bound-solver.js';
|
|
2
2
|
import { type AlignmentGeometry } from './alignment-geometry.js';
|
|
3
|
-
import { type RigidTransform
|
|
4
|
-
export { axisRotation, type
|
|
3
|
+
import { type RigidTransform } from './spatial.js';
|
|
4
|
+
export { axisRotation, type BodyAction };
|
|
5
5
|
type AlignEndpoint = Readonly<{
|
|
6
6
|
body: number;
|
|
7
7
|
geometry: AlignmentGeometry;
|
|
@@ -12,8 +12,6 @@ type AlignRelation = Readonly<{
|
|
|
12
12
|
id: string;
|
|
13
13
|
source: AlignEndpoint;
|
|
14
14
|
target: AlignEndpoint;
|
|
15
|
-
offset: Vec3 | undefined;
|
|
16
|
-
rotations: readonly BodyRotation[];
|
|
17
15
|
}>;
|
|
18
16
|
type Relation = (BoundRelation & {
|
|
19
17
|
kind: 'on';
|
|
@@ -21,9 +19,16 @@ type Relation = (BoundRelation & {
|
|
|
21
19
|
export type Body = Readonly<{
|
|
22
20
|
name: string;
|
|
23
21
|
relations: readonly Relation[];
|
|
22
|
+
initial?: RigidTransform;
|
|
23
|
+
transformations?: readonly BodyAction[];
|
|
24
24
|
}>;
|
|
25
|
-
/**
|
|
26
|
-
export declare function
|
|
25
|
+
/** Undo exactly the authored prefix, in reverse call order. */
|
|
26
|
+
export declare function beforeTransformations(pose: RigidTransform, relation: {
|
|
27
|
+
actions: readonly BodyAction[];
|
|
28
|
+
}, poses: readonly RigidTransform[]): RigidTransform;
|
|
29
|
+
export declare function afterTransformations(pose: RigidTransform, relation: {
|
|
30
|
+
actions: readonly BodyAction[];
|
|
31
|
+
}, poses: readonly RigidTransform[]): RigidTransform;
|
|
27
32
|
/** Exact linear specialization for bound-only assemblies; geometric relations solve joint rigid poses. */
|
|
28
33
|
export declare function solveBodies(bodies: readonly Body[]): readonly RigidTransform[];
|
|
29
34
|
//# sourceMappingURL=relation-solver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-solver.d.ts","sourceRoot":"","sources":["../../src/library/relation-solver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,
|
|
1
|
+
{"version":3,"file":"relation-solver.d.ts","sourceRoot":"","sources":["../../src/library/relation-solver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGZ,KAAK,YAAY,IAAI,aAAa,EAClC,KAAK,UAAU,EAEhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAaL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAQL,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAC,YAAY,EAAE,KAAK,UAAU,EAAC,CAAC;AACvC,KAAK,aAAa,GAAG,QAAQ,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC,CAAC;AACH,KAAK,aAAa,GAAG,QAAQ,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC,CAAC;AACH,KAAK,QAAQ,GAAG,CAAC,aAAa,GAAG;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,CAAC,GAAG,aAAa,CAAC;AAC/D,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACzC,CAAC,CAAC;AAqBH,+DAA+D;AAC/D,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE;IACR,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;CAChC,EACD,KAAK,EAAE,SAAS,cAAc,EAAE,GAC/B,cAAc,CAWhB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE;IACR,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;CAChC,EACD,KAAK,EAAE,SAAS,cAAc,EAAE,GAC/B,cAAc,CAWhB;AA4ID,0GAA0G;AAC1G,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,IAAI,EAAE,GACtB,SAAS,cAAc,EAAE,CA8R3B"}
|
package/bld/library/replicad.js
CHANGED