@hatiolab/figure-model 0.1.72 → 0.1.74
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/v3-asset-types.d.ts +8 -1
- package/dist/v3-asset-types.d.ts.map +1 -1
- package/dist/v3-asset-types.js +1 -1
- package/dist/v3-asset-types.js.map +1 -1
- package/dist/v3-asset.js +3 -3
- package/dist/v3-asset.js.map +1 -1
- package/dist/v3-authoring-actions.d.ts +3 -3
- package/dist/v3-authoring-actions.d.ts.map +1 -1
- package/dist/v3-authoring-actions.js +131 -63
- package/dist/v3-authoring-actions.js.map +1 -1
- package/dist/v3-gate.d.ts +2 -2
- package/dist/v3-gate.d.ts.map +1 -1
- package/dist/v3-gate.js +10 -7
- package/dist/v3-gate.js.map +1 -1
- package/dist/v3-kernel-version.d.ts +1 -1
- package/dist/v3-kernel-version.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export { v3ScoreOf, v3PartCountOf, v3PartBudgetOf, v3GradeOf, v3MaterialKeyOf, v
|
|
|
20
20
|
export { applyV3Authoring, proposeV3Occupancy, proposeV3Proportion, type V3ProportionPlan, v3AttachmentsOf, v3BindingsOf, V3_FACES, type V3BindingPlace, type V3AuthoringAction, type V3DimensionSource, type V3Measure, type V3FaceAlignment, type V3Face, type V3MotionRequest, type V3OccupancyProposal, type V3Joint, type V3JointType, type V3JointAxis, V3_JOINT_TYPES, checkV3Joints } from './v3-authoring-actions.ts';
|
|
21
21
|
export { convertV2ToV3, compareV2WithV3, v2WorldBoxes, v3WorldBoxes, eulerXYZ, V3_SIZE_INPUTS, SAME_TOLERANCE_MM, SAME_TOLERANCE_DEG, type V3ConversionOptions, type V3ConversionResult, type V3ConversionRefusal, type V3ConversionLoss, type V3ConversionNote, type V2MotionState, type V3CompareOptions, paletteHash, v2ClipDuration, v3StateOverrides, axisAngle, repeatBoundaryScales, type V3ConversionMethod, type V3RangeChange, type V3SameReport, type V3SameDifference, type WorldBox } from './v3-from-v2.ts';
|
|
22
22
|
export type * from './v3-asset-types.ts';
|
|
23
|
+
export { V3_PLACEMENTS } from './v3-asset-types.ts';
|
|
23
24
|
export type { V3Unit, V3Dimensions, V3ValueType, V3GraphInput, V3GraphConstant, V3GraphNode, V3Graph, V3Pose, V3Shape, V3PlacedValue, V3PlacedGeometry, V3ScalarGeometry, V3Geometry, V3RuntimeValue, V3GraphEvaluation, V3CompiledGraph } from './v3-graph-types.ts';
|
|
24
25
|
export { assertV3Json, parseV3Json, v3Utf8ByteLength, V3_JSON_MAX_BYTES, V3_JSON_MAX_DEPTH, type V3JsonValue } from './v3-json.ts';
|
|
25
26
|
export { validate, type ValidateResult } from './validate.ts';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,7 @@ export { v3CostOf, v3TrianglesOf } from "./v3-cost.js";
|
|
|
31
31
|
export { v3ScoreOf, v3PartCountOf, v3PartBudgetOf, v3GradeOf, v3MaterialKeyOf, v3IndependentBodiesOf, V3_GRADE_SCALE, V3_BUDGET_KEYS, V3_PER_INSTANCE } from "./v3-score.js";
|
|
32
32
|
export { applyV3Authoring, proposeV3Occupancy, proposeV3Proportion, v3AttachmentsOf, v3BindingsOf, V3_FACES, V3_JOINT_TYPES, checkV3Joints } from "./v3-authoring-actions.js";
|
|
33
33
|
export { convertV2ToV3, compareV2WithV3, v2WorldBoxes, v3WorldBoxes, eulerXYZ, V3_SIZE_INPUTS, SAME_TOLERANCE_MM, SAME_TOLERANCE_DEG, paletteHash, v2ClipDuration, v3StateOverrides, axisAngle, repeatBoundaryScales } from "./v3-from-v2.js";
|
|
34
|
+
export { V3_PLACEMENTS } from "./v3-asset-types.js";
|
|
34
35
|
export { assertV3Json, parseV3Json, v3Utf8ByteLength, V3_JSON_MAX_BYTES, V3_JSON_MAX_DEPTH } from "./v3-json.js";
|
|
35
36
|
export { validate } from "./validate.js";
|
|
36
37
|
export { compile, FigureCompileError, geometryKeyOf, materialKeyOf, rotatedExtentOf, stretchAxisOf, trianglesOf, usesSegments } from "./blueprint.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,cAAc,YAAY,CAAA;AAC1B,4FAA4F;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAmB,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAgD,MAAM,gBAAgB,CAAA;AACtH,OAAO,EAAE,wBAAwB,EAAuF,MAAM,2BAA2B,CAAA;AACzJ,OAAO,EAAE,uBAAuB,EAA6F,MAAM,0BAA0B,CAAA;AAC7J,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC1F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAgG,MAAM,cAAc,CAAA;AACjO,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACzJ,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAe,MAAM,sBAAsB,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAc,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,wBAAwB,EAAsB,YAAY,EAAoB,MAAM,eAAe,CAAA;AAClL,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAe,MAAM,cAAc,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAoD,MAAM,eAAe,CAAA;AAC9N,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAyB,eAAe,EAAE,YAAY,EAAE,QAAQ,EAA4N,cAAc,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9Z,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAQlB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,oBAAoB,EAMrB,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/v3-asset-types.d.ts
CHANGED
|
@@ -45,6 +45,13 @@ export interface V3Capabilities {
|
|
|
45
45
|
* What this is not: a rule about what the figure may do. It describes the room the figure takes up. Whether
|
|
46
46
|
* that room is free is the scene's question, against the real obstacles it has placed.
|
|
47
47
|
*/
|
|
48
|
+
/**
|
|
49
|
+
* What a figure is placed on, and so which plane its mounting plane is (ADR-0093): the floor and the ceiling are the
|
|
50
|
+
* plane Y = 0 -- a part stands on it by its bottom or hangs from it by its top; a wall is the plane Z = 0, the figure
|
|
51
|
+
* coming out of it along +Z, a part fastened to it by its back; `center` has no plane of its own.
|
|
52
|
+
*/
|
|
53
|
+
export type V3Placement = 'floor' | 'ceiling' | 'center' | 'wall';
|
|
54
|
+
export declare const V3_PLACEMENTS: readonly V3Placement[];
|
|
48
55
|
export interface V3Occupancy {
|
|
49
56
|
bounds: {
|
|
50
57
|
x: {
|
|
@@ -60,7 +67,7 @@ export interface V3Occupancy {
|
|
|
60
67
|
max: string;
|
|
61
68
|
};
|
|
62
69
|
};
|
|
63
|
-
placement:
|
|
70
|
+
placement: V3Placement;
|
|
64
71
|
/**
|
|
65
72
|
* The face of the figure that lies on the plane it is mounted on (V3 designer's ruling 2026-09-23).
|
|
66
73
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v3-asset-types.d.ts","sourceRoot":"","sources":["../src/v3-asset-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEnG,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AACD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAA;IACjC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;IACvE,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAChC;AACD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,iBAAiB,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,oBAAoB,EAAE,CAAA;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE;QACN,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;QAC/B,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;QAC/B,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAChC,CAAA;IACD,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"v3-asset-types.d.ts","sourceRoot":"","sources":["../src/v3-asset-types.ts"],"names":[],"mappings":"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"}
|
package/dist/v3-asset-types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const V3_PLACEMENTS = ['floor', 'ceiling', 'center', 'wall'];
|
|
2
2
|
//# sourceMappingURL=v3-asset-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v3-asset-types.js","sourceRoot":"","sources":["../src/v3-asset-types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"v3-asset-types.js","sourceRoot":"","sources":["../src/v3-asset-types.ts"],"names":[],"mappings":"AAoDA,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA"}
|
package/dist/v3-asset.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { checkV3Joints } from "./v3-authoring-actions.js";
|
|
3
3
|
import { compileV3Document as compileDocument } from "./v3-document.js";
|
|
4
4
|
import { assertV3Json as jsonOnly, parseV3Json as parseStrictJson, V3_JSON_MAX_BYTES as MAX_BYTES, v3Utf8ByteLength } from "./v3-json.js";
|
|
5
|
+
import { V3_PLACEMENTS } from "./v3-asset-types.js";
|
|
5
6
|
import { V3ContractError as ContractError } from "./v3-contract.js";
|
|
6
|
-
import { FIGURE_PLACEMENTS } from "./types.js";
|
|
7
7
|
import { validateV3Drivers, validateV3StateInputs } from "./v3-driver.js";
|
|
8
8
|
import { resolveV3Surface } from "./v3-surface.js";
|
|
9
9
|
const fail = (code, path, message) => {
|
|
@@ -119,8 +119,8 @@ function compileAsset(source) {
|
|
|
119
119
|
fail('OCCUPANCY_STATE', path, `${ref} depends on state input ${plan.dependence[ref].join(', ')}; the occupancy is state-independent`);
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
if (!
|
|
123
|
-
fail('OCCUPANCY', 'occupancy.placement', `one of ${
|
|
122
|
+
if (!V3_PLACEMENTS.includes(asset.occupancy.placement))
|
|
123
|
+
fail('OCCUPANCY', 'occupancy.placement', `one of ${V3_PLACEMENTS.join(', ')} required`);
|
|
124
124
|
}
|
|
125
125
|
validateV3Drivers(asset);
|
|
126
126
|
validateV3StateInputs(asset);
|
package/dist/v3-asset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v3-asset.js","sourceRoot":"","sources":["../src/v3-asset.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"v3-asset.js","sourceRoot":"","sources":["../src/v3-asset.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,iBAAiB,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,EACL,YAAY,IAAI,QAAQ,EACxB,WAAW,IAAI,eAAe,EAC9B,iBAAiB,IAAI,SAAS,EAC9B,gBAAgB,EACjB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,eAAe,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe,EAAS,EAAE;IAClE,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC,CAAA;AACD,SAAS,MAAM,CAAC,CAAU,EAAE,QAAkB,EAAE,QAAkB,EAAE,IAAY;IAC9E,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAClG,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,CAAA;IAC9F,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,CAAA;AAC3F,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC;AACD,SAAS,YAAY,CAAC,MAAe;IACnC,QAAQ,CAAC,MAAiB,CAAC,CAAA;IAC3B,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS;QAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IACvG,MAAM,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;IAC9L,IAAI,MAAM,CAAC,OAAO,KAAK,mBAAmB;QAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACpF,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAA;IAClH,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,EACnC,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,EACtC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC9F,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC3F,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,CAAC,CAAA;IACtD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;QACjF,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAA;IACtG,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,wGAAwG;QACxG,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAA;QAC5H,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACpF,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,kEAAkE,IAAI,aAAa,CAAC,CAAA;IACzH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,CAAC,CAAA;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACrF,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,iCAAiC,CAAC,CAAA;IACpE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9E,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAA;IAC9D,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,EAAE;QAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAA;IACrH,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE,CACjC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAiC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAClF,CACF,CAAA;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAC1G,EACD,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;IACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAA;IAC1F,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAA;QAC9E,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,sGAAsG;YACtG,2EAA2E;YAC3E,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC3C,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAK,CAAuB,CAAC,IAAI,KAAK,MAAM;gBACvF,IAAI,CAAC,YAAY,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAA;QAC9G,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YACxD,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,uCAAuC,CAAC,CAAA;QACzF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAA;QACnF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC1B,IACE,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS;YAClC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAErG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAA;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS;YAC3F,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAA;QACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;YAChC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;YACvD,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACd,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC;gBAClG,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,6BAA6B,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;YACtG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAClD,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,oDAAoD,CAAC,CAAA;QACrF,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,uCAAuC,CAAC,CAAA;QAC5G,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI;QAChC,IAAI,CAAC,oBAAoB,EAAE,YAAY,EAAE,mDAAmD,CAAC,CAAA;IAC/F,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,6GAA6G;QAC7G,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAA;QAC1E,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,OAAkB,CAAA;YAClD,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAA;YAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,gBAAgB;gBAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;YACtJ,yGAAyG;YACzG,gBAAgB,CACd,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,EAC/F,OAAO,CAAC,OAAO,EACf,2BAA2B,CAC5B,CAAA;QACH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAA;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5C,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAA;YACpF,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,oBAAoB,IAAI,IAAI,IAAI,EAAE,CAAA;gBAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;gBAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,UAAU;oBACjF,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;gBAC9E,iHAAiH;gBACjH,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM;oBAC9B,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,GAAG,GAAG,2BAA2B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;YAC1I,CAAC;QACH,CAAC;QACD,IAAI,CAAE,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC3E,IAAI,CAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3F,CAAC;IACD,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACxB,qBAAqB,CAAC,KAAK,CAAC,CAAA;IAC5B,SAAS,QAAQ,CAAC,iBAAyC,EAAE;QAC3D,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,GAAG,cAAc,EAAE,EACjF,CAAC,GAAY,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACxE;;;;UAIE;QACF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAE,KAAK,CAAC,UAAwB,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACzG,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ;aACvB,GAAG,CAAC,CAAC,CAAU,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;aAChG,IAAI,CAAC,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAC1D,GAAG,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,EACxB,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC1B,IAAI,CAAC,IAAI;gBAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAA;YACnE,OAAO;gBACL,GAAG,CAAC;gBACJ,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAa;gBACtF,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;IAC5E,CAAC;IACD,QAAQ,EAAE,CAAA,CAAC,kEAAkE;IAC7E,OAAO,EAAE,QAAQ,EAAE,CAAA;AACrB,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,YAAY,CAAC,KAAK,CAAC,CAAA;IACnB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACnC,YAAY,CAAC,KAAK,CAAC,CAAA;IACnB,IAAK,KAAiC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,KAAiC,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAC5K,wFAAwF;IACxF,aAAa,CAAC,KAA2B,CAAC,CAAA;IAC1C,OAAO,KAA2B,CAAA;AACpC,CAAC;AACD,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,MAA8B,EAC9B,UAA8C,EAAE;IAEhD,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAChE,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,KAAK,CAAA;IAClE,IAAI,OAAO,oBAAoB,KAAK,SAAS;QAC3C,IAAI,CAAC,cAAc,EAAE,sBAAsB,EAAE,2BAA2B,CAAC,CAAA;IAC3E,YAAY,CAAC,KAAK,CAAC,CAAA;IACnB,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACnC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvB,IAAI,oBAAoB;gBAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE,CAAA;QACpE,CAAC;;YAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE,CAAA;IAChD,CAAC;IACD,YAAY,CAAC,IAAI,CAAC,CAAA;IAClB,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Axis } from './types.ts';
|
|
2
|
-
import type { V3Asset } from './v3-asset-types.ts';
|
|
2
|
+
import type { V3Asset, V3Placement } from './v3-asset-types.ts';
|
|
3
3
|
/** The six faces of a box-shaped part, and the axis each one faces along. */
|
|
4
4
|
export declare const V3_FACES: {
|
|
5
5
|
readonly left: "x";
|
|
@@ -221,7 +221,7 @@ export type V3AuthoringAction =
|
|
|
221
221
|
| {
|
|
222
222
|
kind: 'declare-occupancy';
|
|
223
223
|
proposal: V3OccupancyProposal;
|
|
224
|
-
placement:
|
|
224
|
+
placement: V3Placement;
|
|
225
225
|
padding?: Partial<Record<Axis, number>>;
|
|
226
226
|
}
|
|
227
227
|
/**
|
|
@@ -399,7 +399,7 @@ export declare function copyV3PartJoint(asset: V3Asset, from: string, to: string
|
|
|
399
399
|
* (a part deleted with 「지우고 공간 다시 맞추기」). What it stood on stays: placement and the mounting face.
|
|
400
400
|
*/
|
|
401
401
|
export declare function releaseV3Room(asset: V3Asset): {
|
|
402
|
-
placement:
|
|
402
|
+
placement: V3Placement;
|
|
403
403
|
} | null;
|
|
404
404
|
export declare function releaseV3PartJoints(asset: V3Asset, part: string): void;
|
|
405
405
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v3-authoring-actions.d.ts","sourceRoot":"","sources":["../src/v3-authoring-actions.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"v3-authoring-actions.d.ts","sourceRoot":"","sources":["../src/v3-authoring-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ import { compileV3Graph, v3ShapeFaces } from "./v3-graph.js";
|
|
|
27
27
|
import { V3ContractError } from "./v3-contract.js";
|
|
28
28
|
import { AXES, REPEAT_LIMIT } from "./types.js";
|
|
29
29
|
import { foldInstanceSizeRange, v3InstanceSizeLimitsOf, V3_INSTANCE_SIZE_DEFAULT, V3_INSTANCE_SIZE_INPUTS } from "./v3-instance-size.js";
|
|
30
|
+
import { V3_PLACEMENTS } from "./v3-asset-types.js";
|
|
30
31
|
const fail = (code, path, message) => {
|
|
31
32
|
throw new V3ContractError(code, path, message);
|
|
32
33
|
};
|
|
@@ -568,6 +569,10 @@ function attach(asset, a, twist) {
|
|
|
568
569
|
* Standing a part on the plane the figure is mounted on. The plane has no width and no depth, so there is
|
|
569
570
|
* nothing to line the part's edges up with: across the plane, only the centre or a measured offset.
|
|
570
571
|
*/
|
|
572
|
+
/** The faces a part is fastened to the mounting plane by, for a figure placed so (ADR-0093). */
|
|
573
|
+
function planeFacesOf(placement) {
|
|
574
|
+
return placement === 'wall' ? ['back'] : ['bottom', 'top'];
|
|
575
|
+
}
|
|
571
576
|
function standOnPlane(asset, a, path) {
|
|
572
577
|
const m = asset.document.model;
|
|
573
578
|
const to = a.to;
|
|
@@ -575,21 +580,29 @@ function standOnPlane(asset, a, path) {
|
|
|
575
580
|
fail('SCHEMA', path, `${String(to.plane)} is not a plane a part can stand on`);
|
|
576
581
|
if (a.facing !== undefined && a.facing !== 'meet')
|
|
577
582
|
fail('SCHEMA', path, 'a part standing on the plane meets it; flush says nothing here');
|
|
578
|
-
|
|
579
|
-
|
|
583
|
+
/* Which plane it is, the figure's placement says: the floor or the ceiling is Y = 0, a wall is Z = 0 (ADR-0093). */
|
|
584
|
+
const placement = (asset.occupancy?.placement ?? 'floor');
|
|
585
|
+
const takes = planeFacesOf(placement);
|
|
586
|
+
const normal = placement === 'wall' ? 'z' : 'y';
|
|
587
|
+
if (!takes.includes(a.face))
|
|
588
|
+
fail('ATTACH_FACE', path, placement === 'wall'
|
|
589
|
+
? `${String(a.face)} faces along ${V3_FACES[a.face] ?? '?'}; the figure hangs on a wall, the plane Z = 0, so a part is fastened to it by its back`
|
|
590
|
+
: `${String(a.face)} faces along ${V3_FACES[a.face] ?? '?'}; the plane faces along y, so a part stands on it by its bottom or hangs from it by its top`);
|
|
580
591
|
if (parentOf(m, a.part) && !a.replace)
|
|
581
592
|
fail('ATTACH_REPLACED', path, `${a.part} is already fastened to ${parentOf(m, a.part)}; pass replace to stand it on the plane instead`);
|
|
582
593
|
const mine = standingSpansOf(m, asset, a.part, path);
|
|
583
|
-
if (!mine
|
|
594
|
+
if (!mine[normal])
|
|
584
595
|
fail('EDIT_TARGET', path, `${a.part} has no flat ${a.face} face`);
|
|
585
596
|
const name = namer(m, `${a.part}.on.plane`);
|
|
586
|
-
|
|
587
|
-
const
|
|
597
|
+
/* Out of the plane: a bottom stands up from the floor, a back comes out of the wall, a top hangs down. */
|
|
598
|
+
const outward = a.face === 'top' ? -1 : 1;
|
|
599
|
+
const gap = measureRef(m, asset, name, a.gap, `gap.${normal}`, path);
|
|
588
600
|
const translation = { x: '', y: '', z: '' };
|
|
589
|
-
translation
|
|
601
|
+
translation[normal] = sumOf(m, name, [...neg(outward > 0 ? mine[normal].lo : mine[normal].hi), { ref: gap, k: outward }], `stand.${normal}`);
|
|
590
602
|
const zero = constantOf(m, 'mm', 0, 'd');
|
|
591
|
-
const pose = { x: zero, y:
|
|
592
|
-
|
|
603
|
+
const pose = { x: zero, y: zero, z: zero };
|
|
604
|
+
pose[normal] = translation[normal];
|
|
605
|
+
for (const other of AXES.filter(x => x !== normal)) {
|
|
593
606
|
const how = a.align?.[other] ?? 'centre';
|
|
594
607
|
const span = mine[other];
|
|
595
608
|
if (how === 'centre')
|
|
@@ -605,7 +618,7 @@ function standOnPlane(asset, a, path) {
|
|
|
605
618
|
if (!span)
|
|
606
619
|
fail('ATTACH_FACE', path, `${a.part} has no edges along ${other} to line up with the figure's side`);
|
|
607
620
|
const s = how === 'min' ? -1 : 1;
|
|
608
|
-
translation[other] = sumOf(m, name, [{ ref:
|
|
621
|
+
translation[other] = sumOf(m, name, [{ ref: sourceRef(m, asset, { of: 'instance', axis: other }, path), k: s * 0.5 }], `figure-edge.${other}`);
|
|
609
622
|
pose[other] = sumOf(m, name, neg(how === 'min' ? span.lo : span.hi), `own-edge.${other}`);
|
|
610
623
|
continue;
|
|
611
624
|
}
|
|
@@ -615,8 +628,9 @@ function standOnPlane(asset, a, path) {
|
|
|
615
628
|
if (span && !span.centred)
|
|
616
629
|
pose[other] = sumOf(m, name, neg([...half(span.lo), ...half(span.hi)]), `own-centre.${other}`);
|
|
617
630
|
}
|
|
618
|
-
// The point it stands on is on the plane, under its centre: a turn about
|
|
619
|
-
|
|
631
|
+
// The point it stands on is on the plane, under its centre: a turn about the plane's normal turns it where it stands.
|
|
632
|
+
const seat = AXES.map(x => (x === normal ? zero : translation[x]));
|
|
633
|
+
reseat(asset, a.part, asset.document.capabilities.assetFrame, { seat: [seat[0], seat[1], seat[2]], pose: [pose.x, pose.y, pose.z] });
|
|
620
634
|
return asset;
|
|
621
635
|
}
|
|
622
636
|
function detach(asset, a) {
|
|
@@ -1855,6 +1869,10 @@ function travelAt(m, asset, motion, bound) {
|
|
|
1855
1869
|
return out;
|
|
1856
1870
|
}
|
|
1857
1871
|
if (w?.op === 'mul@1' && w.args.length === 2) {
|
|
1872
|
+
/* A ratio times a length (the one ratio's size, u × x₀) is kept whole: the sum's terms stay lengths. */
|
|
1873
|
+
const known = (arg) => m.constants.find((c) => c.id === arg);
|
|
1874
|
+
if (!w.args.every(known) && w.args.some(arg => known(arg) && known(arg).unit !== 'ratio'))
|
|
1875
|
+
return still(ref) ? { terms: [{ ref, k: 1 }], c: 0 } : null;
|
|
1858
1876
|
const [a, b] = w.args.map(arg => read(arg, depth + 1));
|
|
1859
1877
|
if (!a || !b)
|
|
1860
1878
|
return null;
|
|
@@ -1869,40 +1887,91 @@ function travelAt(m, asset, motion, bound) {
|
|
|
1869
1887
|
};
|
|
1870
1888
|
return read(motion.args[3]);
|
|
1871
1889
|
}
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1890
|
+
const zeroVec = () => ({ x: { terms: [], c: 0 }, y: { terms: [], c: 0 }, z: { terms: [], c: 0 } });
|
|
1891
|
+
/** A vector of sums turned by a quarter turn (a signed axis permutation). */
|
|
1892
|
+
const turnVec = (r, v) => Object.fromEntries(AXES.map((a, i) => [a, AXES.reduce((sum, b, j) => (r[i][j] ? linAdd(sum, v[b], r[i][j]) : sum), { terms: [], c: 0 })]));
|
|
1893
|
+
const isQuarter = (t) => t !== null && Number.isFinite(t) && Math.abs(t / 90 - Math.round(t / 90)) < 1e-9;
|
|
1894
|
+
/** A part's own turn: none, a quarter turn, or one this command cannot add up (any other angle, or not a number). */
|
|
1895
|
+
function poseTurnOf(m, asset, part) {
|
|
1896
|
+
const pose = nodeById(m, `${part}.pose`);
|
|
1897
|
+
const turn = (pose?.args.slice(3, 6) ?? []).map((ref) => angleOf(m, asset, ref));
|
|
1898
|
+
if (turn.every((t) => t === 0))
|
|
1899
|
+
return null;
|
|
1900
|
+
return turn.every(isQuarter) ? turnMatrix(turn) : 'other';
|
|
1901
|
+
}
|
|
1902
|
+
/** Whether a part, or anything carrying it, turns on a joint or stands turned by other than quarter turns. */
|
|
1903
|
+
function carriedByATurn(m, asset, id) {
|
|
1904
|
+
for (let part = id; part; part = parentOf(m, part)) {
|
|
1905
|
+
if (nodeById(m, `${part}.motion`)?.op === 'axis-turn@1')
|
|
1906
|
+
return true;
|
|
1907
|
+
if (poseTurnOf(m, asset, part) === 'other')
|
|
1908
|
+
return true;
|
|
1909
|
+
}
|
|
1910
|
+
return false;
|
|
1911
|
+
}
|
|
1912
|
+
/** How a part's own axes lie in the figure's: the quarter turns of it and everything carrying it, composed. */
|
|
1913
|
+
function worldTurnOf(m, asset, id) {
|
|
1914
|
+
let c = IDENTITY;
|
|
1915
|
+
for (let part = id; part; part = parentOf(m, part)) {
|
|
1916
|
+
const r = poseTurnOf(m, asset, part);
|
|
1917
|
+
if (r === 'other')
|
|
1918
|
+
return null;
|
|
1919
|
+
if (r)
|
|
1920
|
+
c = mul3(r, c);
|
|
1921
|
+
}
|
|
1922
|
+
return c;
|
|
1923
|
+
}
|
|
1924
|
+
/**
|
|
1925
|
+
* Where a point of a part lies in the figure, as sums, following whatever it is fastened to: its centre, or `from` in
|
|
1926
|
+
* its own frame. A part standing a quarter turned turns what it carries -- a valve body on a lying pipe, a hub on its
|
|
1927
|
+
* post -- and was refused, those figures left without a room (2026-09-25); another angle still is.
|
|
1928
|
+
*/
|
|
1929
|
+
function centreVec(m, asset, id, bound, from) {
|
|
1930
|
+
let v = from ?? zeroVec();
|
|
1876
1931
|
for (let part = id; part; part = parentOf(m, part)) {
|
|
1877
1932
|
const pose = nodeById(m, `${part}.pose`);
|
|
1878
1933
|
if (!pose)
|
|
1879
1934
|
return `${part} has no pose this command can read`;
|
|
1880
|
-
/* A part's own turn turns it about its centre
|
|
1881
|
-
if (part !== id)
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1935
|
+
/* A part's own turn turns it about its centre: its centre does not move by it. */
|
|
1936
|
+
if (part !== id || from) {
|
|
1937
|
+
const r = poseTurnOf(m, asset, part);
|
|
1938
|
+
if (r === 'other')
|
|
1939
|
+
return `${part} is turned by other than quarter turns, so what it carries is not a box this command can add up`;
|
|
1940
|
+
if (r)
|
|
1941
|
+
v = turnVec(r, v);
|
|
1942
|
+
}
|
|
1943
|
+
for (const [i, a] of AXES.entries())
|
|
1944
|
+
v[a] = linAdd(v[a], linOf(m, pose.args[i]));
|
|
1889
1945
|
const motion = nodeById(m, `${part}.motion`);
|
|
1890
1946
|
if (motion) {
|
|
1891
1947
|
if (motion.op !== 'axis-slide@1')
|
|
1892
1948
|
return `${part} turns, so its reach is not a box this command can add up`;
|
|
1893
1949
|
const unit = motion.args.slice(0, 3).map((ref) => m.constants.find((k) => k.id === ref)?.value ?? null);
|
|
1894
|
-
if (unit.some((
|
|
1950
|
+
if (unit.some((u) => u === null))
|
|
1895
1951
|
return `${part}'s slide axis is not a constant`;
|
|
1896
|
-
|
|
1897
|
-
if (along !== 0) {
|
|
1952
|
+
if (unit.some((u) => u !== 0)) {
|
|
1898
1953
|
const travel = travelAt(m, asset, motion, bound);
|
|
1899
1954
|
if (!travel)
|
|
1900
1955
|
return `${part}'s travel is not a distance this command can read`;
|
|
1901
|
-
|
|
1956
|
+
for (const [i, a] of AXES.entries())
|
|
1957
|
+
if (unit[i])
|
|
1958
|
+
v[a] = linAdd(v[a], travel, unit[i]);
|
|
1902
1959
|
}
|
|
1903
1960
|
}
|
|
1961
|
+
const seat = nodeById(m, `${part}.seat.rigid`);
|
|
1962
|
+
if (seat) {
|
|
1963
|
+
if (seat.args.slice(3, 6).some((ref) => angleOf(m, asset, ref) !== 0))
|
|
1964
|
+
return `${part} is seated turned, which this command does not add up`;
|
|
1965
|
+
for (const [i, a] of AXES.entries())
|
|
1966
|
+
v[a] = linAdd(v[a], linOf(m, seat.args[i]));
|
|
1967
|
+
}
|
|
1904
1968
|
}
|
|
1905
|
-
return
|
|
1969
|
+
return v;
|
|
1970
|
+
}
|
|
1971
|
+
/** Where a part's centre is on one axis, as a sum, following whatever it is fastened to. */
|
|
1972
|
+
function centreLin(m, asset, id, axis, bound) {
|
|
1973
|
+
const v = centreVec(m, asset, id, bound);
|
|
1974
|
+
return typeof v === 'string' ? v : v[axis];
|
|
1906
1975
|
}
|
|
1907
1976
|
/** A value written as a sum of design inputs times constants, or null where it is anything else. */
|
|
1908
1977
|
function affineOf(m, ref, seen = 0) {
|
|
@@ -1926,7 +1995,8 @@ function affineOf(m, ref, seen = 0) {
|
|
|
1926
1995
|
}
|
|
1927
1996
|
if (writer?.op === 'mul@1' && writer.args.length === 2) {
|
|
1928
1997
|
/* A ratio times a length is kept whole: its terms must stay lengths (the one ratio's size, u × x₀). */
|
|
1929
|
-
const
|
|
1998
|
+
const constant = (arg) => m.constants.find((c) => c.id === arg);
|
|
1999
|
+
const ratioTimesLength = !writer.args.every(constant) && writer.args.some((arg) => constant(arg) && constant(arg).unit !== 'ratio');
|
|
1930
2000
|
if (ratioTimesLength)
|
|
1931
2001
|
return sizeValue(m, ref) ? { terms: [{ ref, k: 1 }], c: 0 } : null;
|
|
1932
2002
|
const [a, b] = writer.args.map((arg) => affineOf(m, arg, seen + 1));
|
|
@@ -1994,7 +2064,8 @@ function reachOf(m, asset, id, ends, freezeless = true) {
|
|
|
1994
2064
|
const chain = [];
|
|
1995
2065
|
for (let part = id; part; part = parentOf(m, part))
|
|
1996
2066
|
chain.push(part);
|
|
1997
|
-
|
|
2067
|
+
/* The topmost part that turns on a joint, or stands turned by an angle a box cannot follow (a fan's blade at 120°). */
|
|
2068
|
+
const top = chain.reduce((found, part, i) => (nodeById(m, `${part}.motion`)?.op === 'axis-turn@1' || poseTurnOf(m, asset, part) === 'other' ? i : found), -1);
|
|
1998
2069
|
if (top < 0)
|
|
1999
2070
|
return `${id} is carried by no turn`;
|
|
2000
2071
|
let radius = { terms: [], c: 0 };
|
|
@@ -2005,7 +2076,9 @@ function reachOf(m, asset, id, ends, freezeless = true) {
|
|
|
2005
2076
|
radius = linAdd(radius, size);
|
|
2006
2077
|
return null;
|
|
2007
2078
|
};
|
|
2008
|
-
|
|
2079
|
+
/* Its half size on every axis of its own, whichever way it stands: the ball holds it at any angle. */
|
|
2080
|
+
const sizes = sizeRefsOf(m, id, id);
|
|
2081
|
+
void freezeless;
|
|
2009
2082
|
for (const axis of AXES) {
|
|
2010
2083
|
const bad = grow({ terms: [{ ref: sizes[axis].ref, k: 0.5 * sizes[axis].k }], c: 0 }, `${id}'s size`);
|
|
2011
2084
|
if (bad)
|
|
@@ -2045,29 +2118,15 @@ function reachOf(m, asset, id, ends, freezeless = true) {
|
|
|
2045
2118
|
*/
|
|
2046
2119
|
const pivotPart = chain[top];
|
|
2047
2120
|
const parent = parentOf(m, pivotPart);
|
|
2048
|
-
if (parent) {
|
|
2049
|
-
const pose = nodeById(m, `${parent}.pose`);
|
|
2050
|
-
if (!pose)
|
|
2051
|
-
return `${parent} has no pose this command can read`;
|
|
2052
|
-
for (const ref of pose.args.slice(3, 6))
|
|
2053
|
-
if (angleOf(m, asset, ref) !== 0)
|
|
2054
|
-
return `${parent} is turned, so where ${pivotPart} turns is not a point this command can add up`;
|
|
2055
|
-
}
|
|
2056
2121
|
const seat = nodeById(m, `${pivotPart}.seat.rigid`);
|
|
2122
|
+
const seatAt = Object.fromEntries(AXES.map((a, i) => [a, seat ? linOf(m, seat.args[i]) : { terms: [], c: 0 }]));
|
|
2057
2123
|
const centres = [];
|
|
2058
2124
|
for (const end of ends) {
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
if (typeof above === 'string')
|
|
2065
|
-
return above;
|
|
2066
|
-
at = linAdd(at, above);
|
|
2067
|
-
}
|
|
2068
|
-
centre[axis] = at;
|
|
2069
|
-
}
|
|
2070
|
-
centres.push(centre);
|
|
2125
|
+
/* The point it turns about, in the frame of what carries it, carried there -- turned with it if that stands turned. */
|
|
2126
|
+
const at = parent ? centreVec(m, asset, parent, end, structuredClone(seatAt)) : seatAt;
|
|
2127
|
+
if (typeof at === 'string')
|
|
2128
|
+
return at;
|
|
2129
|
+
centres.push(at);
|
|
2071
2130
|
}
|
|
2072
2131
|
return { centres, radius };
|
|
2073
2132
|
}
|
|
@@ -2105,20 +2164,20 @@ function occupancyLins(asset, over) {
|
|
|
2105
2164
|
/* A row's template stands for its copies (`repeatPart`): leaving it out left a conveyor's rollers out of its room. */
|
|
2106
2165
|
const rowOf = (id) => nodeById(m, `${id}.repeat`);
|
|
2107
2166
|
for (const place of m.nodes.filter((n) => n.op === 'place@1' || (n.op === 'member@1' && rowOf(n.id)))) {
|
|
2108
|
-
|
|
2167
|
+
const turns = carriedByATurn(m, asset, place.id);
|
|
2168
|
+
let sizes = {};
|
|
2109
2169
|
try {
|
|
2110
|
-
|
|
2170
|
+
const own = sizeRefsOf(m, place.id, place.id);
|
|
2171
|
+
/* Its size along the figure's axes, whichever quarter turns it and what carries it stand in. */
|
|
2172
|
+
const c = turns ? IDENTITY : worldTurnOf(m, asset, place.id);
|
|
2173
|
+
if (!c)
|
|
2174
|
+
throw new V3ContractError('EDIT_TARGET', place.id, `${place.id} is turned by other than quarter turns`);
|
|
2175
|
+
AXES.forEach((axis, i) => (sizes[axis] = own[AXES[c[i].findIndex(v => v !== 0)]]));
|
|
2111
2176
|
}
|
|
2112
2177
|
catch (e) {
|
|
2113
2178
|
skipped.push({ part: place.id, reason: e instanceof V3ContractError ? e.message : 'not a part whose size this command can read' });
|
|
2114
2179
|
continue;
|
|
2115
2180
|
}
|
|
2116
|
-
const turns = (() => {
|
|
2117
|
-
for (let part = place.id; part; part = parentOf(m, part))
|
|
2118
|
-
if (nodeById(m, `${part}.motion`)?.op === 'axis-turn@1')
|
|
2119
|
-
return true;
|
|
2120
|
-
return false;
|
|
2121
|
-
})();
|
|
2122
2181
|
const row = place.op === 'member@1' ? rowOf(place.id) : undefined;
|
|
2123
2182
|
if (turns && row) {
|
|
2124
2183
|
skipped.push({ part: place.id, reason: `${place.id} is a row carried by a turn; where its copies reach is not added up` });
|
|
@@ -2161,8 +2220,8 @@ function occupancyLins(asset, over) {
|
|
|
2161
2220
|
if (row) {
|
|
2162
2221
|
rowAxis = String(row.params?.axis ?? '').toLowerCase();
|
|
2163
2222
|
const parent = parentOf(m, place.id);
|
|
2164
|
-
const
|
|
2165
|
-
if (!parent || !AXES.includes(rowAxis) || !
|
|
2223
|
+
const straight = parent && worldTurnOf(m, asset, parent);
|
|
2224
|
+
if (!parent || !AXES.includes(rowAxis) || !straight || AXES.some((_, i) => straight[i][i] !== 1)) {
|
|
2166
2225
|
skipped.push({ part: place.id, reason: `${place.id} is a row whose run this command cannot read` });
|
|
2167
2226
|
continue;
|
|
2168
2227
|
}
|
|
@@ -2219,8 +2278,17 @@ function declareOccupancy(asset, a) {
|
|
|
2219
2278
|
const m = asset.document.model;
|
|
2220
2279
|
if (!a.proposal || (a.proposal.over !== 'rest' && a.proposal.over !== 'range'))
|
|
2221
2280
|
fail('SCHEMA', 'occupancy', 'a proposal is required; propose first, then confirm');
|
|
2222
|
-
if (!
|
|
2281
|
+
if (!V3_PLACEMENTS.includes(a.placement))
|
|
2223
2282
|
fail('SCHEMA', 'occupancy', `${String(a.placement)} is not a placement`);
|
|
2283
|
+
/*
|
|
2284
|
+
The placement says which plane the mounting plane is. A part already fastened to it by a face the new plane does
|
|
2285
|
+
not take -- a bottom on the floor, when the figure is to hang on a wall -- is named, not seated again without a
|
|
2286
|
+
word (chief architect's condition, 2026-09-25): fasten it again by the face the new plane takes.
|
|
2287
|
+
*/
|
|
2288
|
+
const takes = planeFacesOf(a.placement);
|
|
2289
|
+
const misfit = (asset.joints ?? []).filter(j => 'plane' in j.body0 && !takes.includes(j.body1.face));
|
|
2290
|
+
if (misfit.length)
|
|
2291
|
+
fail('PLACEMENT_PLANE', 'occupancy.placement', `${misfit.map(j => `${j.body1.part} (${j.body1.face})`).join(', ')} ${misfit.length > 1 ? 'are' : 'is'} fastened to the mounting plane by a face a ${a.placement} does not take (${takes.join(' or ')}); detach ${misfit.length > 1 ? 'them' : 'it'} or fasten ${misfit.length > 1 ? 'them' : 'it'} by ${takes.join(' or ')} first`);
|
|
2224
2292
|
const now = fingerprintOf(asset);
|
|
2225
2293
|
if (a.proposal.basis !== now)
|
|
2226
2294
|
fail('OCCUPANCY_STALE', 'occupancy', 'the figure changed since this was proposed, so the volume it would declare is not the one that was looked at; propose again and confirm that');
|