@willcgage/module-schematic 0.20.0 → 0.21.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 +28 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +16 -3
- package/dist/index.d.ts +16 -3
- package/dist/index.js +28 -15
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -399,6 +399,7 @@ function stateToDoc(state, recordNumber) {
|
|
|
399
399
|
track: ind.track,
|
|
400
400
|
fromPos: ind.fromPos,
|
|
401
401
|
toPos: ind.toPos,
|
|
402
|
+
...ind.spots?.length ? { spots: ind.spots } : {},
|
|
402
403
|
side: ind.side,
|
|
403
404
|
...ind.labelMode && ind.labelMode !== "none" ? { labelMode: ind.labelMode } : {},
|
|
404
405
|
...ind.carTypes.length ? { carTypes: ind.carTypes } : {},
|
|
@@ -533,6 +534,12 @@ function docToState(doc, fallbackLength, moduleTracks = []) {
|
|
|
533
534
|
track: ind.track,
|
|
534
535
|
fromPos: sc(ind.fromPos ?? 0),
|
|
535
536
|
toPos: ind.toPos != null ? sc(ind.toPos) : len,
|
|
537
|
+
spots: (ind.spots ?? []).map((s) => ({
|
|
538
|
+
track: s.track,
|
|
539
|
+
fromPos: sc(s.fromPos ?? 0),
|
|
540
|
+
toPos: s.toPos != null ? sc(s.toPos) : len,
|
|
541
|
+
...s.side ? { side: s.side } : {}
|
|
542
|
+
})),
|
|
536
543
|
side: ind.side ?? "above",
|
|
537
544
|
labelMode: ind.labelMode ?? "none",
|
|
538
545
|
carTypes: Array.isArray(ind.carTypes) ? ind.carTypes : [],
|
|
@@ -836,21 +843,27 @@ function moduleFeatures(doc) {
|
|
|
836
843
|
posFrac: clampFrac(e.at.pos),
|
|
837
844
|
side: e.at.side === "down" ? "down" : "up"
|
|
838
845
|
}));
|
|
839
|
-
const industries = (doc.industries ?? []).
|
|
840
|
-
const
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
846
|
+
const industries = (doc.industries ?? []).flatMap((ind) => {
|
|
847
|
+
const spots = [
|
|
848
|
+
{ track: ind.track, fromPos: ind.fromPos, toPos: ind.toPos, side: ind.side },
|
|
849
|
+
...ind.spots ?? []
|
|
850
|
+
];
|
|
851
|
+
return spots.map((sp, i) => {
|
|
852
|
+
const from = sp.fromPos ?? 0;
|
|
853
|
+
const to = sp.toPos ?? len;
|
|
854
|
+
return {
|
|
855
|
+
id: i === 0 ? ind.id : `${ind.id}-s${i}`,
|
|
856
|
+
name: ind.name ?? "",
|
|
857
|
+
type: ind.type ?? null,
|
|
858
|
+
fromFrac: clampFrac(Math.min(from, to)),
|
|
859
|
+
toFrac: clampFrac(Math.max(from, to)),
|
|
860
|
+
lane: trackLane.get(sp.track) ?? 0,
|
|
861
|
+
side: sp.side ?? "above",
|
|
862
|
+
labelMode: ind.labelMode ?? "none",
|
|
863
|
+
cars: carCapacity(from, to),
|
|
864
|
+
carTypes: Array.isArray(ind.carTypes) ? ind.carTypes : []
|
|
865
|
+
};
|
|
866
|
+
});
|
|
854
867
|
});
|
|
855
868
|
const allLanes = [
|
|
856
869
|
0,
|