Eight play reports and one design that had been written up and not built. The
through-line is switching: what a card can hold, which end of a train a cut comes
off, which way a train meets cars standing on the line, and what the board and the
log say about all of it.
TRACK ORDER FOR STANDING CARS, AND THE CUT ON YOUR OWN CARD
Two reports turned out to be one root cause. `TrackCard.standing` claimed "in track
order (§A.3)" and had no defined orientation at all, while `CrewTray.consist` does
(nose first, relative to facing) — so every transfer between them was a conversion
nothing performed. §A.3 says what it should be: cars occupy the track "in the same
order they originally held, left-to-right". Left-to-right is west-to-east, and that
is now the defined orientation of `standing` and of an industry track through
`carsOn`. It is the board's orientation, not the train's, so it does not change when
a different train touches the card.
- Setting out is batch-invariant. Four cars at once, four singles and two pairs
parked three different orders, one of them physically impossible. Successive
cuts off the same end stack up towards the engine, so the insertion point is the
train's own place in the row.
- Approaching a cut from either end now mirrors. `couples` is built nearest-first
along the direction of travel and reverses onto the nose, so the farthest car met
ends up nose-most — which is what makes a run-around worth its Move.
- A train no longer drives through its own cut. The walk began at the neighbour of
the start square and never read the start card, so a crew could set cars out and
pull straight away from them. Coupling is mandatory (§A.4) and your own square is
no exception; the cut counts against the four-car limit. Setting out off the end
you are not leaving by still works.
`CrewTray.standingWest` records where a train stands among the cars on its card — a
train may set out off both ends on one square, so which side a cut is on is not
recoverable from the array alone.
On the board, the cut is drawn split at the train — west cars left, east cars right,
engine in the gap — and each car's tooltip says whether it stands ahead of or behind
the engine. The history says which end a cut came off, and a move's button separates
"takes your own boxcar back off this card" from cars found standing on the line.
Decided: taking your own cut back on the square you are standing on is UNDOING the
drop. It is exempt from trains 3/4's per-location freight budget, X13's "drop but not
pick up" and X22's "empties only", and it refunds the budget the drop spent.
Otherwise a legal-looking drop becomes silently one-way.
Measured, 200 paired seeds, developer bot: -0.55 revenue (t = -3.63), freight revenue
1.11 -> 0.56. That cost is the bot's, not the rule's — its trains run engine-first,
so at a stub industry it sets a car out between itself and the only way out, and the
correct play is §A.5's facing-point move, which is the cross-turn planning TODO.md
already records as out of reach of any bot. Filtering self-recoupling moves out of its
options took recoupling from 625 of 1,029 set-outs to 101 of 677, and all 101 that
remain are that case. Read the number as a bot measurement, not a balance one.
THE SUPERINTENDENT'S RULING NAMES THE TRAINS IT IS ABOUT
Reported: the Superintendent could not tell which train he was clearing. The heading
asks the question now — "may Train 6 follow Train 4 onto the same Mainline card?" —
and the trains moved to the FRONT of each button, because the button splits its label
at the first em-dash and showed only the head.
AN INDUSTRY TRACK HOLDS FOUR CARS, LIKE EVERY OTHER CARD
Reported at undo 188: "we wanted to drop two cars, but were only allowed to drop one."
An industry track was built as long as its box count, so a one-box industry had room
for one car. Box count is how much WORK an industry can hold, not how much RAIL it
has. Ordinary track was the other exception, unbounded; both are gone and every card
holds four.
THE FREIGHT AGENT MAY STAGE A LOAD BEFORE THE CAR IS THERE
§6.3 asks nothing of the industry track — the empty car belongs to §9.3's Load the
car, which is the Laborer's action. The gate now lives only there, so cargo can wait
on the dock while the car to ship it in is still being switched in. Nothing can jam:
a load in a green box is waiting, not stuck.
THE TRUCK DOCK UNLOADS, AND BRINGS NOBODY
+1 inbound, no Laborer. It printed +1 outbound and +1 Laborer, which made it a
longer-host-list copy of Forklifts. Beside Packing Sheds it now does nothing at all,
and the hand tooltip says so before it is played.
Also in this release, from the days before: Mainline card tooltips computed from the
crossing rule; an Extra starts from the Division Point its number sends it to; a
modifier's suppressed grant comes back when a Whistle Post is upgraded; the Oil
Refinery and the Grocer's Warehouse ship as well as receive, per the card reference;
and the dormant defences name the attack they answer. `.claude/` is now gitignored —
it holds Claude Code's worktrees, i.e. a second checkout of this repository.
570 tests, typecheck clean. The three published replays were re-recorded twice —
legality changed, so bot play changed. Full detail in CHANGELOG.md.
2758 lines
37 KiB
JSON
2758 lines
37 KiB
JSON
{
|
|
"seed": 404869,
|
|
"title": "16 Revenue · seed 404869",
|
|
"note": "16 Revenue over 5 Days · 1 train(s) on the timetable · 9 cards down · no collisions · played by developer",
|
|
"rules": {
|
|
"startingHand": "threeRandom",
|
|
"revenue": {
|
|
"passengerPerCoach": 1,
|
|
"freightPerLoad": 1,
|
|
"trainPerTransit": 0
|
|
}
|
|
},
|
|
"history": [
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromDepartment",
|
|
"slot": 2
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c22"
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c6"
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": 0,
|
|
"col": 0
|
|
},
|
|
"carType": "coach"
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromDepartment",
|
|
"slot": 0
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c14"
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "newTrain.startExtra",
|
|
"trainNumber": 15,
|
|
"atSeat": null
|
|
},
|
|
{
|
|
"type": "newTrain.placeCar",
|
|
"trayId": "tray3",
|
|
"carType": "boxcar",
|
|
"loaded": true
|
|
},
|
|
{
|
|
"type": "newTrain.placeCar",
|
|
"trayId": "tray3",
|
|
"carType": "boxcar",
|
|
"loaded": true
|
|
},
|
|
{
|
|
"type": "newTrain.placeCar",
|
|
"trayId": "tray3",
|
|
"carType": "caboose",
|
|
"loaded": true
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromDepartment",
|
|
"slot": 2
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c15"
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "newTrain.startExtra",
|
|
"trainNumber": 16,
|
|
"atSeat": null
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromHomeOffice"
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c181",
|
|
"placement": {
|
|
"row": 0,
|
|
"col": 1
|
|
},
|
|
"variant": 0
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromHomeOffice"
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "newTrain.placeCar",
|
|
"trayId": "tray1",
|
|
"carType": "coach",
|
|
"loaded": true
|
|
},
|
|
{
|
|
"type": "newTrain.placeCar",
|
|
"trayId": "tray1",
|
|
"carType": "boxcar",
|
|
"loaded": true
|
|
},
|
|
{
|
|
"type": "mainline.clearance",
|
|
"allow": false
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromHomeOffice"
|
|
},
|
|
{
|
|
"type": "card.discard",
|
|
"cardId": "c163",
|
|
"toSlot": 0
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromHomeOffice"
|
|
},
|
|
{
|
|
"type": "card.discard",
|
|
"cardId": "c74",
|
|
"toSlot": 1
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromHomeOffice"
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c32"
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": 0,
|
|
"col": 0
|
|
},
|
|
"carType": "coach"
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromHomeOffice"
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c151",
|
|
"placement": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"variant": 1
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c53",
|
|
"placement": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"variant": 0
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c37",
|
|
"placement": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"variant": 0
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromHomeOffice"
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "porter.detrain",
|
|
"at": {
|
|
"row": 0,
|
|
"col": 0
|
|
}
|
|
},
|
|
{
|
|
"type": "porter.board",
|
|
"at": {
|
|
"row": 0,
|
|
"col": 0
|
|
}
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": 0,
|
|
"col": 0
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.end"
|
|
},
|
|
{
|
|
"type": "laborer.beginUnload",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carIndex": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.clearInbound",
|
|
"at": {
|
|
"row": 0,
|
|
"col": 0
|
|
},
|
|
"index": 0
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": 0,
|
|
"col": 0
|
|
},
|
|
"carType": "coach"
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carType": "boxcar"
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.clearInbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"index": 0
|
|
},
|
|
{
|
|
"type": "laborer.startLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
}
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carType": "boxcar"
|
|
},
|
|
{
|
|
"type": "newTrain.placeCar",
|
|
"trayId": "tray1",
|
|
"carType": "hopper",
|
|
"loaded": true
|
|
},
|
|
{
|
|
"type": "newTrain.placeCar",
|
|
"trayId": "tray1",
|
|
"carType": "coach",
|
|
"loaded": true
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromHomeOffice"
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c166",
|
|
"placement": {
|
|
"row": -1,
|
|
"col": 4
|
|
},
|
|
"variant": 1
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromHomeOffice"
|
|
},
|
|
{
|
|
"type": "card.play",
|
|
"cardId": "c202",
|
|
"placement": {
|
|
"row": 0,
|
|
"col": -1
|
|
},
|
|
"variant": 0
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "draw"
|
|
},
|
|
{
|
|
"type": "draw.fromHomeOffice"
|
|
},
|
|
{
|
|
"type": "draw.end"
|
|
},
|
|
{
|
|
"type": "porter.detrain",
|
|
"at": {
|
|
"row": 0,
|
|
"col": 0
|
|
}
|
|
},
|
|
{
|
|
"type": "porter.board",
|
|
"at": {
|
|
"row": 0,
|
|
"col": 0
|
|
}
|
|
},
|
|
{
|
|
"type": "laborer.beginUnload",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carIndex": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.clearInbound",
|
|
"at": {
|
|
"row": 0,
|
|
"col": 0
|
|
},
|
|
"index": 0
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": 0,
|
|
"col": 0
|
|
},
|
|
"carType": "coach"
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.clearInbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"index": 0
|
|
},
|
|
{
|
|
"type": "laborer.startLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
}
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carType": "boxcar"
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.beginUnload",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carIndex": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.clearInbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"index": 0
|
|
},
|
|
{
|
|
"type": "laborer.startLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
}
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carType": "boxcar"
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.beginUnload",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carIndex": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.clearInbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"index": 0
|
|
},
|
|
{
|
|
"type": "laborer.startLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
}
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carType": "boxcar"
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.beginUnload",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carIndex": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.clearInbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"index": 0
|
|
},
|
|
{
|
|
"type": "laborer.startLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
}
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carType": "boxcar"
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.dropCars",
|
|
"trayId": "tray1",
|
|
"count": 1
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.beginUnload",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carIndex": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.clearInbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"index": 0
|
|
},
|
|
{
|
|
"type": "laborer.startLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
}
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "freightAgent"
|
|
},
|
|
{
|
|
"type": "freightAgent.stockOutbound",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"carType": "boxcar"
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 0
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 1
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
},
|
|
{
|
|
"type": "localOps.choose",
|
|
"option": "switch"
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 2
|
|
},
|
|
"reverse": true
|
|
},
|
|
{
|
|
"type": "switch.move",
|
|
"trayId": "tray1",
|
|
"to": {
|
|
"row": -1,
|
|
"col": 1
|
|
},
|
|
"reverse": false
|
|
},
|
|
{
|
|
"type": "laborer.advanceLoad",
|
|
"at": {
|
|
"row": -1,
|
|
"col": 3
|
|
},
|
|
"box": 2
|
|
},
|
|
{
|
|
"type": "loadUnload.end"
|
|
}
|
|
]
|
|
} |