Skip to content
Documentation

Advanced Actions

Built-in authoring reference for Mercury 1.0.1. All actions.

Add Item to Builder Toolbox

Makes every automatically published toolbox entry for this Object available in the current Builder session.

Reference key: builderAddItem.

Editor category: Advanced > Builder Mode > Builder Toolbox.

Parameter Type Optional Details
Object thing:object No Object resource name. Live-instance target parameters may also select an attached Child Object placement.

Add Logic Rule

Validates and registers one runtime Logic rule for an Object type. The result is published through $rule_ok, $rule_error, $rule_name, and $rule_count.

Reference key: ruleAdd.

Editor category: Advanced > Mind > Rules and Memory.

Example: Add one named Collision rule to Enemy after validating its JSON Action list.

Parameter Type Optional Details
Object thing:object No Which object grows the rule — every instance of it starts answering from the next event on. Default: “”.
Event text No The trigger, by catalog key — collision, commandPressed, customEvent, sceneStart… Default: “collision”.
Filter text No Optional event filter — the colliding object, the key, the custom event name. Blank = any. Default: “Player”.
Actions (JSON) text No A JSON Action list [{“type”:…,“params”:{…}}]. Include If and block items here for conditional flow. Script-running types are refused. $rule_ok / $rule_error report the verdict. Default: “[{"type":"cameraShake","params":{}}]”.
Rule Name text No Optional: name it so Enable/Disable Logic can gate it later. Blank = auto-named. Default: “”.
Allowed Action Types text Yes Optional comma-separated allowlist. When set, ONLY these catalog action types may be injected — the default-deny posture Language Grants use. Script-running types stay refused regardless. Blank keeps the deny-list-only behavior. Default: “”.

Add Spoken Rule

Validates and registers the most recent accepted rule-shaped Language Pack meaning as one runtime Logic rule.

Reference key: ruleAddFromLanguage.

Editor category: Advanced > Mind > Rules and Memory.

Example: After interpreting “when the bell rings, open the gate,” add that accepted rule with an explicit Action allowlist.

Parameter Type Optional Details
Fallback Object thing:object No Used only when the spoken rule did not name its object. Run Interpret Language Pack first; this injects its accepted rule-shaped meaning. Default: “”.
Rule Name text No Optional: name the injected rule so Enable/Disable Logic can gate it. Default: “”.
Allowed Action Types text Yes Optional comma-separated list of Action types that the spoken rule may add. Use the types produced by the authored language grammar. An Action outside this list is refused with $rule_error. Script-running types are always refused. Default: “”.

Apply Ink Stamp

Accessible non-pointer route for Controls, keyboard input, dialogue, or Book events. Applies the selected sealed Stamp to the action target (Self by default) through the same exact compatibility, grant, atomic-install, save, and host-authority path as a personal invocation drawing. The result is published as $inkImprintOk, $inkImprintReason, and $inkImprintInstanceId.

Reference key: applyInkStamp.

Editor category: Advanced > Glyphs > Glyph Reserve and Stamps.

Example: On Pressed Install Ward: Apply Ink Stamp [Ward Machine] to the focused door.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Ink Stamp thing:inkStamp No An exact sealed Stamp from this project. Parameters with defaults are grounded automatically; a missing required parameter refuses without partial installation.

Apply Language Effect

Applies the most recently prepared Language Pack effect candidate once. The exact grant, grounding, adapter, target-cardinality, capability, and network-authority checks still fail closed, and the resulting receipt replaces $language_effect and related evidence. Run it immediately after Interpret Language Pack, or attach the editable Interpret and Apply Language Pack Logic.

Reference key: applyLanguageEffect.

Editor category: Advanced > Mind > Mind Capabilities and Language Packs.

Example: On Player Text: Interpret Language Pack [Door Speech], then Apply Language Effect; branch with If Language Effect [applied].

Ask Mind

Answers a question from taught facts. $nl_answer contains the sentence, and $nl_known is 1 when a fact supplies the answer. Facts inherit through “is a” relationships: a fact taught about planet can answer a question about Mars when Mars is a planet. Unknown concepts produce an unknown response unless the predicate was taught with Mind knows ALL of these.

Reference key: nlAsk.

Editor category: Advanced > Mind > Mind Reasoning.

Example: On Not Understood, ask Mind “{$nl_text}” and speak “{$nl_answer}” to present an answer from the taught facts.

Parameter Type Optional Details
Question text No A plain-English question. Supports {expressions}. Understood shapes: “is X a Y”, “what is X”, “what is the P of X”, “does X VERB Y”, “which things are Y”. Default: “{$nl_text}”.

Boot Coil Program

Boots a Coil Program resource on this Object’s chip. It uses the same machine as Boot Computer, with source from the Coil Program editor. Prefix Globals carry the pins. Use Control Computer to pause, step, or swap programs, and Read Computer to inspect RAM. Coil System Interface calls use the host’s capability mask.

Reference key: bootCoilProgram.

Editor category: Advanced > Computers.

Example: On Create: Boot Coil Program [DoorBrain]. The door’s rules read $doorbrain_out to decide whether to open.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Coil Program thing:coil No The Coil Program resource this chip runs — written, built, and proven in the Coil Programs editor. The chip executes the BUILT assembly verbatim; a program that was never built compiles from source at boot through the same // language: route Boot Computer uses.
Speed number Yes Instructions per machine tick. 0 or blank keeps the speed saved on the Coil Program resource; up to 2097152, the Coil-7 ceiling. Default: 0.
Show enum Yes Chips default to hidden — a brain, not a monitor. Every Boot Computer panel works here too: the full front panel, the screens, the video chip, the character generator. Choices: panel, screen, screen256, screenRGB, screenGPU, text, hidden. Default: “hidden”.
Variable Prefix text Yes Pin namespace. A blank value uses the Coil Program’s name in lowercase, replacing runs of other characters with _. The chip reads <prefix>_in and <prefix>_in0..5 as power inputs (0-15). Each machine tick publishes <prefix>_out, _out0..5, _halted, and _ticks for Logic, UI bindings, and expressions to read. Default: “”.
Out Event text Yes Custom Event fired when the chip’s OUT latch changes. Use it to connect machine output to Logic. Default: “”.

Boot Computer

Puts a real little computer on this object — the same MythCoilCPU the voxel circuit blocks run — and makes it visible: the screen is the machine’s own video memory, the panel shows the instruction about to run and the live variables. Anything in the game can feed it through the prefix variables, and it answers the same way. Machines do not ride saves (boot again On Create) and lockstep multiplayer refuses them; the 3D circuit blocks remain the shared-world machine.

Reference key: bootComputer.

Editor category: Advanced > Computers.

Example: On Create: Boot Computer with the paddle-and-ball program at Speed [1024], Show [panel], prefix [cab] — then feed [cab_in0] from player input and the cabinet plays.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Program (CoilScript) text No Program source for the machine, written in CoilScript ; the same language the voxel block computers compile. Loops, ifs, variables, mem[] video memory, face[] ports. Floating-point support: float x declares an IEEE-754 single, double x a full binary64 (register pairs), decimals like 1.5 are literals, sqrt() works at either precision, and int/float/double convert where they meet. For CoilDisk persistent storage, put a sector 0–4095 in mem[31745] (a 4,096-sector, four-megabyte platter) and a 256-word buffer address in mem[31746], then write 1 (read) or 2 (write) to mem[31744]; the drive answers in mem[31747] on the next tick (1 done, 2 refused). To select another language, start the first line with // language: c (or javascript, lua, java, c#) and the same machine compiles Coil C, Coil JavaScript, Coil Lua, Coil Java, or Coil C# ; functions, recursion, doubles, arrays and all. CoilVoice II, the sound chip: eight voices (0–3 at mem[31756 + voice*4], 4–7 at mem[31776 + (voice-4)*4]) = frequency Hz, +1 wave (1 square, 2 saw, 3 triangle, 4 noise, 5/6/7 pulse at 12.5/25/75% duty), +2 volume 0–15, +3 duration in ticks (0 holds; the chip counts down and silences itself) ; plus a PCM sample channel: address in mem[31792] (four packed unsigned bytes a word), length in samples at 31793, rate Hz at 31794, write 1 to 31795 to play (the chip copies the bytes at the trigger, answers 2 while playing, 0 when done). The CoilTTY at 31796–31800 gives every language a standard in and out: CoilScript writes print “text”, print n, and input x; Coil C says puts()/println()/readn(); Coil Java System.out.println; Coil C# Console.WriteLine; Coil JavaScript console.log; Coil Lua print ; one teletype, published to the <prefix>_tty global. Programs can use up to 16,384 words ; the assembler skips the reserved I/O page. The Coil System Interface at 31808–31814 lets a cart command the host game through syscall records (100 spawn, 101 destroy, 102 move, 110/111 set/get globals, 120 play a sound asset, 130 park the camera, 140 name a block-palette slot, 141/142 set or box-fill voxel-world blocks by slot, 143/144 read a block or the surface height) behind a capability mask the host grants via the <prefix>_syscaps global (default 0 = fenced; reads live behind bit 64 so sovereign carts stay lockstep-identical); 31813 tells the cart whether an engine hosts it, and 31814 answers a deterministic state hash of RAM ; the multiplayer desync detector. Default: “forever\n out 15\n wait 5\n out 0\n wait 5\nend”.
Speed number Yes Instructions per machine tick. 64 is the block default; up to 2097152, the Coil-7 ceiling — the same honest machine at every speed. Frame-paced programs sleep cheaply: any write to mem[31751], the vsync word, yields the rest of the tick. Low speeds let players watch it think. Default: 64.
Show enum Yes What the object displays: the full front panel (screen, lamp, the line about to run, live variables), just the screen pixels (15-color values, screen256 where every cell is a direct 3-3-2 RGB byte, or screenRGB where every cell is a FULL 24-bit 0xRRGGBB color — 16.7 million colors, same RAM), screenGPU — the VIDEO CHIP: the program writes an 8-word-record command list (1 sky, 2 camera, 3 light, 4 floor, 5 sphere, 6 the ROM dragon, 7 tilemap, 8 sprite, 9 tileset upload, 10 raster bands) and pokes 31753=list address, 31754=record count, 31752=1; the chip raytraces the latched scene and composites the console layer over it — a scrolling tilemap with up to 16 per-row raster bands (still status bars, half-speed parallax: the beam tricks of 1985 as a declared table) and up to 128 sprites with flip bits and a BEHIND priority bit, black transparent all the way down to the rays — at full display resolution, write-only, status at 31755 — text — the character generator, where every cell is char | ink<<8 | paper<<16 and row 0 is the top — or nothing. Choices: panel, screen, screen256, screenRGB, screenGPU, text, hidden. Default: “panel”.
Screen Width number Yes The machine screen in cells, 1–192. Programs paint by writing mem[base + row * width + column]; the VALUE is the color (1–15; 0 clears; 1 is the classic amber — in screen256 the value IS a 3-3-2 RGB byte). Default: 8.
Screen Height number Yes Screen rows, 1–192. Default: 8.
Screen Base number Yes Which RAM word the screen starts at (the 3072 convention). Big screens sit lower so they fit under the port words: 32×32 from 2048, the full 48×48 (2,304 words) from 1024; a 96×96 monument (9,216 cells) lives in high RAM from 16384 — and the full 192×192 editing screen (36,864 cells) from 65536, above the device band. Default: 3072.
Ticks Per Second number Yes Machine heartbeats per second, 1–120. 10 is the block law; 60 matches the display — a program pacing itself on the vsync word becomes a real 60 fps game. Slow rates (1–5) are watch-it-think mode. Default: 10.
Variable Prefix text Yes The bridge namespace: the machine reads variables <prefix>_in and <prefix>_in0..5 as its power inputs (0–15) and publishes <prefix>_out, _out0..5, _halted, _ticks back every tick. Default: “computer”.
Output Event text Yes Optional Custom Event fired whenever the machine’s output latch changes — wire it like a lever. Default: “”.

Call Mind Capability

Invokes one registered local game capability without natural-language parsing. A valid call publishes $nl_call_* and typed $nl_arg_* globals, then fires Mind Capability Called. Unknown names, extra fields, missing required fields, bad types, and unresolved Object or Scene references fire Mind Capability Error instead.

Reference key: nlCallCapability.

Editor category: Advanced > Mind > Mind Capabilities and Language Packs.

Example: Call Mind Capability [door.open] with {“target”:“{$selectedDoor}”}.

Parameter Type Optional Details
Capability enum No A capability registered in Mind Workbench. Only declared local capabilities can be called.
Arguments (JSON object) text Yes One JSON object whose keys match the capability inputs. Values such as {$selectedDoor} are substituted before parsing, then converted and validated against the typed contract. Default: “{"target":"Oak Door"}”.

Capture Spoken Text

Captures one spoken sentence where the platform provides speech recognition, then updates $nl_text and fires On Player Text. Browser exports in Chrome with internet support may provide recognition; the offline desktop runtime refuses honestly with $nl_listen_status = unavailable. Other statuses are listening, heard, silent, denied, and error; details use $nl_listen_error. Always provide Control Text Input as a fallback.

Reference key: nlSpeechInput.

Editor category: Advanced > Mind > Mind Input and Intents.

Example: On Button Pressed [Speak], Capture Spoken Text. On Player Text, run a Language Pack or attach Player Text Input and Understanding.

Parameter Type Optional Details
Max Seconds number Yes Listening stops by itself after this long (1-30). Default: 6.
Language (BCP-47) text Yes Optional recognition language such as en-US or es-ES. Blank uses the platform default. Default: “”.

Clear Paper Game

Clears the drawings from the current paper game.

Reference key: livingPaperClear.

Editor category: Advanced > Living Paper > Paper Game Lifecycle.

Connect Computers

Wires two machines together, face to face: this machine’s face reads what the peer’s face sent on the previous machine tick (send[d] on one side arrives as face[d] on the other, one tick later, 0–15 — the same double-buffered law the 3D circuit blocks obey, so message order can never depend on processing order). Links merge with the variable bridge as a max, and a cluster of machines becomes a fabric: screens tile, machines exchange state through narrow honest wires, and a protocol is born.

Reference key: connectComputers.

Editor category: Advanced > Computers.

Example: On Game Start (Node0): Connect Computers [connect] My Face [1] to [Node1] Their Face [0] — then send[1] = 9 here reads as face[0] = 9 there, one tick later.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Operation enum No Connect binds the face; disconnect frees it. Choices: connect, disconnect. Default: “connect”.
My Face number No Which of this machine’s six faces (0–5) carries the link. Default: 1.
Other Computer thing:object No The Object name of the other booted machine. Default: “”. Shown when Operation is connect.
Their Face number Yes Which of the peer’s faces (0–5) this link reads. Default: 0. Shown when Operation is connect.

Control Computer

The teaching transport for a booted computer: freeze it, then step one instruction at a time while the panel shows the line about to run — or step a whole tick, resume full speed, or stop the machine entirely.

Reference key: controlComputer.

Editor category: Advanced > Computers.

Example: On Command [Inspect]: Control Computer [pause]; On Command [Step]: Control Computer [step instruction] — read the panel between presses.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Operation enum No Pause freezes the machine mid-instruction; resume continues; step instruction runs exactly one instruction (the teaching loop); step tick runs one whole 0.1 s slice; stop shuts the machine down and restores the object’s look. Load cartridge HOT-SWAPS the running program: source waiting in the <prefix>_cart global (any of the six Coil languages) compiles on the spot and replaces the brain — the machine, its screen, and its capability grants stay; errors land in <prefix>_err and the old program keeps running. The panel operations re-dress the RUNNING machine: show the full front panel (listing, walking program counter, registers, live variables), just the screen (15-color, 256-color, the 24-bit screenRGB monitor, or the screenGPU video chip), or nothing — execution never notices. Choices: pause, resume, step instruction, step tick, stop, load cartridge, panel panel, panel screen, panel screen256, panel screenRGB, panel screenGPU, panel text, panel hidden. Default: “pause”.

Control Data Row

Adds or updates one identified live Data Table row, or removes that same row. Restoring an entire table is a separate Atomic.

Reference key: controlDataRow.

Editor category: Advanced > Data Tables.

Example: Add or Update Inventory / Potion with “count = 1”, then Remove that row when its count reaches zero.

Parameter Type Optional Details
Operation enum No Choose one of the listed options. Choices: add or update, remove. Default: “add or update”.
Table thing:data No Choose a data resource.
Row number-or-text No For Add or Update, the row name. For Remove, a row name or an expression for its 0-based index.
Values text Yes Semicolon-separated column assignments, e.g. price = 50; magic = true; name = ‘Fire Sword’. Unlisted columns take their defaults. Shown when Operation is add or update.

Control Mind Context

Uses a Mind viewpoint or clears one belief overlay.

Reference key: nlSetContext.

Editor category: Advanced > Mind > Mind Facts and Context.

Example: Use context “guard” while talking to the guard, then Clear it when the disguise ends.

Parameter Type Optional Details
Operation enum No Choose one of the listed options. Choices: use, clear. Default: “use”.
Context text Yes The viewpoint to use or erase. Blank Clear erases the active context. World cannot be erased. Default: “guard”.
Parent context text Yes Facts not present here fall back through this context, then world. Default: “world”. Shown when Operation is use.

Control Mind Fact

Teaches or forgets one exact subject / predicate / object fact in the game’s offline, traceable Mind. “is a” facts build a family tree and everything inherits down it.

Reference key: nlTeachFact.

Editor category: Advanced > Mind > Mind Facts and Context.

Example: Teach “Mars / is a / planet” at Scene Start; choose Forget when a fact such as “dragon / lives in / cave” stops being true.

Parameter Type Optional Details
Operation enum No Choose one of the listed options. Choices: teach, forget. Default: “teach”.
Subject text No Who or what the fact is about. Supports {expressions}: “{$playerName}” teaches a fact about the live player. Default: “Mars”.
Predicate text No The link: “is a” builds the family tree (facts inherit down it), anything else is a property or verb — “color”, “orbits”, “has”, “guards”. Default: “is a”.
Object text No The value side of the fact. “Mars / is a / planet”, “Mars / color / red”, “planet / orbits / the sun”. Default: “planet”.
Mind knows ALL of these boolean Yes On marks the predicate as complete knowledge, allowing Ask Mind to answer No when a fact is missing. Off, the default, produces an unknown response for missing facts. Default: false. Shown when Operation is teach.

Control Text Input

Opens or closes the game’s typed-input box. Enter publishes the exact sentence to $nl_text and fires On Player Text; interpretation remains a separate Atomic or Logic.

Reference key: nlTextInput.

Editor category: Advanced > Mind > Mind Input and Intents.

Example: Open when the player talks to the oracle. Attach Player Text Input and Understanding when every submitted sentence should be interpreted.

Parameter Type Optional Details
Operation enum No Choose one of the listed options. Choices: open, close. Default: “open”.
Placeholder text Yes The gray hint inside the empty input box. Default: “Say something…”. Shown when Operation is open.

Create Paper Drawing

Copies artwork the player supplied for a Glyph. Use it for asteroid splitting, waves, reinforcements, and respawns without hidden creator Objects.

Reference key: livingPaperSpawnGlyph.

Editor category: Advanced > Living Paper > Paper Game Objects.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Glyph text No The Glyph name or id whose player-drawn artwork is copied.
Count number No Expression or literal value. Default: 1.
Position enum No Choose one of the listed options. Choices: self, random page, random edge. Default: “self”.
Speed number No Expression or literal value. Default: 3.75.
Direction (deg) number Yes Expression or literal value. Default: 0.
Arc (deg) number Yes Expression or literal value. Default: 90.
Inherit Velocity number Yes Expression or literal value. Default: 0.35.
Spin number Yes Expression or literal value. Default: 30.
Spin Spread number Yes Expression or literal value. Default: 35.
Scale number Yes Expression or literal value. Default: 1.
Distance from Self number Yes Expression or literal value. Default: 3.75. Shown when Position is one of random page, random edge.

Delete Builder Placement

Deletes one player-created placement, or the selected placement when the ID is blank.

Reference key: builderDeletePlacement.

Editor category: Advanced > Builder Mode > Builder Placements.

Parameter Type Optional Details
Placement ID text Yes Leave blank to delete the selected placement.

Download Paper Game

Downloads the current game as a .mythpaper file.

Reference key: livingPaperDownload.

Editor category: Advanced > Living Paper > Paper Game Lifecycle.

Draw Circle

Draws circle during a Draw event.

Reference key: drawCircle.

Editor category: Advanced > Glyphs > Draw Shapes and Sprites.

Example: In Draw, draw a detection radius or target marker, optionally at an explicit Depth.

Parameter Type Optional Details
X number No Number value; decimals are allowed.
Y number No Number value; decimals are allowed.
Radius number No Number value; decimals are allowed. Default: 16.
Filled boolean Yes On or off.
Depth number Yes Blank uses the current draw depth.

Draw Ellipse

Draws one ellipse with the current Draw Color. Use equal radii for a circle.

Reference key: drawEllipse.

Editor category: Advanced > Glyphs > Draw Shapes and Sprites.

Example: In Draw, draw a filled or outlined oval.

Parameter Type Optional Details
X number No Expression or literal value.
Y number No Expression or literal value.
Horizontal Radius number No Expression or literal value. Default: 24.
Vertical Radius number No Expression or literal value. Default: 16.
Filled boolean Yes On or off.
Depth number Yes Blank uses the current draw depth.

Draw Line

Draws one line with the current Draw Color. Coordinates, width, and optional depth accept expressions.

Reference key: drawLine.

Editor category: Advanced > Glyphs > Draw Shapes and Sprites.

Example: In Draw, draw an aiming guide, divider, or debug line with an optional width and depth.

Parameter Type Optional Details
X1 number No Expression or literal value.
Y1 number No Expression or literal value.
X2 number No Expression or literal value.
Y2 number No Expression or literal value.
Line Width number Yes Expression or literal value. Default: 2.
Depth number Yes Blank uses the current draw depth.

Draw Rectangle

Draws one rectangle with the current Draw Color and optional explicit depth. Coordinates accept numbers, Logic variables, instance fields such as health, globals, and ordinary expressions.

Reference key: drawRectangle.

Editor category: Advanced > Glyphs > Draw Shapes and Sprites.

Example: In Draw GUI, Draw Rectangle from (hudX, hudY) to (hudX + max(0, health), hudY + 8), filled.

Parameter Type Optional Details
X1 number No Expression or literal value.
Y1 number No Expression or literal value.
X2 number No Expression or literal value.
Y2 number No Expression or literal value.
Filled boolean Yes On or off.
Depth number Yes Blank uses the current draw depth.

Draw Rounded Rectangle

Draws one rounded rectangle with the current Draw Color. The radius is clamped so corners cannot overlap.

Reference key: drawRoundedRectangle.

Editor category: Advanced > Glyphs > Draw Shapes and Sprites.

Example: In Draw, draw a filled or outlined rounded panel.

Parameter Type Optional Details
X1 number No Expression or literal value.
Y1 number No Expression or literal value.
X2 number No Expression or literal value.
Y2 number No Expression or literal value.
Corner Radius number No Expression or literal value. Default: 6.
Filled boolean Yes On or off.
Depth number Yes Blank uses the current draw depth.

Draw Sprite

Draws sprite during a Draw event.

Reference key: drawSprite.

Editor category: Advanced > Glyphs > Draw Shapes and Sprites.

Example: In Draw, draw an icon next to UI text.

Parameter Type Optional Details
Sprite thing:sprite No Choose a sprite resource.
X number No Number value; decimals are allowed.
Y number No Number value; decimals are allowed.
Frame number Yes Whole number value.

Draw Text

Draws one text value on the current Draw layer. Embed {localVariable} or {$globalVariable} to include live values; use {{ for a literal opening brace.

Reference key: drawText.

Editor category: Advanced > Glyphs > Draw Text.

Example: In Draw, write text and embed {localVariable} or {$globalVariable} tokens for live values.

Parameter Type Optional Details
Text text No Text value; some actions also accept $global names.
X number No Number value; decimals are allowed.
Y number No Number value; decimals are allowed.
Scale number Yes Number value; decimals are allowed.

Duplicate Builder Placement

Duplicates one placement in the player-created version.

Reference key: builderDuplicatePlacement.

Editor category: Advanced > Builder Mode > Builder Placements.

Parameter Type Optional Details
Placement ID text Yes Leave blank to duplicate the selected placement.

Enter Builder Mode

Opens Build My Version on the current Builder Scene.

Reference key: builderEnter.

Editor category: Advanced > Builder Mode > Builder Lifecycle.

Execute Script

Executes one Script resource in the current event context, with recursion and call-depth guards.

Reference key: callScript.

Editor category: Advanced > Scripting.

Example: Execute the shared Award Treasure Script after opening any chest.

Parameter Type Optional Details
Script thing:script No Script resource name.

Fire Paper Projectile

Fires a built-in paper-game projectile from this drawing. Its target Glyph list and hit event remain creator-authored Logic.

Reference key: livingPaperFireProjectile.

Editor category: Advanced > Living Paper > Paper Game Objects.

Example: The ship fires a paper shot toward its facing; UFO shots aim at the nearest Space Ship Glyph.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Projectile Name text No A stable name for this built-in visible projectile. Default: “paper-shot”.
Target Glyphs text No Comma-separated Glyph names or ids this projectile can hit.
Hit Event text No The Custom Event sent to the paper drawing that is hit. Default: “paperHit”.
Aim Mode enum No Choose one of the listed options. Choices: self facing, nearest Glyph, fixed direction. Default: “self facing”.
Aim at Glyph text Yes Text value; some actions also accept $global names. Shown when Aim Mode is nearest Glyph.
Direction (deg) number Yes Expression or literal value. Default: 90. Shown when Aim Mode is fixed direction.
Angle Offset number Yes 90 fires from the top of artwork that points upward at rotation 0. Default: 90. Shown when Aim Mode is self facing.
Speed number No Expression or literal value. Default: 16.25.
Muzzle Distance number Yes 0 starts just beyond the drawing bounds. Default: 0.
Inherit Velocity number Yes Expression or literal value. Default: 1.
Lifetime (seconds) number No Expression or literal value. Default: 1.25.
Wrap Around Page boolean Yes On or off. Default: true.
Size number Yes Expression or literal value. Default: 0.21875.
Color color Yes Text value; some actions also accept $global names. Default: “#111827”.

Frame Builder Scene

Frames the editable Scene content in the Builder view.

Reference key: builderFrameView.

Editor category: Advanced > Builder Mode > Builder View.

Frame Builder Selection

Frames the selected placement in the Builder view.

Reference key: builderFrameSelection.

Editor category: Advanced > Builder Mode > Builder View.

Infer Mind Rules

Runs bounded forward inference and stores derived facts with their rule provenance. Hard limits prevent runaway rule cycles.

Reference key: nlInferRules.

Editor category: Advanced > Mind > Mind Reasoning.

Example: After loading the encyclopedia: Infer Mind Rules, then Ask Mind.

Parameter Type Optional Details
Context text Yes Blank uses the active context.
Maximum rounds number Yes Expression or literal value. Default: 8.
Maximum derived facts number Yes Expression or literal value. Default: 256.

Interpret Language Pack

Parses text, publishes the complete $language_* interpretation evidence, and prepares one checked typed effect candidate for Apply Language Effect. It never mutates the interpreted target, dispatches an event, or calls general actions or scripts. Discourse references such as {“ref”:“last-target”} resolve against this pack’s last accepted target, and grants judge the resolved meaning.

Reference key: languageInterpret.

Editor category: Advanced > Mind > Mind Capabilities and Language Packs.

Example: On Player Text: Interpret Language Pack [Door Speech] with {$nl_text}; branch on its status, or follow it with Apply Language Effect.

Parameter Type Optional Details
Language Pack thing:languagePack No The creator-authored vocabulary, grammar, meanings, exact project grounding, grants, and typed capability allowlists.
Utterance text No Exact player text to parse. Control Text Input followed by this action on Player Text is the simplest typed-language loop. Default: “{$nl_text}”.
Grant subject text Yes The subject Language Grants authorize. Supports {expressions}. Default: “player”.
Requested grant IDs text Yes Optional comma-separated exact grant IDs. Blank considers every active grant, while the effect adapter still requires its own explicit grant allowlist.

Load Mind Facts From Data

Teaches facts from Data Table rows. Prepare the facts in the Data editor and load the table at Scene start so the mind can answer questions about them. Rows that do not form a complete fact are skipped.

Reference key: nlLoadData.

Editor category: Advanced > Mind > Mind Facts and Context.

Example: On Scene Start: Load Mind Facts From Data [WorldFacts] — 60 rows about the kingdom, and the librarian NPC can answer questions about all of it.

Parameter Type Optional Details
Data Table thing:data No A Data Table of facts. Columns named subject / predicate / object (or s / p / o) are used by name; otherwise the row NAME is the subject and the first two columns are predicate and object.

Move Builder Placement

Sets the position of one placement in the player-created version.

Reference key: builderMovePlacement.

Editor category: Advanced > Builder Mode > Builder Placements.

Parameter Type Optional Details
Placement ID text Yes Leave blank to move the selected placement.
X number No Expression or literal value.
Y number No Expression or literal value.
3D Height number Yes Expression or literal value.

Open Saved Paper Games

Opens the game-scoped list of saved and importable paper games.

Reference key: livingPaperOpenSaved.

Editor category: Advanced > Living Paper > Paper Game Lifecycle.

Pan Builder View

Moves the Builder camera by a relative amount.

Reference key: builderPanView.

Editor category: Advanced > Builder Mode > Builder View.

Parameter Type Optional Details
Horizontal number No Expression or literal value. Default: 0.
Vertical number No Expression or literal value. Default: 0.
3D Height number Yes Expression or literal value. Default: 0.

Pick Data Row

Chooses one eligible row with Myth’s deterministic game RNG and publishes its row name, index, and chosen weight as one typed Action result. With no Weight Column the choice is uniform. When no eligible positive finite-weight row exists, the record contains blank row text, index -1, and weight 0.

Reference key: pickDataRow.

Editor category: Advanced > Data Tables.

Example: Pick a weighted row from Encounters, then use pickedDataRowResult.row in data(“Encounters”, …).

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Table thing:data No Choose a data resource.
Weight Column text Yes Blank gives every eligible row equal odds. Otherwise positive finite values in this number column are relative weights; zero, negative, or non-finite rows cannot be picked.
Only Where Column text Yes Optional eligibility filter, such as zone or rarityBand.
Equals Value text Yes Literal text, $global, instance variable, or numeric expression compared with the filter column.

Results

Field Type Description
row text
index number
weight number

Play My Version

Leaves Builder Mode and plays the player-created version.

Reference key: builderPlayVersion.

Editor category: Advanced > Builder Mode > Builder Lifecycle.

Play Original Game

Leaves Builder Mode and plays the unchanged original game.

Reference key: builderPlayOriginal.

Editor category: Advanced > Builder Mode > Builder Lifecycle.

Prove Mind Fact

Builds a bounded explanation proof from direct facts, inheritance, and controlled rules. Publishes $nl_proved, $nl_negative, $nl_reason, and $nl_context.

Reference key: nlProve.

Editor category: Advanced > Mind > Mind Reasoning.

Example: Prove “dragon / glows / yes”; show {$nl_reason}.

Parameter Type Optional Details
Subject text No Text value; some actions also accept $global names. Default: “dragon”.
Predicate text No Text value; some actions also accept $global names. Default: “glows”.
Object text No Text value; some actions also accept $global names. Default: “yes”.
Context text Yes Blank uses the active context.
Prove explicit falsehood boolean Yes On or off. Default: false.

Publish Language Phrasebook

Walks the authored grammar (bounded, deterministic), proves each generated utterance through the real parser and the subject’s Language Grants, and publishes a list of supported utterances: $language_phrasebook (a JSON array of utterances) and $language_phrasebook_count. Evidence only — it interprets nothing into the language log, dispatches nothing, and never guesses beyond the authored language.

Reference key: languagePhrasebook.

Editor category: Advanced > Mind > Mind Capabilities and Language Packs.

Example: When the player asks the gate for help: Publish Language Phrasebook [Door Speech]; show {$language_phrasebook} as hints in dialogue or the game interface.

Parameter Type Optional Details
Language Pack thing:languagePack No Which authored language to enumerate.
Most phrases number Yes How many example utterances to publish (1-64). Default: 24.
Grant subject text Yes Only utterances this subject is AUTHORIZED to use are listed. Supports {expressions}. Default: “player”.

Raise Chip Signal

Raises (or clears) one of a chip’s named signal pins — the picker-friendly face of Change Variable (Global scope) <prefix>_in<pin>. The chip reads it at its next machine tick; a Chip Panel program’s “When <signal name>” events fire on the rise.

Reference key: chipSignal.

Editor category: Advanced > Computers.

Example: On Collision with Player: Raise Chip Signal on [Door] pin [2] level [1] — the player’s “When door opened” rules run.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Chip Object thing:object Yes The Object whose Coil Chip hears it. Blank raises this object’s own chip. Default: “”.
Signal Pin number No Face pin number, 0-5. Pin names are configured in the Coil Chip section’s Pinboard. Default: 0.
Level number No The power level 0–15. 0 clears the signal; player programs’ “when it happens” events fire on the rise from 0. Default: 1.

Read Computer Word

Reads one word of the machine’s memory and publishes it as a typed Action result. Read-only: watching the machine never disturbs it. Use Change Variable or Change Variable (Global scope) only when the word must be retained.

Reference key: readComputer.

Editor category: Advanced > Computers.

Example: Every 0.5 seconds, read address [200], then use computerWordResult.value in a later expression.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Address number No Which RAM word to read, 0–4095. 3072 starts the screen; programs often mail results to a fixed address (mem[200] = score). Default: 3072.

Results

Field Type Description
value number

Remember This

Appends one authored event and optional detail to the deterministic, saveable story log.

Reference key: remember.

Editor category: Advanced > Mind > Rules and Memory.

Example: Remember “door-opened” with detail “north-gate” after the lock succeeds.

Parameter Type Optional Details
Event text No What happened, as a short name Logic resources can ask about later — “door-opened”, “met-elder”, “chose-mercy”. Supports {expressions}. Default: “door-opened”.
Detail text No Optional specifics — which door, who, how. If It Happened can filter on it. Supports {expressions}: “{$foe}” remembers the live value. Default: “”.

Remove Item From Builder Toolbox

Hides every toolbox entry for this Object in the current Builder session.

Reference key: builderRemoveItem.

Editor category: Advanced > Builder Mode > Builder Toolbox.

Parameter Type Optional Details
Object thing:object No Object resource name. Live-instance target parameters may also select an attached Child Object placement.

Remove Paper Drawings

Removes matching runtime drawings. A later Create Paper Drawing action can create fresh copies from the same player artwork.

Reference key: livingPaperRemoveGlyph.

Editor category: Advanced > Living Paper > Paper Game Objects.

Parameter Type Optional Details
Glyphs text No Comma-separated Glyph names or ids whose live drawings are removed.

Reset Data Table

Restores a Data Table to exactly what was authored in the editor, discarding every runtime change.

Reference key: dataReset.

Editor category: Advanced > Data Tables.

Example: On New Game, Reset Data Table Inventory so a fresh run starts with the authored items.

Parameter Type Optional Details
Table thing:data No Choose a data resource.

Resize Builder Placement

Sets the size of one placement in the player-created version.

Reference key: builderResizePlacement.

Editor category: Advanced > Builder Mode > Builder Placements.

Parameter Type Optional Details
Placement ID text Yes Leave blank to resize the selected placement.
Scale X number No Expression or literal value. Default: 1.
Scale Y number No Expression or literal value. Default: 1.
Scale Z number Yes Expression or literal value. Default: 1.

Resolve Mind Capability

Completes or fails a ready Mind capability call. Successful results must pass the declared output contract.

Reference key: nlCompleteCapability.

Editor category: Advanced > Mind > Mind Capabilities and Language Packs.

Example: After opening the selected door choose Complete; if it is locked choose Fail and give the reason.

Parameter Type Optional Details
Result enum No Choose one of the listed options. Choices: complete, fail. Default: “complete”.
Call ID thing:capabilityCall Yes The Capability Call to complete. Blank completes the current call; a Capability Call kept from an Event completes a deliberately deferred call. Default: “”.
Result (JSON object) text Yes Structured outputs declared by the capability. {$global} tokens inside JSON string values are substituted safely before the object is parsed and validated. Default: “{"message":"Done."}”. Shown when Result is complete.
Reason text No A readable, authored failure reason. Supports {expressions}. Default: “That cannot be done right now.”. Shown when Result is fail.

Revise Mind Belief

Explicitly asks the GOFAI-backed Mind to resolve one polarity clash or declared functional-value clash. Stronger existing beliefs refuse weaker revisions without mutation; accepted revisions remove only the conflicting beliefs reported in $nl_revision_removed. Ordinary Teach actions never invoke revision. Publishes $nl_revision_status, $nl_revision_accepted, $nl_revision_changed, $nl_revision_removed_count, $nl_revision_removed, $nl_revision_kept_count, $nl_revision_kept, $nl_revision_reason, $nl_revision_strength, $nl_revision_context, $nl_revision_stable, $nl_revision_bounded, and $nl_revision_belief.

Reference key: nlReviseBelief.

Editor category: Advanced > Mind > Mind Facts and Context.

Example: Revise dragon / location / mountain with Protected strength; branch on {$nl_revision_status} and inspect {$nl_revision_removed}.

Parameter Type Optional Details
Context text Yes Blank uses the active context. Revision compares only beliefs in this exact viewpoint. Default: “world”.
Subject text No Text value; some actions also accept $global names. Default: “dragon”.
Predicate text No Different positive values conflict only when this predicate/context has a functional-predicate policy in Mind Workbench. Opposite polarities of the same triple always conflict. Default: “location”.
Object text No Text value; some actions also accept $global names. Default: “mountain”.
Explicitly false boolean Yes On or off. Default: false.
Strength enum No An ordering used only to decide which conflicting belief yields. It is not probability or confidence. Choices: tentative, normal, protected. Default: “normal”.
Why/source text Yes A readable source saved with the accepted belief and shown in traces.

Rotate Builder Placement

Sets the rotation of one placement in the player-created version.

Reference key: builderRotatePlacement.

Editor category: Advanced > Builder Mode > Builder Placements.

Parameter Type Optional Details
Placement ID text Yes Leave blank to rotate the selected placement.
Rotation number No Expression or literal value. Default: 0.

Rotate Builder View

Rotates the Builder camera in a 3D Scene.

Reference key: builderRotateView.

Editor category: Advanced > Builder Mode > Builder View.

Parameter Type Optional Details
Yaw number No Expression or literal value. Default: 0.
Pitch number No Expression or literal value. Default: 0.

Run Code (JS)

Runs one inline JavaScript snippet in the current event context. Prefer Execute Script for reusable code.

Reference key: runCode.

Editor category: Advanced > Scripting.

Example: Run a small one-off API call when no typed Action exists.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
JavaScript text No Text value; some actions also accept $global names.

Save Paper Game

Stores the current inert paper-game document when player saving is allowed.

Reference key: livingPaperSave.

Editor category: Advanced > Living Paper > Paper Game Lifecycle.

Select Builder Placement

Selects a player-created placement for later Builder actions.

Reference key: builderSelectPlacement.

Editor category: Advanced > Builder Mode > Builder Placements.

Parameter Type Optional Details
Placement ID text Yes Leave blank to clear the selection.

Set Builder Navigation

Enables or disables Scene-editor-style navigation in Builder Mode.

Reference key: builderSetNavigation.

Editor category: Advanced > Builder Mode > Builder Tools.

Parameter Type Optional Details
Enabled boolean No On or off. Default: true.

Set Builder Tool

Chooses the active Builder authoring tool.

Reference key: builderSetTool.

Editor category: Advanced > Builder Mode > Builder Tools.

Parameter Type Optional Details
Tool enum No Choose one of the listed options. Choices: select, place. Default: “select”.

Set Builder View Zoom

Sets the Builder camera zoom without changing Scene content.

Reference key: builderSetViewZoom.

Editor category: Advanced > Builder Mode > Builder View.

Parameter Type Optional Details
Zoom number No Expression or literal value. Default: 1.

Set Data Cell

Writes one cell of a Data Table row (the live game copy, not the authored resource).

Reference key: dataSet.

Editor category: Advanced > Data Tables.

Example: In a shop, Set Data Cell Items / Potion / stock with operator -= and value 1 after a purchase.

Parameter Type Optional Details
Table thing:data No Choose a data resource.
Row number-or-text No A row name (Potion), or an expression for a 0-based row index when no row has that name.
Column text No The column key, exactly as defined in the Data Table Editor.
Value mixed No A number, expression, or ‘quoted text’. Expressions may read other cells: data(‘Items’,‘Potion’,‘price’) - 10. Default: “0”.
Operator enum Yes Number columns support += -= *= /=; text and yes/no columns always assign. Choices: =, +=, -=, *=, /=. Default: “=”.

Set Draw Color

Sets the color used by later draw actions.

Reference key: setColor.

Editor category: Advanced > Glyphs > Draw Style and Layers.

Example: Before drawing text or shapes, set the draw color.

Parameter Type Optional Details
Color color No The color of what Draw Actions draw next. Pick it (its Alpha makes it see-through), type #rrggbb or #rrggbbaa, or use a Color or ColorAlpha value.

Set Draw Font

Sets the font used by later text draw actions.

Reference key: setFont.

Editor category: Advanced > Glyphs > Draw Text.

Example: Before Draw Text, select the font resource.

Parameter Type Optional Details
Font thing:font Yes Choose a font resource.

Set Render Layer

Sets render layer for the target or game.

Reference key: setRenderLayer.

Editor category: Advanced > Glyphs > Draw Style and Layers.

Example: Move an instance into a named render layer depth band.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Layer enum No Choose one of the listed options. Choices: board, gems, effects, ui. Default: “gems”.
Depth Offset number Yes Number value; decimals are allowed. Default: 0.

Set Text Align

Sets text align for the target or game.

Reference key: setTextAlign.

Editor category: Advanced > Glyphs > Draw Text.

Example: Before Draw Text, center or right-align later text.

Parameter Type Optional Details
Align enum No Choose one of the listed options. Choices: left, center, right, justify. Default: “left”.

Set Text Line Spacing

Sets text line spacing for the target or game.

Reference key: setTextLineSpacing.

Editor category: Advanced > Glyphs > Draw Text.

Example: Before Draw Text, adjust multi-line spacing.

Parameter Type Optional Details
Pixels number No Number value; decimals are allowed. Default: 0.

Set Text Origin

Sets text origin for the target or game.

Reference key: setTextOrigin.

Editor category: Advanced > Glyphs > Draw Text.

Example: Before Draw Text, set the text origin point.

Parameter Type Optional Details
Origin X number No Horizontal anchor inside the text: 0 = left edge, 1 = right edge. Default: 0.
Origin Y number No Vertical anchor inside the text: 0 = bottom edge, 1 = top edge. Default: 0.

Set Text Stroke

Sets text stroke for the target or game.

Reference key: setTextStroke.

Editor category: Advanced > Glyphs > Draw Text.

Example: Before Draw Text, add an outline for readability.

Parameter Type Optional Details
Color color No Choose a Color or ColorAlpha value; a ColorAlpha value keeps its alpha channel. You can also enter #rrggbb or #rrggbbaa. Default: “#000000”.
Thickness number No Number value; decimals are allowed. Default: 0.

Set Text Wrap Width

Sets text wrap width for the target or game.

Reference key: setTextWrap.

Editor category: Advanced > Glyphs > Draw Text.

Example: Before Draw Text, set a maximum line width.

Parameter Type Optional Details
Width (0 off) number No Number value; decimals are allowed. Default: 0.

Spawn Builder Placement

Adds an available Object to the player-created version at the specified Scene position.

Reference key: builderSpawn.

Editor category: Advanced > Builder Mode > Builder Placements.

Parameter Type Optional Details
Object thing:object No Object resource name. Live-instance target parameters may also select an attached Child Object placement.
X number No Expression or literal value. Default: 0.
Y number No Expression or literal value. Default: 0.
3D Height number Yes Expression or literal value. Default: 0.
Rotation number Yes Expression or literal value. Default: 0.

Teach Mind Belief

Teaches a contextual positive or negative fact with provenance. Contradictory viewpoints remain separate and explainable.

Reference key: nlTeachScopedFact.

Editor category: Advanced > Mind > Mind Facts and Context.

Example: Teach Mind Belief “guard / dragon / color / red / Why: guard testimony”.

Parameter Type Optional Details
Context text Yes “world” teaches shared truth; an NPC or scene name teaches only that viewpoint. Default: “world”.
Subject text No Text value; some actions also accept $global names. Default: “dragon”.
Predicate text No Text value; some actions also accept $global names. Default: “color”.
Object text No Text value; some actions also accept $global names. Default: “red”.
Explicitly false boolean Yes Stores a real negative assertion. This is different from merely not knowing. Default: false.
Why/source text Yes A short source shown by Mind explanations and live traces, such as “guard testimony”.
Mind knows ALL of these boolean Yes On or off. Default: false.

Teach Mind Rule

Adds a bounded symbolic rule. Rules only match triples and derive/prove triples; they cannot call actions, scripts, or the network.

Reference key: nlTeachRule.

Editor category: Advanced > Mind > Mind Reasoning.

Example: If ?x has color red, conclude ?x glows yes.

Parameter Type Optional Details
Rule name text No Text value; some actions also accept $global names. Default: “red-things-glow”.
Context text Yes Text value; some actions also accept $global names. Default: “world”.
Rule JSON text No Controlled triple rule. Variables begin with ?. Rules are bounded by depth/step limits and never execute code. Default: “{"when":[{"subject":"?x","predicate":"color","object":"red"}],"then":{"subject":"?x","predicate":"glows","object":"yes"}}”.

Tell Chip

Sends a told-code to a chip — the picker-friendly face of Change Variable (Global scope) <prefix>_tell. The mailbox mirror delivers it into the machine’s Chip Panel mailbox word at the next boundary; the program consumes it (reads once, then it is gone).

Reference key: chipTell.

Editor category: Advanced > Computers.

Example: On Timer [alarm]: Tell Chip on [Door] code [5] — the player’s “When told: the alarm” rules run once.

Choose the target instance with the Action’s Applies To field.

Parameter Type Optional Details
Chip Object thing:object Yes The Object whose Coil Chip is told. Blank tells this object’s own chip. Default: “”.
Code number No The told-code, 1–65535. Name the codes in the Coil Chip section so the player’s panel reads “When told: the alarm”. Default: 1.

Understand Text

Runs one sentence through the taught phrases: sets $nl_intent, $nl_confidence and the $nl_slot_* captures, then fires On Intent Understood or On Not Understood. Attach the Player Text Input and Understanding Logic to apply this policy after every input capture.

Reference key: nlUnderstand.

Editor category: Advanced > Mind > Mind Input and Intents.

Example: Understand Text “feed the chicken” → $nl_intent = feed-animal, $nl_slot_animal = chicken.

Parameter Type Optional Details
Text text No The sentence to understand. Supports {expressions} — the default reads the latest Player Text capture. Default: “{$nl_text}”.

Upload Paper

Opens the paper uploader when Living Paper is enabled for the game.

Reference key: livingPaperOpen.

Editor category: Advanced > Living Paper > Paper Game Lifecycle.

Myth Engine Documentation