@hatiolab/figure-model 0.2.6 → 0.2.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/dist/index.d.ts CHANGED
@@ -39,6 +39,7 @@ export { assertFigureJson, parseFigureJson, figureUtf8ByteLength, FIGURE_JSON_MA
39
39
  export { FIGURE_INSTANCE_SIZE_DEFAULT, FIGURE_INSTANCE_SIZE_INPUTS, FIGURE_SIZE_POSITIVE_STEP, defaultInstanceSizeRange, foldInstanceSizeRange, figureInstanceSizeLimitsOf, type FigureSizeLimit, type FigureSizeRange, type FigureSizeRangeMove } from './instance-size.ts';
40
40
  export { figureContractChanges, type FigureContractChange, type FigureContractChangeCode } from './release-contract.ts';
41
41
  export { robotArmFigure, ROBOT_ARM_CHAIN } from './examples.ts';
42
+ export { quadrupedRobotFigure, mobileManipulatorFigure, scaraRobotFigure, humanoidRobotFigure, QUADRUPED_LEGS, COBOT_CHAIN, type RobotJoint } from './robots.ts';
42
43
  export { settleFigureClips, FigureClipsDroppedError, type FigureClipConsent, type FigureClipLoss, type FigurePartRenamed } from './clip-keeping.ts';
43
44
  export { previewFigureCommand, figurePartFaceOf, figureBodyOwnerOf, figureRowOf, figureFaceOverhangOf, type FigureFaceOverhang, type FigureCommandPreview, type FigureBodyMove, type FigureFaceArea, type FigureRowReading } from './command-preview.ts';
44
45
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -46,6 +46,7 @@ export { assertFigureJson, parseFigureJson, figureUtf8ByteLength, FIGURE_JSON_MA
46
46
  export { FIGURE_INSTANCE_SIZE_DEFAULT, FIGURE_INSTANCE_SIZE_INPUTS, FIGURE_SIZE_POSITIVE_STEP, defaultInstanceSizeRange, foldInstanceSizeRange, figureInstanceSizeLimitsOf } from "./instance-size.js";
47
47
  export { figureContractChanges } from "./release-contract.js";
48
48
  export { robotArmFigure, ROBOT_ARM_CHAIN } from "./examples.js";
49
+ export { quadrupedRobotFigure, mobileManipulatorFigure, scaraRobotFigure, humanoidRobotFigure, QUADRUPED_LEGS, COBOT_CHAIN } from "./robots.js";
49
50
  export { settleFigureClips, FigureClipsDroppedError } from "./clip-keeping.js";
50
51
  export { previewFigureCommand, figurePartFaceOf, figureBodyOwnerOf, figureRowOf, figureFaceOverhangOf } from "./command-preview.js";
51
52
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@
4
4
  * different result. Kept equal to package.json's version by `npm version` (the `version` script rewrites this file)
5
5
  * and by `kernel-version.test.ts`.
6
6
  */
7
- export declare const FIGURE_KERNEL_VERSION = "0.2.6";
7
+ export declare const FIGURE_KERNEL_VERSION = "0.2.7";
8
8
  //# sourceMappingURL=kernel-version.d.ts.map
@@ -7,5 +7,5 @@
7
7
  * different result. Kept equal to package.json's version by `npm version` (the `version` script rewrites this file)
8
8
  * and by `kernel-version.test.ts`.
9
9
  */
10
- export const FIGURE_KERNEL_VERSION = '0.2.6';
10
+ export const FIGURE_KERNEL_VERSION = '0.2.7';
11
11
  //# sourceMappingURL=kernel-version.js.map
package/dist/proposal.js CHANGED
@@ -17,7 +17,7 @@ import { addFigurePrimitive } from "./create.js";
17
17
  import { applyFigureAuthoring, proposeFigureOccupancy, FIGURE_FACES, FIGURE_JOINT_TYPES } from "./authoring-actions.js";
18
18
  import { editFigurePart } from "./part-edit.js";
19
19
  import { FIGURE_PLACEMENTS } from "./asset-types.js";
20
- import { AXES } from "./words.js";
20
+ import { AXES, DETAIL_LEVELS } from "./words.js";
21
21
  /* The part edits, told apart from the authoring commands by kind -- one list, checked below to be the whole union. */
22
22
  const PART_EDIT_KINDS = [
23
23
  'set-material',
@@ -160,7 +160,7 @@ export const FIGURE_PROPOSAL_GRAMMAR = [
160
160
  { kind: 'fit-room', shape: `{ kind: 'fit-room', placement: ${FIGURE_PLACEMENTS.map(p => `'${p}'`).join(' | ')} }`, means: 'Declare the room the figure takes up, fitted to its parts, and what it is placed on. Do it last, after the parts and their motions.' },
161
161
  { kind: 'set-mounting-face', shape: `{ kind: 'set-mounting-face', part, face: ${faces} }`, means: 'The face that lies on the mounting plane (after the room is declared).' },
162
162
  { kind: 'clear-mounting-face', shape: `{ kind: 'clear-mounting-face' }`, means: 'No face is named as lying on the mounting plane.' },
163
- { kind: 'set-detail-level', shape: `{ kind: 'set-detail-level', level: 'S' | 'M' | 'L' | null }`, means: 'How much detail the figure is authored to, and so its part limit.' },
163
+ { kind: 'set-detail-level', shape: `{ kind: 'set-detail-level', level: ${DETAIL_LEVELS.map(l => `'${l}'`).join(' | ')} | null }`, means: 'How much detail the figure is authored to, and so its part limit.' },
164
164
  { kind: 'rename', shape: `{ kind: 'rename', name }`, means: 'The name a person reads in the catalogue.' },
165
165
  { kind: 'set-material', shape: `{ kind: 'set-material', target: part, material: { token } }`, means: "The part's colour, a palette token." },
166
166
  { kind: 'set-segments', shape: `{ kind: 'set-segments', target: part, segments }`, means: "How finely a round part's rim is drawn." },
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../src/proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../src/proposal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { type FigurePrimitiveCreation } from './create.ts';
2
+ import type { FigureAsset } from './asset-types.ts';
3
+ type Part = FigurePrimitiveCreation;
4
+ /** A moving joint as a robot controller sees it: the joint's id, its axis and its range. */
5
+ export interface RobotJoint {
6
+ id: string;
7
+ type: 'revolute' | 'prismatic';
8
+ axis: 'X' | 'Y' | 'Z';
9
+ /** Degrees or millimetres; absent on a revolute joint that turns without end (a wheel). */
10
+ min?: number;
11
+ max?: number;
12
+ }
13
+ /** Front left, front right, hind left, hind right: which end of the body (X) and which side (Z) each leg hangs at. */
14
+ export declare const QUADRUPED_LEGS: readonly [{
15
+ readonly leg: "fl";
16
+ readonly x: 1;
17
+ readonly z: -1;
18
+ }, {
19
+ readonly leg: "fr";
20
+ readonly x: 1;
21
+ readonly z: 1;
22
+ }, {
23
+ readonly leg: "hl";
24
+ readonly x: -1;
25
+ readonly z: -1;
26
+ }, {
27
+ readonly leg: "hr";
28
+ readonly x: -1;
29
+ readonly z: 1;
30
+ }];
31
+ /**
32
+ * A four-legged walking robot: a body standing on four legs, each leg three joints -- the hip swinging the leg out
33
+ * (about the body's length), the thigh swinging it fore and aft, the knee bending the shin. A sensor head on the front.
34
+ * The body stands as high as a straight leg is long; the legs hang straight at rest. Every knee bends the same way.
35
+ */
36
+ export declare function quadrupedRobotFigure(): {
37
+ asset: FigureAsset;
38
+ joints: RobotJoint[];
39
+ };
40
+ /** A collaborative arm's links from its base up; a joint joins each moving link to the one below. */
41
+ export declare const COBOT_CHAIN: {
42
+ part: Part;
43
+ joint?: Omit<RobotJoint, 'type' | 'id'> & {
44
+ id: string;
45
+ };
46
+ }[];
47
+ /**
48
+ * An autonomous mobile robot carrying a six-axis arm: a chassis on two drive wheels and two casters, a laser scanner on
49
+ * its front, the arm's base on its top at the rear. Each drive wheel turns without end on its own value; the arm is
50
+ * the collaborative arm chain with a two-finger gripper.
51
+ */
52
+ export declare function mobileManipulatorFigure(): {
53
+ asset: FigureAsset;
54
+ joints: RobotJoint[];
55
+ };
56
+ /**
57
+ * A SCARA: a column on the floor; the first arm turning about the column (J1), the second turning at the first arm's
58
+ * end (J2), both in the horizontal plane; at the second arm's end a quill sliding down (J3) and its tool turning (J4).
59
+ * Each arm turns on a hub at its pivot, so the arm reaches out from the axis it turns about.
60
+ */
61
+ export declare function scaraRobotFigure(): {
62
+ asset: FigureAsset;
63
+ joints: RobotJoint[];
64
+ };
65
+ /**
66
+ * A humanoid: a pelvis standing on two legs (hip roll, hip pitch, knee, ankle), a torso turning on it at the waist, a
67
+ * head on a neck, and two arms (shoulder pitch at the torso's side, shoulder roll, elbow) with a hand each. It faces +X;
68
+ * its left is -Z. The pelvis stands as high as a straight leg is long.
69
+ */
70
+ export declare function humanoidRobotFigure(): {
71
+ asset: FigureAsset;
72
+ joints: RobotJoint[];
73
+ };
74
+ export {};
75
+ //# sourceMappingURL=robots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robots.d.ts","sourceRoot":"","sources":["../src/robots.ts"],"names":[],"mappings":"AAOA,OAAO,EAAyC,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,KAAK,IAAI,GAAG,uBAAuB,CAAA;AAUnC,4FAA4F;AAC5F,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,GAAG,WAAW,CAAA;IAC9B,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IACrB,2FAA2F;IAC3F,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAyCD,sHAAsH;AACtH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAKjB,CAAA;AAMV;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CA2BnF;AAID,qGAAqG;AACrG,eAAO,MAAM,WAAW,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAWjG,CAAA;AAmBD;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAiCtF;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAoB/E;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CA6BlF"}
package/dist/robots.js ADDED
@@ -0,0 +1,222 @@
1
+ /*
2
+ * Industrial robots authored with the commands the modeller and the AI share: a four-legged walking robot, a mobile
3
+ * manipulator (an autonomous mobile robot carrying a six-axis arm) and a SCARA. Each is its links joined at joints --
4
+ * the one relation a robot needs -- and every size is the part's own number. A joint's state input is what a robot
5
+ * controller drives: one value per joint, in degrees or millimetres, named after the joint.
6
+ */
7
+ import { applyFigureAuthoring, proposeFigureOccupancy } from "./authoring-actions.js";
8
+ import { addFigurePrimitive, createFigureAsset } from "./create.js";
9
+ const at = { x: 0, y: 0, z: 0 };
10
+ const metal = (token) => ({ token, preset: 'metal' });
11
+ const box = (id, width, height, depth, token) => ({ id, kind: 'box', dimensions: { width, height, depth }, position: at, material: metal(token) });
12
+ const rounded = (id, width, height, depth, round, token) => ({ id, kind: 'rounded-box', dimensions: { width, height, depth, round }, position: at, material: metal(token) });
13
+ const cylinder = (id, radius, length, token) => ({ id, kind: 'cylinder', dimensions: { radius, length }, position: at, material: metal(token) });
14
+ /** A small builder over the shared commands: each call is one command, as a person's step would be. */
15
+ class Robot {
16
+ asset;
17
+ joints = [];
18
+ constructor(name, palette) {
19
+ this.asset = createFigureAsset(name);
20
+ this.asset.palette = palette;
21
+ }
22
+ add(...parts) {
23
+ for (const part of parts)
24
+ this.asset = addFigurePrimitive(this.asset, part);
25
+ return this;
26
+ }
27
+ do(action) {
28
+ this.asset = applyFigureAuthoring(this.asset, action);
29
+ return this;
30
+ }
31
+ joint(joint) {
32
+ this.do({ kind: 'set-joint', joint });
33
+ if (joint.type !== 'fixed' && !joint.mimic)
34
+ this.joints.push({
35
+ id: joint.id,
36
+ type: joint.type,
37
+ axis: joint.axis,
38
+ ...(joint.lowerLimit !== undefined ? { min: joint.lowerLimit, max: joint.upperLimit } : {})
39
+ });
40
+ return this;
41
+ }
42
+ finish(level) {
43
+ this.do({ kind: 'set-detail-level', level });
44
+ this.do({ kind: 'declare-occupancy', proposal: proposeFigureOccupancy(this.asset, { over: 'range' }), placement: 'floor' });
45
+ return this.asset;
46
+ }
47
+ }
48
+ const hang = (parent, child, parentFace = 'top') => ({ body0: { part: parent, face: parentFace }, body1: { part: child, face: parentFace === 'top' ? 'bottom' : 'top' } });
49
+ /* ---------------------------------------------------------------- four-legged walking robot */
50
+ /** Front left, front right, hind left, hind right: which end of the body (X) and which side (Z) each leg hangs at. */
51
+ export const QUADRUPED_LEGS = [
52
+ { leg: 'fl', x: 1, z: -1 },
53
+ { leg: 'fr', x: 1, z: 1 },
54
+ { leg: 'hl', x: -1, z: -1 },
55
+ { leg: 'hr', x: -1, z: 1 }
56
+ ];
57
+ /** The leg, from the hip down: the parts' heights add up to how high the body stands. */
58
+ const QUADRUPED_BODY = { length: 900, height: 200, width: 360 };
59
+ const QUADRUPED_LEG = { hip: 80, hipRadius: 55, thigh: 340, shin: 340, foot: 40 };
60
+ /**
61
+ * A four-legged walking robot: a body standing on four legs, each leg three joints -- the hip swinging the leg out
62
+ * (about the body's length), the thigh swinging it fore and aft, the knee bending the shin. A sensor head on the front.
63
+ * The body stands as high as a straight leg is long; the legs hang straight at rest. Every knee bends the same way.
64
+ */
65
+ export function quadrupedRobotFigure() {
66
+ const r = new Robot('4족 보행 로봇', {
67
+ 'palette.body': '#e8b100',
68
+ 'palette.dark': '#2b2f33',
69
+ 'palette.joint': '#5b636b',
70
+ 'palette.sensor': '#1d2124'
71
+ });
72
+ const { hip, hipRadius, thigh, shin, foot } = QUADRUPED_LEG;
73
+ const body = QUADRUPED_BODY;
74
+ r.add(rounded('body', body.length, body.height, body.width, 40, 'palette.body'), box('head', 120, 140, 260, 'palette.sensor'));
75
+ r.joint({ id: 'body', type: 'fixed', body0: { plane: 'mounting-plane' }, body1: { part: 'body', face: 'bottom' }, origin: { gap: hip + thigh + shin + foot } });
76
+ r.joint({ id: 'head', type: 'fixed', body0: { part: 'body', face: 'right' }, body1: { part: 'head', face: 'left' } });
77
+ for (const { leg, x, z } of QUADRUPED_LEGS) {
78
+ r.add(cylinder(`${leg}-hip`, hipRadius, hip, 'palette.joint'), box(`${leg}-thigh`, 80, thigh, 70, 'palette.dark'), box(`${leg}-shin`, 50, shin, 50, 'palette.dark'), cylinder(`${leg}-foot`, 38, foot, 'palette.sensor'));
79
+ /* At the body's corner, measured from its middle: a joint placed by an edge would turn about that edge (a hinge). */
80
+ const corner = { x: { mm: x * (body.length / 2 - hipRadius) }, z: { mm: z * (body.width / 2 - hipRadius) } };
81
+ r.joint({ id: `${leg}-hip`, type: 'revolute', ...hang('body', `${leg}-hip`, 'bottom'), origin: { align: corner }, axis: 'X', lowerLimit: -30, upperLimit: 30 });
82
+ r.joint({ id: `${leg}-thigh`, type: 'revolute', ...hang(`${leg}-hip`, `${leg}-thigh`, 'bottom'), axis: 'Z', lowerLimit: -60, upperLimit: 60 });
83
+ r.joint({ id: `${leg}-knee`, type: 'revolute', ...hang(`${leg}-thigh`, `${leg}-shin`, 'bottom'), axis: 'Z', lowerLimit: 0, upperLimit: 150 });
84
+ r.joint({ id: `${leg}-foot`, type: 'fixed', ...hang(`${leg}-shin`, `${leg}-foot`, 'bottom') });
85
+ }
86
+ return { asset: r.finish('XL'), joints: r.joints };
87
+ }
88
+ /* ---------------------------------------------------------------- six-axis arm, as a chain on any face */
89
+ /** A collaborative arm's links from its base up; a joint joins each moving link to the one below. */
90
+ export const COBOT_CHAIN = [
91
+ { part: cylinder('arm-base', 90, 80, 'palette.arm') },
92
+ { part: cylinder('arm-turret', 80, 110, 'palette.arm'), joint: { id: 'arm-j1', axis: 'Y', min: -180, max: 180 } },
93
+ { part: box('arm-shoulder', 140, 100, 140, 'palette.joint') },
94
+ { part: box('arm-upper', 90, 420, 90, 'palette.arm'), joint: { id: 'arm-j2', axis: 'Z', min: -120, max: 120 } },
95
+ { part: box('arm-elbow', 110, 90, 110, 'palette.joint') },
96
+ { part: box('arm-fore', 80, 380, 80, 'palette.arm'), joint: { id: 'arm-j3', axis: 'Z', min: -150, max: 150 } },
97
+ { part: cylinder('arm-wrist-1', 45, 70, 'palette.joint'), joint: { id: 'arm-j4', axis: 'Y', min: -180, max: 180 } },
98
+ { part: box('arm-wrist-2', 80, 80, 80, 'palette.arm'), joint: { id: 'arm-j5', axis: 'Z', min: -120, max: 120 } },
99
+ { part: cylinder('arm-flange', 40, 30, 'palette.joint'), joint: { id: 'arm-j6', axis: 'Y', min: -180, max: 180 } },
100
+ { part: box('arm-palm', 120, 40, 60, 'palette.dark') }
101
+ ];
102
+ function addArm(r, on) {
103
+ COBOT_CHAIN.forEach(({ part, joint }, i) => {
104
+ r.add(part);
105
+ const link = i === 0 ? { body0: { part: on.part, face: 'top' }, body1: { part: part.id, face: 'bottom' }, ...(on.align ? { origin: { align: on.align } } : {}) } : hang(COBOT_CHAIN[i - 1].part.id, part.id);
106
+ if (joint)
107
+ r.joint({ id: joint.id, type: 'revolute', ...link, axis: joint.axis, lowerLimit: joint.min, upperLimit: joint.max });
108
+ else
109
+ r.joint({ id: part.id, type: 'fixed', ...link });
110
+ });
111
+ /* Two fingers on the palm's top, closing towards each other on one value: the right one mimics the left. */
112
+ r.add(box('arm-finger-left', 16, 70, 36, 'palette.joint'), box('arm-finger-right', 16, 70, 36, 'palette.joint'));
113
+ r.joint({ id: 'arm-grip', type: 'prismatic', body0: { part: 'arm-palm', face: 'top' }, body1: { part: 'arm-finger-left', face: 'bottom' }, origin: { align: { x: 'min' } }, axis: 'X', lowerLimit: 0, upperLimit: 40 });
114
+ r.joint({ id: 'arm-grip-mirror', type: 'prismatic', body0: { part: 'arm-palm', face: 'top' }, body1: { part: 'arm-finger-right', face: 'bottom' }, origin: { align: { x: 'max' } }, axis: 'X', mimic: { joint: 'arm-grip', multiplier: -1 } });
115
+ }
116
+ /* ---------------------------------------------------------------- mobile manipulator */
117
+ const AMR = { length: 1000, height: 280, width: 700, clearance: 50, wheel: 110 };
118
+ /**
119
+ * An autonomous mobile robot carrying a six-axis arm: a chassis on two drive wheels and two casters, a laser scanner on
120
+ * its front, the arm's base on its top at the rear. Each drive wheel turns without end on its own value; the arm is
121
+ * the collaborative arm chain with a two-finger gripper.
122
+ */
123
+ export function mobileManipulatorFigure() {
124
+ const r = new Robot('모바일 매니퓰레이터', {
125
+ 'palette.chassis': '#d7dce1',
126
+ 'palette.arm': '#f2f4f6',
127
+ 'palette.joint': '#3d6f99',
128
+ 'palette.dark': '#2b2f33',
129
+ 'palette.tyre': '#1d2124',
130
+ 'palette.sensor': '#e8b100'
131
+ });
132
+ const { length, height, width, clearance, wheel } = AMR;
133
+ r.add(rounded('chassis', length, height, width, 30, 'palette.chassis'));
134
+ r.joint({ id: 'chassis', type: 'fixed', body0: { plane: 'mounting-plane' }, body1: { part: 'chassis', face: 'bottom' }, origin: { gap: clearance } });
135
+ /* The drive wheels on the two sides, their axles across the chassis (a quarter turn about X lays a wheel's axis along Z), their bottoms on the floor. */
136
+ for (const [side, face] of [['left', 'back'], ['right', 'front']]) {
137
+ r.add(cylinder(`wheel-${side}`, wheel, 60, 'palette.tyre'));
138
+ r.joint({
139
+ id: `wheel-${side}`,
140
+ type: 'revolute',
141
+ body0: { part: 'chassis', face },
142
+ body1: { part: `wheel-${side}`, face: 'centre' },
143
+ origin: { gap: 30, align: { y: { mm: wheel - clearance - height / 2 } }, turn: { x: 90 } },
144
+ axis: 'Z'
145
+ });
146
+ }
147
+ /* Casters under the two ends: a small wheel each, laid on its side, its bottom on the floor. */
148
+ for (const [end, x] of [['front', 'max'], ['rear', 'min']]) {
149
+ r.add(cylinder(`caster-${end}`, clearance / 2, 30, 'palette.tyre'));
150
+ r.joint({ id: `caster-${end}`, type: 'fixed', ...hang('chassis', `caster-${end}`, 'bottom'), origin: { align: { x: { mm: (x === 'max' ? 1 : -1) * (length / 2 - 80) } }, turn: { x: 90 } } });
151
+ }
152
+ r.add(cylinder('scanner', 50, 70, 'palette.sensor'));
153
+ r.joint({ id: 'scanner', type: 'fixed', ...hang('chassis', 'scanner'), origin: { align: { x: 'max' } } });
154
+ addArm(r, { part: 'chassis', align: { x: { mm: -length / 4 } } });
155
+ return { asset: r.finish('XL'), joints: r.joints };
156
+ }
157
+ /* ---------------------------------------------------------------- SCARA */
158
+ const SCARA = { column: 420, reach1: 400, reach2: 350, quill: 380, stroke: 200 };
159
+ /**
160
+ * A SCARA: a column on the floor; the first arm turning about the column (J1), the second turning at the first arm's
161
+ * end (J2), both in the horizontal plane; at the second arm's end a quill sliding down (J3) and its tool turning (J4).
162
+ * Each arm turns on a hub at its pivot, so the arm reaches out from the axis it turns about.
163
+ */
164
+ export function scaraRobotFigure() {
165
+ const r = new Robot('스카라 로봇', {
166
+ 'palette.body': '#f2f4f6',
167
+ 'palette.joint': '#3d6f99',
168
+ 'palette.dark': '#2b2f33'
169
+ });
170
+ const { column, reach1, reach2, quill, stroke } = SCARA;
171
+ r.add(box('column', 260, column, 260, 'palette.body'), cylinder('hub-1', 110, 60, 'palette.joint'), rounded('arm-1', reach1 + 220, 110, 200, 30, 'palette.body'));
172
+ r.joint({ id: 'column', type: 'fixed', body0: { plane: 'mounting-plane' }, body1: { part: 'column', face: 'bottom' } });
173
+ r.joint({ id: 'j1', type: 'revolute', ...hang('column', 'hub-1'), axis: 'Y', lowerLimit: -140, upperLimit: 140 });
174
+ /* The arm's one end round the hub: its middle half its reach out from the axis. */
175
+ r.joint({ id: 'arm-1', type: 'fixed', ...hang('hub-1', 'arm-1'), origin: { align: { x: { mm: reach1 / 2 } } } });
176
+ r.add(cylinder('hub-2', 90, 50, 'palette.joint'), rounded('arm-2', reach2 + 180, 100, 170, 30, 'palette.body'));
177
+ r.joint({ id: 'j2', type: 'revolute', ...hang('arm-1', 'hub-2'), origin: { align: { x: { mm: reach1 / 2 } } }, axis: 'Y', lowerLimit: -150, upperLimit: 150 });
178
+ r.joint({ id: 'arm-2', type: 'fixed', ...hang('hub-2', 'arm-2'), origin: { align: { x: { mm: reach2 / 2 } } } });
179
+ /* The quill through the second arm's far end, half of it above the arm: it slides down by the stroke. */
180
+ r.add(cylinder('quill', 25, quill, 'palette.dark'), cylinder('tool-flange', 45, 30, 'palette.joint'));
181
+ r.joint({ id: 'j3', type: 'prismatic', ...hang('arm-2', 'quill', 'bottom'), origin: { align: { x: { mm: reach2 / 2 } }, gap: -quill / 2 }, axis: 'Y', lowerLimit: -stroke, upperLimit: 0 });
182
+ r.joint({ id: 'j4', type: 'revolute', ...hang('quill', 'tool-flange', 'bottom'), axis: 'Y', lowerLimit: -360, upperLimit: 360 });
183
+ return { asset: r.finish('M'), joints: r.joints };
184
+ }
185
+ /* ---------------------------------------------------------------- humanoid */
186
+ const HUMANOID = { pelvis: 340, torso: 480, hip: 60, hipWidth: 110, thigh: 420, shin: 400, foot: 60, shoulder: 120 };
187
+ /**
188
+ * A humanoid: a pelvis standing on two legs (hip roll, hip pitch, knee, ankle), a torso turning on it at the waist, a
189
+ * head on a neck, and two arms (shoulder pitch at the torso's side, shoulder roll, elbow) with a hand each. It faces +X;
190
+ * its left is -Z. The pelvis stands as high as a straight leg is long.
191
+ */
192
+ export function humanoidRobotFigure() {
193
+ const r = new Robot('휴머노이드', {
194
+ 'palette.shell': '#eceff1',
195
+ 'palette.joint': '#3d4750',
196
+ 'palette.dark': '#22272b',
197
+ 'palette.visor': '#1d5f8a'
198
+ });
199
+ const { pelvis, torso, hip, hipWidth, thigh, shin, foot, shoulder } = HUMANOID;
200
+ r.add(box('pelvis', 200, 160, pelvis, 'palette.joint'), rounded('torso', 240, torso, 420, 40, 'palette.shell'), cylinder('neck', 45, 80, 'palette.joint'), rounded('head', 220, 240, 200, 60, 'palette.shell'), box('visor', 20, 70, 160, 'palette.visor'));
201
+ r.joint({ id: 'pelvis', type: 'fixed', body0: { plane: 'mounting-plane' }, body1: { part: 'pelvis', face: 'bottom' }, origin: { gap: hip + thigh + shin + foot } });
202
+ r.joint({ id: 'waist', type: 'revolute', ...hang('pelvis', 'torso'), axis: 'Y', lowerLimit: -90, upperLimit: 90 });
203
+ r.joint({ id: 'neck', type: 'revolute', ...hang('torso', 'neck'), axis: 'Y', lowerLimit: -80, upperLimit: 80 });
204
+ r.joint({ id: 'head', type: 'revolute', ...hang('neck', 'head'), axis: 'Z', lowerLimit: -30, upperLimit: 30 });
205
+ r.joint({ id: 'visor', type: 'fixed', body0: { part: 'head', face: 'right' }, body1: { part: 'visor', face: 'left' } });
206
+ for (const [side, z, torsoFace, ownFace] of [['left', -1, 'back', 'front'], ['right', 1, 'front', 'back']]) {
207
+ /* The leg, from the pelvis down; a knee bends the shin back, an ankle tips the foot, which reaches forward. */
208
+ r.add(box(`${side}-hip`, hipWidth, hip, hipWidth, 'palette.joint'), box(`${side}-thigh`, 130, thigh, 130, 'palette.shell'), box(`${side}-shin`, 110, shin, 110, 'palette.shell'), box(`${side}-foot`, 260, foot, 120, 'palette.dark'));
209
+ r.joint({ id: `${side}-hip-roll`, type: 'revolute', ...hang('pelvis', `${side}-hip`, 'bottom'), origin: { align: { z: { mm: z * (pelvis / 2 - hipWidth / 2) } } }, axis: 'X', lowerLimit: -30, upperLimit: 30 });
210
+ r.joint({ id: `${side}-hip-pitch`, type: 'revolute', ...hang(`${side}-hip`, `${side}-thigh`, 'bottom'), axis: 'Z', lowerLimit: -30, upperLimit: 100 });
211
+ r.joint({ id: `${side}-knee`, type: 'revolute', ...hang(`${side}-thigh`, `${side}-shin`, 'bottom'), axis: 'Z', lowerLimit: -140, upperLimit: 0 });
212
+ r.joint({ id: `${side}-ankle`, type: 'revolute', ...hang(`${side}-shin`, `${side}-foot`, 'bottom'), origin: { align: { x: { mm: 50 } } }, axis: 'Z', lowerLimit: -40, upperLimit: 40 });
213
+ /* The arm, from the top of the torso's side down. */
214
+ r.add(box(`${side}-shoulder`, 120, shoulder, 100, 'palette.joint'), box(`${side}-upper-arm`, 100, 300, 100, 'palette.shell'), box(`${side}-forearm`, 90, 280, 90, 'palette.shell'), box(`${side}-hand`, 90, 120, 50, 'palette.dark'));
215
+ r.joint({ id: `${side}-shoulder-pitch`, type: 'revolute', body0: { part: 'torso', face: torsoFace }, body1: { part: `${side}-shoulder`, face: ownFace }, origin: { align: { y: { mm: torso / 2 - shoulder / 2 } } }, axis: 'Z', lowerLimit: -60, upperLimit: 180 });
216
+ r.joint({ id: `${side}-shoulder-roll`, type: 'revolute', ...hang(`${side}-shoulder`, `${side}-upper-arm`, 'bottom'), axis: 'X', lowerLimit: -90, upperLimit: 90 });
217
+ r.joint({ id: `${side}-elbow`, type: 'revolute', ...hang(`${side}-upper-arm`, `${side}-forearm`, 'bottom'), axis: 'Z', lowerLimit: 0, upperLimit: 140 });
218
+ r.joint({ id: `${side}-hand`, type: 'fixed', ...hang(`${side}-forearm`, `${side}-hand`, 'bottom') });
219
+ }
220
+ return { asset: r.finish('XL'), joints: r.joints };
221
+ }
222
+ //# sourceMappingURL=robots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robots.js","sourceRoot":"","sources":["../src/robots.ts"],"names":[],"mappings":"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"}
package/dist/score.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { FigureGrade } from './words.ts';
1
+ import type { DetailLevel, FigureGrade } from './words.ts';
2
2
  import type { FigureAsset, FigureAssetGeometry } from './asset-types.ts';
3
3
  export type FigureBudgetKey = 'groups' | 'triangles' | 'independent' | 'moving' | 'transparent' | 'parts';
4
4
  /** Every budget, in the order a screen draws them. */
@@ -9,7 +9,7 @@ export declare const FIGURE_BUDGET_KEYS: readonly FigureBudgetKey[];
9
9
  export declare function figurePartCountOf(asset: FigureAsset): number;
10
10
  /** The detail level's part budget, or nothing when the figure declares no level. */
11
11
  export declare function figurePartBudgetOf(asset: FigureAsset): {
12
- level: 'S' | 'M' | 'L';
12
+ level: DetailLevel;
13
13
  used: number;
14
14
  limit: number;
15
15
  } | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM7C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAExE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAA;AAEzG,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAA6E,CAAA;AAEtI;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE5D;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAG1H;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,eAAe,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,mHAAmH;IACnH,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;IAClB,sFAAsF;IACtF,QAAQ,EAAE,eAAe,CAAA;IACzB,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B;AAED,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAIzE,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAGxD;AAED,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB;;;;CAItB,CAAA;AAEV,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAIrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,CAG3G;AAaD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CAqCzE"}
1
+ {"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM1D,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAExE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAA;AAEzG,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAA6E,CAAA;AAEtI;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE5D;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAGtH;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,eAAe,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,mHAAmH;IACnH,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;IAClB,sFAAsF;IACtF,QAAQ,EAAE,eAAe,CAAA;IACzB,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B;AAED,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAIzE,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAGxD;AAED,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB;;;;CAItB,CAAA;AAEV,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAIrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,CAG3G;AAaD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CAqCzE"}
package/dist/words.d.ts CHANGED
@@ -37,13 +37,16 @@ export declare const REPEAT_LIMIT = 100;
37
37
  * S simple a sign, a post
38
38
  * M ordinary most equipment
39
39
  * L detailed the large equipment a scene is about
40
+ * XL fine a mechanism of many links -- a robot with legs, a humanoid, an arm on a vehicle
40
41
  *
41
42
  * The level sets the part limit, and the maturity check reads whether the figure was made to it.
42
43
  */
43
- export declare const DETAIL_LEVELS: readonly ["S", "M", "L"];
44
+ export declare const DETAIL_LEVELS: readonly ["S", "M", "L", "XL"];
44
45
  export type DetailLevel = (typeof DETAIL_LEVELS)[number];
45
46
  /** The part limit of each detail level. */
46
47
  export declare const PART_LIMIT: Record<DetailLevel, number>;
48
+ /** Whether a value is one of the detail levels. */
49
+ export declare const isDetailLevel: (value: unknown) => value is DetailLevel;
47
50
  /**
48
51
  * Faces set against each other are exactly 0 apart; a floating-point remainder counts as touching. One tolerance for
49
52
  * every contact the gate measures, so no two checks disagree on whether a face touches.
@@ -1 +1 @@
1
- {"version":3,"file":"words.d.ts","sourceRoot":"","sources":["../src/words.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,IAAI,0BAA2B,CAAA;AAC5C,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;AAExC,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,+DAAgE,CAAA;AAChG,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC,CAEjF,CAAA;AAEF,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,gFAAiF,CAAA;AAC9G,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,YAAY,MAAM,CAAA;AAE/B;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,0BAA2B,CAAA;AACrD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,2CAA2C;AAC3C,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAyB,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,IAAI,MAAM,CAAA;AAEvB,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,MAAM;IACjB,2GAA2G;;IAE3G,qEAAqE;;IAErE,0EAA0E;;IAE1E;;;;OAIG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH,mDAAmD;;IAEnD,mGAAmG;;IAEnG,iDAAiD;;CAEzC,CAAA;AAEV;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA4B,CAAA;AAEzE,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4D,CAAA;AAE1H;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAAkC,CAAA;AAC3D,eAAO,MAAM,WAAW;;;CAA+B,CAAA;AAEvD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAmB,GAAG,MAAM,CAEhE;AAID,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAA"}
1
+ {"version":3,"file":"words.d.ts","sourceRoot":"","sources":["../src/words.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,IAAI,0BAA2B,CAAA;AAC5C,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;AAExC,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,+DAAgE,CAAA;AAChG,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC,CAEjF,CAAA;AAEF,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,gFAAiF,CAAA;AAC9G,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,YAAY,MAAM,CAAA;AAE/B;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,gCAAiC,CAAA;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,2CAA2C;AAC3C,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAiC,CAAA;AAEpF,mDAAmD;AACnD,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAAoE,CAAA;AAE5H;;;GAGG;AACH,eAAO,MAAM,IAAI,MAAM,CAAA;AAEvB,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,MAAM;IACjB,2GAA2G;;IAE3G,qEAAqE;;IAErE,0EAA0E;;IAE1E;;;;OAIG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH,mDAAmD;;IAEnD,mGAAmG;;IAEnG,iDAAiD;;CAEzC,CAAA;AAEV;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA4B,CAAA;AAEzE,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4D,CAAA;AAE1H;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAAkC,CAAA;AAC3D,eAAO,MAAM,WAAW;;;CAA+B,CAAA;AAEvD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAmB,GAAG,MAAM,CAEhE;AAID,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAA"}
package/dist/words.js CHANGED
@@ -39,12 +39,15 @@ export const REPEAT_LIMIT = 100;
39
39
  * S simple a sign, a post
40
40
  * M ordinary most equipment
41
41
  * L detailed the large equipment a scene is about
42
+ * XL fine a mechanism of many links -- a robot with legs, a humanoid, an arm on a vehicle
42
43
  *
43
44
  * The level sets the part limit, and the maturity check reads whether the figure was made to it.
44
45
  */
45
- export const DETAIL_LEVELS = ['S', 'M', 'L'];
46
+ export const DETAIL_LEVELS = ['S', 'M', 'L', 'XL'];
46
47
  /** The part limit of each detail level. */
47
- export const PART_LIMIT = { S: 3, M: 8, L: 20 };
48
+ export const PART_LIMIT = { S: 3, M: 8, L: 20, XL: 60 };
49
+ /** Whether a value is one of the detail levels. */
50
+ export const isDetailLevel = (value) => DETAIL_LEVELS.includes(value);
48
51
  /**
49
52
  * Faces set against each other are exactly 0 apart; a floating-point remainder counts as touching. One tolerance for
50
53
  * every contact the gate measures, so no two checks disagree on whether a face touches.
package/dist/words.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"words.js","sourceRoot":"","sources":["../src/words.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAA;AAS5C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,CAAU,CAAA;AAGhG;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA0D,MAAM,CAAC,MAAM,CAAC;IACnG,YAAY,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;CACvC,CAAC,CAAA;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAG9G;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;AAE/B;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAA;AAGrD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAgC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AAE5E;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAA;AAIvB;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,2GAA2G;IAC3G,iBAAiB,EAAE,CAAC;IACpB,qEAAqE;IACrE,cAAc,EAAE,IAAI;IACpB,0EAA0E;IAC1E,iBAAiB,EAAE,OAAO;IAC1B;;;;OAIG;IACH,eAAe,EAAE,GAAG;IACpB;;;OAGG;IACH,gBAAgB,EAAE,EAAE;IACpB;;;;OAIG;IACH,oBAAoB,EAAE,MAAM;IAC5B,mDAAmD;IACnD,oBAAoB,EAAE,CAAC;IACvB,mGAAmG;IACnG,eAAe,EAAE,CAAC;IAClB,iDAAiD;IACjD,WAAW,EAAE,CAAC;CACN,CAAA;AAEV;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AAEzE,iEAAiE;AACjE,MAAM,CAAC,MAAM,kBAAkB,GAAmC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;AAE1H;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,+BAA+B,CAAA;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAW,CAAA;AAEvD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;IACtD,OAAO,UAAU,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAA;AACnD,CAAC;AAED,MAAM,gBAAgB,GAAG,sBAAsB,CAAA;AAE/C,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"words.js","sourceRoot":"","sources":["../src/words.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAA;AAS5C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,CAAU,CAAA;AAGhG;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA0D,MAAM,CAAC,MAAM,CAAC;IACnG,YAAY,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;CACvC,CAAC,CAAA;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAG9G;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;AAE/B;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAU,CAAA;AAG3D,2CAA2C;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAgC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;AAEpF,mDAAmD;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAE,aAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAE5H;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAA;AAIvB;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,2GAA2G;IAC3G,iBAAiB,EAAE,CAAC;IACpB,qEAAqE;IACrE,cAAc,EAAE,IAAI;IACpB,0EAA0E;IAC1E,iBAAiB,EAAE,OAAO;IAC1B;;;;OAIG;IACH,eAAe,EAAE,GAAG;IACpB;;;OAGG;IACH,gBAAgB,EAAE,EAAE;IACpB;;;;OAIG;IACH,oBAAoB,EAAE,MAAM;IAC5B,mDAAmD;IACnD,oBAAoB,EAAE,CAAC;IACvB,mGAAmG;IACnG,eAAe,EAAE,CAAC;IAClB,iDAAiD;IACjD,WAAW,EAAE,CAAC;CACN,CAAA;AAEV;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AAEzE,iEAAiE;AACjE,MAAM,CAAC,MAAM,kBAAkB,GAAmC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;AAE1H;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,+BAA+B,CAAA;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAW,CAAA;AAEvD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;IACtD,OAAO,UAAU,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAA;AACnD,CAAC;AAED,MAAM,gBAAgB,GAAG,sBAAsB,CAAA;AAE/C,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hatiolab/figure-model",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "description": "The figure format (figure-asset-1): a kernel that evaluates a figure from its declared relations, the authoring commands a modeller and an AI share, the release gate and the score.",
5
5
  "keywords": [
6
6
  "figure",