- Learn
- Tutorials
- Physics Labs
- Push Lab
- Appendices
- B Message Map
Appendix B — Message Map
Push Lab - Discovery Workshop is built on messages (Custom Events): one piece of the game announces something, and the pieces that care listen. This map shows every message in the game: who sends it, who it goes to, and who hears it. A message must be spelled exactly the same where it is sent and where it is heard; this is the place to check.
Two ways to send. Trigger Custom Event goes to everyone who listens (a broadcast). Trigger Custom Event on Object goes to the selected instances. The cart input adapter records the exact press; native Mouse Press starts placement without a message. Native Load broadcasts load:succeeded when restoration has completed. Open Persistent Values File broadcasts values:imported, values:failed or values:canceled when that file operation finishes.
B.1 Chains to Follow
Read each line left to right: a message, the Logic (in bold) that hears it and sends the next message, and at the end the Logic that hears the last one. These are direct sends within one component. For a Function call, open that Function in the Logic editor and follow its named sender in All messages below.
B.2 All Messages, in the Order the Build Adds Them
| Message | Sent by | Goes to | Heard by | Chapter |
|---|---|---|---|---|
| load:succeeded | the engine | everyone who listens | Place Cart on Rail (on Blue Cart, Copper Cart); Listen for Control Press (on Return Button, Push Button, Impulse Dial, Impulse Direction Lever, One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight, Help Control, Reading Ticket, Printer Reading, Reset Experiment Label, Restore Defaults Label, Store Copper Label, Link Both Label, Match Goal Label, Brake Goal Label, Target Goal Label, Stop Goal Label, Workshop Goal Result, Open Goals Label, Save Setup Label, Open Setup Label, Setup Page Label); Choose Next Impulse (on Game Rules); Turn Impulse Dial (on Impulse Dial); Choose Impulse Direction (on Impulse Direction Lever); Show Measured Reading (on Blue Push Reading, Copper Push Reading); Set Starting Cart Load (on Blue Cart, Copper Cart); Select Workshop Weight (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight); Show Workshop Detail (on Reading Sheet, Reading Sheet Title, Reset Experiment Label, Restore Defaults Label, Impulse Dial Face); Drag Workshop Weight (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight); Read Pinned Ticket (on Reading Ticket); Read Latest Print (on Printer Reading); Choose Historical Ticket (on Game Rules); Show Reading Page (on Push Status, Workshop Instructions, Historical Blue Reading, Historical Copper Reading, History Note, Store Copper Label, Link Both Label, Setup Page Label); Show Impulse Setting Label (on Next Impulse, Independent Impulse Label); Show Workshop Goal (on Match Goal Label, Brake Goal Label, Target Goal Label, Stop Goal Label, Match Goal Instruction, Brake Goal Instruction, Target Goal Instruction, Workshop Goal Result, Open Goals Label); Show Setup Page (on Starting Setup Instructions, Save Setup Label, Open Setup Label) | 2 |
| returnCarts | Return Button Response (on Return Button); Reset Workshop Experiment | everyone who listens | Place Cart on Rail (on Blue Cart, Copper Cart); Turn Impulse Dial (on Impulse Dial); Drag Workshop Weight (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight) | 2 |
| pushRequested | Push Button Response (on Push Button) | everyone who listens | Request Pair Push (on Game Rules) | 3 |
| cartLoadChanged | Transfer Workshop Weight; Move Selected Weight (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight) | the instances in $blueCart; the instances in $copperCart | Change Native Cart Load (on Blue Cart, Copper Cart) | 4 |
| weightsPrepared | Prepare Workshop Weights (on Game Rules) | everyone who listens | Set Starting Cart Load (on Blue Cart, Copper Cart) | 4 |
| setupCartPosition | Apply Starting Setup | everyone who listens | Restore Setup Position (on Blue Cart, Copper Cart) | 5 |
| setupWeightsToRack | Apply Starting Setup | everyone who listens | Restore Weight Setup (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight) | 5 |
| setupWeightsToSeats | Apply Starting Setup | everyone who listens | Restore Weight Setup (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight) | 5 |
| values:canceled | the engine | everyone who listens | Starting Setup Controls (on Game Rules) | 5 |
| values:failed | the engine | everyone who listens | Starting Setup Controls (on Game Rules) | 5 |
| values:imported | the engine | everyone who listens | Starting Setup Controls (on Game Rules) | 5 |
B.3 Messages Introduced in Step 1 (Place Carts)
B.3.1 load:succeeded
- Sent by the engine (load:succeeded announces a completed native Load).
- Heard by Place Cart on Rail (on Blue Cart, Copper Cart): “Release a Loaded Hand”.
- Heard by Listen for Control Press (on Return Button, Push Button, Impulse Dial, Impulse Direction Lever, One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight, Help Control, Reading Ticket, Printer Reading, Reset Experiment Label, Restore Defaults Label, Store Copper Label, Link Both Label, Match Goal Label, Brake Goal Label, Target Goal Label, Stop Goal Label, Workshop Goal Result, Open Goals Label, Save Setup Label, Open Setup Label, Setup Page Label): “Resume Control Input”.
- Heard by Choose Next Impulse (on Game Rules): “Prepare Dial”.
- Heard by Turn Impulse Dial (on Impulse Dial): “Release Dial on load”.
- Heard by Choose Impulse Direction (on Impulse Direction Lever): “Show Loaded Direction”.
- Heard by Show Measured Reading (on Blue Push Reading, Copper Push Reading): “Loaded Reading”.
- Heard by Set Starting Cart Load (on Blue Cart, Copper Cart): “Restore Cart Load”.
- Heard by Select Workshop Weight (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight): “Restore Selection”.
- Heard by Show Workshop Detail (on Reading Sheet, Reading Sheet Title, Reset Experiment Label, Restore Defaults Label, Impulse Dial Face): “Loaded View”.
- Heard by Drag Workshop Weight (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight): “Release Loaded Hand”.
- Heard by Read Pinned Ticket (on Reading Ticket): “Refresh Paper”.
- Heard by Read Latest Print (on Printer Reading): “Refresh Printer”.
- Heard by Choose Historical Ticket (on Game Rules): “Validate Loaded Inspection”.
- Heard by Show Reading Page (on Push Status, Workshop Instructions, Historical Blue Reading, Historical Copper Reading, History Note, Store Copper Label, Link Both Label, Setup Page Label): “Show Chosen Page”.
- Heard by Show Impulse Setting Label (on Next Impulse, Independent Impulse Label): “Show Restored Setting”.
- Heard by Show Workshop Goal (on Match Goal Label, Brake Goal Label, Target Goal Label, Stop Goal Label, Match Goal Instruction, Brake Goal Instruction, Target Goal Instruction, Workshop Goal Result, Open Goals Label): “Show Restored Goal”.
- Heard by Show Setup Page (on Starting Setup Instructions, Save Setup Label, Open Setup Label): “Show Setup Page”.
B.3.2 returnCarts
- Sent by Return Button Response (on Return Button), in “Return Carts”, to everyone who listens.
- Sent by Reset Workshop Experiment, in “when called”, to everyone who listens.
- Heard by Place Cart on Rail (on Blue Cart, Copper Cart): “Return from Button”.
- Heard by Turn Impulse Dial (on Impulse Dial): “Release Dial”.
- Heard by Drag Workshop Weight (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight): “Return Held Weight”.
B.4 Messages Introduced in Step 2 (Impulse Core)
B.4.1 pushRequested
- Sent by Push Button Response (on Push Button), in “Push Both”, to everyone who listens.
- Heard by Request Pair Push (on Game Rules): “Push with Button”.
B.5 Messages Introduced in Step 3 (Load and Measure)
B.5.1 cartLoadChanged
- Sent by Transfer Workshop Weight, in “when called”, to the instances in $blueCart.
- Sent by Transfer Workshop Weight, in “when called”, to the instances in $copperCart.
- Sent by Move Selected Weight (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight), in “Remove Loaded Mass”, to the instances in $blueCart.
- Sent by Move Selected Weight (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight), in “Remove Loaded Mass”, to the instances in $copperCart.
- Heard by Change Native Cart Load (on Blue Cart, Copper Cart): “Change Load”.
B.5.2 weightsPrepared
- Sent by Prepare Workshop Weights (on Game Rules), in “Create Weight Pattern”, to everyone who listens.
- Heard by Set Starting Cart Load (on Blue Cart, Copper Cart): “Set Starting Load”.
B.6 Messages Introduced in Step 4 (Compare and Remix)
B.6.1 setupCartPosition
- Sent by Apply Starting Setup, in “when called”, to everyone who listens.
- Heard by Restore Setup Position (on Blue Cart, Copper Cart): “Set Setup Position”.
B.6.2 setupWeightsToRack
- Sent by Apply Starting Setup, in “when called”, to everyone who listens.
- Heard by Restore Weight Setup (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight): “Restore rack”.
B.6.3 setupWeightsToSeats
- Sent by Apply Starting Setup, in “when called”, to everyone who listens.
- Heard by Restore Weight Setup (on One Kilogram Weight, Two Kilogram Weight, Five Kilogram Weight): “Restore seat”.
B.6.4 values:canceled
- Sent by the engine (Open Persistent Values File was canceled).
- Heard by Starting Setup Controls (on Game Rules): “Report Setup cancel”.
B.6.5 values:failed
- Sent by the engine (Open Persistent Values File could not read or accept the file).
- Heard by Starting Setup Controls (on Game Rules): “Report Setup failed”.
B.6.6 values:imported
- Sent by the engine (Open Persistent Values File accepted the file and stored its persistent values).
- Heard by Starting Setup Controls (on Game Rules): “Apply Imported Setup”.
