@willcgage/module-schematic 0.37.0 → 0.39.0
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.cjs +11 -17
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -22
- package/dist/index.d.ts +14 -22
- package/dist/index.js +12 -16
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -263,17 +263,17 @@ interface ModuleSchematicDoc {
|
|
|
263
263
|
* Absent = the module keeps using its own `outline` exactly as before; this
|
|
264
264
|
* is purely additive and nothing migrates on read. */
|
|
265
265
|
sections?: SchematicSection[];
|
|
266
|
-
/** Which compass axis the module actually runs along. The dispatcher panel
|
|
267
|
-
* always draws LEFT→RIGHT — that's what makes a layout of modules read as one
|
|
268
|
-
* strip — but a module built north/south should still be labelled N and S.
|
|
269
|
-
* Absent = east/west. */
|
|
270
|
-
orientation?: ModuleOrientation;
|
|
271
266
|
/** @deprecated pre-grouping flat signals; read for back-compat. */
|
|
272
267
|
signals?: SchematicSignal[];
|
|
273
268
|
/** Authored mainline centre-line (module-local inches, open path with arcs).
|
|
274
269
|
* Present = the owner drew the real shape; absent = derive from geometry.
|
|
275
270
|
* Physical view only — the operations view stays derived (#2d-track). */
|
|
276
271
|
mainPath?: BenchworkPoint[] | null;
|
|
272
|
+
/** Authored centre-line for MAIN 2 on a double-track module (module-local
|
|
273
|
+
* inches, open path with arcs). Present = the owner bent Main 2 to its real
|
|
274
|
+
* shape; absent = derive it as a lane offset from Main 1. Physical view only
|
|
275
|
+
* (#131). */
|
|
276
|
+
main2Path?: BenchworkPoint[] | null;
|
|
277
277
|
}
|
|
278
278
|
/** A benchwork-outline vertex, module-local inches. The edge from this vertex
|
|
279
279
|
* to the NEXT one is a straight line, unless `bulge` is set — then it's a
|
|
@@ -284,20 +284,12 @@ interface BenchworkPoint {
|
|
|
284
284
|
y: number;
|
|
285
285
|
bulge?: number;
|
|
286
286
|
}
|
|
287
|
-
/**
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
a: string;
|
|
294
|
-
b: string;
|
|
295
|
-
};
|
|
296
|
-
/** …spelled out, for a caption like "derived, South → North". */
|
|
297
|
-
declare function endLabelsLong(o: ModuleOrientation | null | undefined): {
|
|
298
|
-
a: string;
|
|
299
|
-
b: string;
|
|
300
|
-
};
|
|
287
|
+
/** NB: a module has NO compass direction of its own, deliberately. It has ends
|
|
288
|
+
* A and B. Direction is a property of the LAYOUT — the same board can be
|
|
289
|
+
* installed running either way round, or on either axis, so a compass label
|
|
290
|
+
* stored here could only ever contradict the layout that placed it. Railroads
|
|
291
|
+
* do the same thing with timetable direction: the railroad declares which way
|
|
292
|
+
* is "east", not any one piece of track. Free-Dispatcher owns direction. */
|
|
301
293
|
/** One bench-work section of a module (#96 phase 2). */
|
|
302
294
|
interface SectionFootprint {
|
|
303
295
|
id: string;
|
|
@@ -790,14 +782,14 @@ interface EditorState {
|
|
|
790
782
|
/** The module's sections as named objects, each optionally carrying its own
|
|
791
783
|
* outline (#96 phase 2). Empty = fall back to `outline` + `sectionBreaks`. */
|
|
792
784
|
sections: SchematicSection[];
|
|
793
|
-
/** Compass axis the module runs along; the panel still draws left→right. */
|
|
794
|
-
orientation: ModuleOrientation;
|
|
795
785
|
controlPoints: EditorControlPoint[];
|
|
796
786
|
/** Rail-served industries — car-spot spans on a track (#industries). */
|
|
797
787
|
industries: EditorIndustry[];
|
|
798
788
|
/** Authored mainline centre-line (module-local inches) — empty = derive from
|
|
799
789
|
* geometry. The owner-drawn real shape (#2d-track, physical view only). */
|
|
800
790
|
mainPath: BenchworkPoint[];
|
|
791
|
+
/** Authored Main 2 centre-line (double-track only) — empty = lane offset (#131). */
|
|
792
|
+
main2Path: BenchworkPoint[];
|
|
801
793
|
}
|
|
802
794
|
/** Build the empty editor state for a module of the given length. */
|
|
803
795
|
declare function emptyEditorState(lengthInches: number): EditorState;
|
|
@@ -1083,4 +1075,4 @@ declare function poseOverridesFromDoc(doc: ModuleSchematicDoc): Record<string, {
|
|
|
1083
1075
|
heading: number;
|
|
1084
1076
|
}>;
|
|
1085
1077
|
|
|
1086
|
-
export { type BenchworkPoint, type BranchConnector, type DrawCrossing, type DrawCrossover, type DrawIndustry, type DrawSignal, type DrawTrack, type DrawTurnout, type EditorBranch, type EditorControlPoint, type EditorCpSignal, type EditorCrossing, type EditorIndustry, type EditorState, type EditorTrack, type EditorTurnout, type EndplateBConfig, type EndplatePose, type EndplateWidthIssue, FREEMO_ENDPLATE_TRACK_FASCIA_CLEARANCE_INCHES, FREEMO_ENDPLATE_WIDTH_MIN_INCHES, FREEMO_ENDPLATE_WIDTH_RECOMMENDED_INCHES, FREEMO_TRACK_SPACING_INCHES, type GeometryType, type IndustryLabelMode, type IndustrySpot, MAIN2_TRACK_ID, MAIN_TRACK_ID, type ModuleFeatures, type ModuleFootprint, type ModuleFootprintInput, type ModuleGeometryInput, type
|
|
1078
|
+
export { type BenchworkPoint, type BranchConnector, type DrawCrossing, type DrawCrossover, type DrawIndustry, type DrawSignal, type DrawTrack, type DrawTurnout, type EditorBranch, type EditorControlPoint, type EditorCpSignal, type EditorCrossing, type EditorIndustry, type EditorState, type EditorTrack, type EditorTurnout, type EndplateBConfig, type EndplatePose, type EndplateWidthIssue, FREEMO_ENDPLATE_TRACK_FASCIA_CLEARANCE_INCHES, FREEMO_ENDPLATE_WIDTH_MIN_INCHES, FREEMO_ENDPLATE_WIDTH_RECOMMENDED_INCHES, FREEMO_TRACK_SPACING_INCHES, type GeometryType, type IndustryLabelMode, type IndustrySpot, MAIN2_TRACK_ID, MAIN_TRACK_ID, type ModuleFeatures, type ModuleFootprint, type ModuleFootprintInput, type ModuleGeometryInput, type ModuleSchematicDoc, type ModuleTrackRow, N_CAR_LENGTH_INCHES, N_SCALE_RATIO, type OutlineFace, type SchematicBlock, type SchematicControlPoint, type SchematicCrossing, type SchematicEndplate, type SchematicEndplateTrack, type SchematicIndustry, type SchematicSection, type SchematicSignal, type SchematicTrack, type SchematicTurnout, type SectionAdjacency, type SectionFootprint, type SectionRelativePos, type SignalFacing, type SignalSide, type TrackConfig, type TrackRole, type TurnoutKind, WHOLE_MODULE_SECTION_ID, asModuleSchematic, benchworkBand, benchworkOutline, buildCrossover, buildPassingSiding, buildTransition, carCapacity, checkEndplateWidth, deriveEndplatePoses, divergeSideForHand, docToState, emptyEditorState, endplateFaceSegments, endplateTrackOffsetFor, endplateTrackOffsetInches, endplateWidthInches, fromSectionRelative, geometryTurnDegrees, inchesToScaleFeet, isLoopDoc, isTransitionTurnout, moduleCenterline, moduleFeatures, moduleFootprint, moduleLengthFromSections, moduleSections, nextId, poseNeedsManual, poseOverridesFromDoc, remapPos, sampleBenchworkOutline, samplePath, scaleFeetToInches, sectionAdjacency, sectionBand, sectionBreaksFromSections, sectionComponents, sectionFootprints, sectionNeighbours, sectionSpans, sectionSpansOrWhole, sectionedCenterline, sectionedEndPose, sliceCenterline, stateToDoc, toSectionRelative, trackPath };
|
package/dist/index.d.ts
CHANGED
|
@@ -263,17 +263,17 @@ interface ModuleSchematicDoc {
|
|
|
263
263
|
* Absent = the module keeps using its own `outline` exactly as before; this
|
|
264
264
|
* is purely additive and nothing migrates on read. */
|
|
265
265
|
sections?: SchematicSection[];
|
|
266
|
-
/** Which compass axis the module actually runs along. The dispatcher panel
|
|
267
|
-
* always draws LEFT→RIGHT — that's what makes a layout of modules read as one
|
|
268
|
-
* strip — but a module built north/south should still be labelled N and S.
|
|
269
|
-
* Absent = east/west. */
|
|
270
|
-
orientation?: ModuleOrientation;
|
|
271
266
|
/** @deprecated pre-grouping flat signals; read for back-compat. */
|
|
272
267
|
signals?: SchematicSignal[];
|
|
273
268
|
/** Authored mainline centre-line (module-local inches, open path with arcs).
|
|
274
269
|
* Present = the owner drew the real shape; absent = derive from geometry.
|
|
275
270
|
* Physical view only — the operations view stays derived (#2d-track). */
|
|
276
271
|
mainPath?: BenchworkPoint[] | null;
|
|
272
|
+
/** Authored centre-line for MAIN 2 on a double-track module (module-local
|
|
273
|
+
* inches, open path with arcs). Present = the owner bent Main 2 to its real
|
|
274
|
+
* shape; absent = derive it as a lane offset from Main 1. Physical view only
|
|
275
|
+
* (#131). */
|
|
276
|
+
main2Path?: BenchworkPoint[] | null;
|
|
277
277
|
}
|
|
278
278
|
/** A benchwork-outline vertex, module-local inches. The edge from this vertex
|
|
279
279
|
* to the NEXT one is a straight line, unless `bulge` is set — then it's a
|
|
@@ -284,20 +284,12 @@ interface BenchworkPoint {
|
|
|
284
284
|
y: number;
|
|
285
285
|
bulge?: number;
|
|
286
286
|
}
|
|
287
|
-
/**
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
a: string;
|
|
294
|
-
b: string;
|
|
295
|
-
};
|
|
296
|
-
/** …spelled out, for a caption like "derived, South → North". */
|
|
297
|
-
declare function endLabelsLong(o: ModuleOrientation | null | undefined): {
|
|
298
|
-
a: string;
|
|
299
|
-
b: string;
|
|
300
|
-
};
|
|
287
|
+
/** NB: a module has NO compass direction of its own, deliberately. It has ends
|
|
288
|
+
* A and B. Direction is a property of the LAYOUT — the same board can be
|
|
289
|
+
* installed running either way round, or on either axis, so a compass label
|
|
290
|
+
* stored here could only ever contradict the layout that placed it. Railroads
|
|
291
|
+
* do the same thing with timetable direction: the railroad declares which way
|
|
292
|
+
* is "east", not any one piece of track. Free-Dispatcher owns direction. */
|
|
301
293
|
/** One bench-work section of a module (#96 phase 2). */
|
|
302
294
|
interface SectionFootprint {
|
|
303
295
|
id: string;
|
|
@@ -790,14 +782,14 @@ interface EditorState {
|
|
|
790
782
|
/** The module's sections as named objects, each optionally carrying its own
|
|
791
783
|
* outline (#96 phase 2). Empty = fall back to `outline` + `sectionBreaks`. */
|
|
792
784
|
sections: SchematicSection[];
|
|
793
|
-
/** Compass axis the module runs along; the panel still draws left→right. */
|
|
794
|
-
orientation: ModuleOrientation;
|
|
795
785
|
controlPoints: EditorControlPoint[];
|
|
796
786
|
/** Rail-served industries — car-spot spans on a track (#industries). */
|
|
797
787
|
industries: EditorIndustry[];
|
|
798
788
|
/** Authored mainline centre-line (module-local inches) — empty = derive from
|
|
799
789
|
* geometry. The owner-drawn real shape (#2d-track, physical view only). */
|
|
800
790
|
mainPath: BenchworkPoint[];
|
|
791
|
+
/** Authored Main 2 centre-line (double-track only) — empty = lane offset (#131). */
|
|
792
|
+
main2Path: BenchworkPoint[];
|
|
801
793
|
}
|
|
802
794
|
/** Build the empty editor state for a module of the given length. */
|
|
803
795
|
declare function emptyEditorState(lengthInches: number): EditorState;
|
|
@@ -1083,4 +1075,4 @@ declare function poseOverridesFromDoc(doc: ModuleSchematicDoc): Record<string, {
|
|
|
1083
1075
|
heading: number;
|
|
1084
1076
|
}>;
|
|
1085
1077
|
|
|
1086
|
-
export { type BenchworkPoint, type BranchConnector, type DrawCrossing, type DrawCrossover, type DrawIndustry, type DrawSignal, type DrawTrack, type DrawTurnout, type EditorBranch, type EditorControlPoint, type EditorCpSignal, type EditorCrossing, type EditorIndustry, type EditorState, type EditorTrack, type EditorTurnout, type EndplateBConfig, type EndplatePose, type EndplateWidthIssue, FREEMO_ENDPLATE_TRACK_FASCIA_CLEARANCE_INCHES, FREEMO_ENDPLATE_WIDTH_MIN_INCHES, FREEMO_ENDPLATE_WIDTH_RECOMMENDED_INCHES, FREEMO_TRACK_SPACING_INCHES, type GeometryType, type IndustryLabelMode, type IndustrySpot, MAIN2_TRACK_ID, MAIN_TRACK_ID, type ModuleFeatures, type ModuleFootprint, type ModuleFootprintInput, type ModuleGeometryInput, type
|
|
1078
|
+
export { type BenchworkPoint, type BranchConnector, type DrawCrossing, type DrawCrossover, type DrawIndustry, type DrawSignal, type DrawTrack, type DrawTurnout, type EditorBranch, type EditorControlPoint, type EditorCpSignal, type EditorCrossing, type EditorIndustry, type EditorState, type EditorTrack, type EditorTurnout, type EndplateBConfig, type EndplatePose, type EndplateWidthIssue, FREEMO_ENDPLATE_TRACK_FASCIA_CLEARANCE_INCHES, FREEMO_ENDPLATE_WIDTH_MIN_INCHES, FREEMO_ENDPLATE_WIDTH_RECOMMENDED_INCHES, FREEMO_TRACK_SPACING_INCHES, type GeometryType, type IndustryLabelMode, type IndustrySpot, MAIN2_TRACK_ID, MAIN_TRACK_ID, type ModuleFeatures, type ModuleFootprint, type ModuleFootprintInput, type ModuleGeometryInput, type ModuleSchematicDoc, type ModuleTrackRow, N_CAR_LENGTH_INCHES, N_SCALE_RATIO, type OutlineFace, type SchematicBlock, type SchematicControlPoint, type SchematicCrossing, type SchematicEndplate, type SchematicEndplateTrack, type SchematicIndustry, type SchematicSection, type SchematicSignal, type SchematicTrack, type SchematicTurnout, type SectionAdjacency, type SectionFootprint, type SectionRelativePos, type SignalFacing, type SignalSide, type TrackConfig, type TrackRole, type TurnoutKind, WHOLE_MODULE_SECTION_ID, asModuleSchematic, benchworkBand, benchworkOutline, buildCrossover, buildPassingSiding, buildTransition, carCapacity, checkEndplateWidth, deriveEndplatePoses, divergeSideForHand, docToState, emptyEditorState, endplateFaceSegments, endplateTrackOffsetFor, endplateTrackOffsetInches, endplateWidthInches, fromSectionRelative, geometryTurnDegrees, inchesToScaleFeet, isLoopDoc, isTransitionTurnout, moduleCenterline, moduleFeatures, moduleFootprint, moduleLengthFromSections, moduleSections, nextId, poseNeedsManual, poseOverridesFromDoc, remapPos, sampleBenchworkOutline, samplePath, scaleFeetToInches, sectionAdjacency, sectionBand, sectionBreaksFromSections, sectionComponents, sectionFootprints, sectionNeighbours, sectionSpans, sectionSpansOrWhole, sectionedCenterline, sectionedEndPose, sliceCenterline, stateToDoc, toSectionRelative, trackPath };
|
package/dist/index.js
CHANGED
|
@@ -7,12 +7,6 @@ function endplateWidthInches(ep) {
|
|
|
7
7
|
const w = ep?.widthInches;
|
|
8
8
|
return typeof w === "number" && w > 0 ? w : FREEMO_ENDPLATE_WIDTH_RECOMMENDED_INCHES;
|
|
9
9
|
}
|
|
10
|
-
function endLabels(o) {
|
|
11
|
-
return o === "north-south" ? { a: "S", b: "N" } : { a: "W", b: "E" };
|
|
12
|
-
}
|
|
13
|
-
function endLabelsLong(o) {
|
|
14
|
-
return o === "north-south" ? { a: "South", b: "North" } : { a: "West", b: "East" };
|
|
15
|
-
}
|
|
16
10
|
function benchworkOutline(doc) {
|
|
17
11
|
const pts = (doc?.outline ?? []).filter((p) => p && Number.isFinite(p.x) && Number.isFinite(p.y)).map((p) => ({
|
|
18
12
|
x: p.x,
|
|
@@ -563,10 +557,10 @@ function emptyEditorState(lengthInches) {
|
|
|
563
557
|
outline: [],
|
|
564
558
|
sectionBreaks: [],
|
|
565
559
|
sections: [],
|
|
566
|
-
orientation: "east-west",
|
|
567
560
|
controlPoints: [],
|
|
568
561
|
industries: [],
|
|
569
|
-
mainPath: []
|
|
562
|
+
mainPath: [],
|
|
563
|
+
main2Path: []
|
|
570
564
|
};
|
|
571
565
|
}
|
|
572
566
|
function isTransitionTurnout(t) {
|
|
@@ -592,15 +586,17 @@ function main2Track(state) {
|
|
|
592
586
|
const bothDouble = state.configA === "double" && state.configB === "double";
|
|
593
587
|
const sws = state.turnouts.filter((t) => isTransitionTurnout(t) && t.divergeTrack === MAIN2_TRACK_ID).sort((a, b) => a.pos - b.pos);
|
|
594
588
|
const lane = state.mainsSwapped ? 0 : 1;
|
|
589
|
+
const authored = state.main2Path.length >= 2 ? { path: state.main2Path } : {};
|
|
595
590
|
if (bothDouble || !sws.length) {
|
|
596
|
-
return { id: MAIN2_TRACK_ID, role: "main", lane, from: "A", to: "B" };
|
|
591
|
+
return { id: MAIN2_TRACK_ID, role: "main", lane, from: "A", to: "B", ...authored };
|
|
597
592
|
}
|
|
598
593
|
const track = (fromPos, toPos) => ({
|
|
599
594
|
id: MAIN2_TRACK_ID,
|
|
600
595
|
role: "main",
|
|
601
596
|
lane,
|
|
602
597
|
fromPos,
|
|
603
|
-
toPos
|
|
598
|
+
toPos,
|
|
599
|
+
...authored
|
|
604
600
|
});
|
|
605
601
|
if (state.configA === "double") return track(0, sws[0].pos);
|
|
606
602
|
if (state.configB === "double") return track(sws[0].pos, state.lengthInches);
|
|
@@ -800,11 +796,9 @@ function stateToDoc(state, recordNumber) {
|
|
|
800
796
|
// Sections as objects — emitted only once the owner has some, so a module
|
|
801
797
|
// that never used them keeps exactly the doc it had before (#96 phase 2).
|
|
802
798
|
...state.sections.length ? { sections: moduleSections({ sections: state.sections }) } : {},
|
|
803
|
-
// Emitted only when it isn't the east/west default, so existing docs are
|
|
804
|
-
// byte-identical.
|
|
805
|
-
...state.orientation === "north-south" ? { orientation: state.orientation } : {},
|
|
806
799
|
// Authored mainline path (module-local inches); only when it's a real path.
|
|
807
|
-
...state.mainPath.length >= 2 ? { mainPath: state.mainPath } : {}
|
|
800
|
+
...state.mainPath.length >= 2 ? { mainPath: state.mainPath } : {},
|
|
801
|
+
...state.main2Path.length >= 2 ? { main2Path: state.main2Path } : {}
|
|
808
802
|
};
|
|
809
803
|
}
|
|
810
804
|
function docToState(doc, fallbackLength, moduleTracks = []) {
|
|
@@ -889,6 +883,8 @@ function docToState(doc, fallbackLength, moduleTracks = []) {
|
|
|
889
883
|
...Number.isFinite(p.bulge) && p.bulge ? { bulge: p.bulge } : {}
|
|
890
884
|
}));
|
|
891
885
|
const mainPath = trackPath(d.mainPath) ?? [];
|
|
886
|
+
const main2Track_ = (d.tracks ?? []).find((t) => t.id === MAIN2_TRACK_ID);
|
|
887
|
+
const main2Path = trackPath(d.main2Path ?? main2Track_?.path) ?? [];
|
|
892
888
|
return {
|
|
893
889
|
lengthInches: len,
|
|
894
890
|
loop,
|
|
@@ -909,8 +905,8 @@ function docToState(doc, fallbackLength, moduleTracks = []) {
|
|
|
909
905
|
outline,
|
|
910
906
|
sectionBreaks: (d.sectionBreaks ?? []).filter((n) => Number.isFinite(n)).map((n) => sc(n)),
|
|
911
907
|
sections: moduleSections(d),
|
|
912
|
-
orientation: d.orientation === "north-south" ? "north-south" : "east-west",
|
|
913
908
|
mainPath,
|
|
909
|
+
main2Path,
|
|
914
910
|
crossings: (d.crossings ?? []).map((x) => ({
|
|
915
911
|
id: x.id,
|
|
916
912
|
name: x.name ?? "",
|
|
@@ -1424,6 +1420,6 @@ function poseOverridesFromDoc(doc) {
|
|
|
1424
1420
|
return out;
|
|
1425
1421
|
}
|
|
1426
1422
|
|
|
1427
|
-
export { FREEMO_ENDPLATE_TRACK_FASCIA_CLEARANCE_INCHES, FREEMO_ENDPLATE_WIDTH_MIN_INCHES, FREEMO_ENDPLATE_WIDTH_RECOMMENDED_INCHES, FREEMO_TRACK_SPACING_INCHES, MAIN2_TRACK_ID, MAIN_TRACK_ID, N_CAR_LENGTH_INCHES, N_SCALE_RATIO, WHOLE_MODULE_SECTION_ID, asModuleSchematic, benchworkBand, benchworkOutline, buildCrossover, buildPassingSiding, buildTransition, carCapacity, checkEndplateWidth, deriveEndplatePoses, divergeSideForHand, docToState, emptyEditorState,
|
|
1423
|
+
export { FREEMO_ENDPLATE_TRACK_FASCIA_CLEARANCE_INCHES, FREEMO_ENDPLATE_WIDTH_MIN_INCHES, FREEMO_ENDPLATE_WIDTH_RECOMMENDED_INCHES, FREEMO_TRACK_SPACING_INCHES, MAIN2_TRACK_ID, MAIN_TRACK_ID, N_CAR_LENGTH_INCHES, N_SCALE_RATIO, WHOLE_MODULE_SECTION_ID, asModuleSchematic, benchworkBand, benchworkOutline, buildCrossover, buildPassingSiding, buildTransition, carCapacity, checkEndplateWidth, deriveEndplatePoses, divergeSideForHand, docToState, emptyEditorState, endplateFaceSegments, endplateTrackOffsetFor, endplateTrackOffsetInches, endplateWidthInches, fromSectionRelative, geometryTurnDegrees, inchesToScaleFeet, isLoopDoc, isTransitionTurnout, moduleCenterline, moduleFeatures, moduleFootprint, moduleLengthFromSections, moduleSections, nextId, poseNeedsManual, poseOverridesFromDoc, remapPos, sampleBenchworkOutline, samplePath, scaleFeetToInches, sectionAdjacency, sectionBand, sectionBreaksFromSections, sectionComponents, sectionFootprints, sectionNeighbours, sectionSpans, sectionSpansOrWhole, sectionedCenterline, sectionedEndPose, sliceCenterline, stateToDoc, toSectionRelative, trackPath };
|
|
1428
1424
|
//# sourceMappingURL=index.js.map
|
|
1429
1425
|
//# sourceMappingURL=index.js.map
|