The map does the work.
Read the Wiki for guides, API docs, and tips.
Attach a program to a Region and let the scene run it: a token steps through a doorway, a player clicks a lever, a trap arms itself. Glyph replaces Active Tile Triggers with something built for Foundry's own Region system - no eval(), no jQuery, no tile geometry to fight.
Visual Program Editor: Build trigger logic as a node tree instead of a script: sequences, if/else branches, loops over tokens in the Region, sub-program calls, and delays. Every field accepts {{path}} interpolation against the triggering event, so a chat message can reference {{token.name}} and a formula can reference {{token.actor}} directly.
Events Core Doesn't Fire: Beyond core Region events (enter, exit, move, turn start/end), Glyph adds hover, click, right-click, double-click, door opened/closed/locked/unlocked/revealed, world time changes, and darkness level changes. Interaction events relay correctly in multiplayer, so a player's click on a Region resolves through the primary GM's client.
Actions Across Tokens, Tiles, Scenes, Audio, and Messaging: Move, rotate, or create tokens, toggle conditions, teleport, change tile images or occlusion, play or stop sounds through a tracked playlist, post chat cards, show dialogs with custom buttons, open journals or actor sheets. Persistent per-behavior variables let a Region remember state between triggers: the Toggle Switch recipe uses one to track whether a tile is currently visible.
System-Aware Actions: Hurt/Heal accepts a dice formula (not just a flat number), an optional damage type pulled straight from the active system's own list, and can post the roll to chat as a damage card. Ability Test and Skill Test run a real check through the system's own roll pipeline. Currently wired for D&D 5e and Pathfinder 2e, using the same adapter pattern for whatever system comes next.
Import From Monk's Active Tile Triggers: Right-click a scene with MATT tiles and Glyph converts their actions into equivalent program trees automatically, flagging anything it can't translate for manual review instead of silently dropping it.
- Recipe Library: 20+ ready-to-use recipes across movement, lighting, hazards, mechanisms, and social encounters - teleporters, stairways, light switches, traps, ambushes, merchant stalls. Applying one creates every Region behavior it needs in a single click.
- Sequence, Branch & Loop Nodes:
if/else,forEachover tokens in the Region,goto/landingfor jumping within a program,callfor invoking another trigger's handler, andwaitfor timed delays. - Optional Module Integrations: Actions for Calendaria (advance time, create calendar notes), Bondsmith (reputation, faction membership), Peddler, Minstrel, Hero Mancer, Spell Book, Mindful Encounters, Tenacity, Don't Forget, Token Light Condition, FXMaster, and Tagger appear once each module is active.
- A Public API:
GLYPH.registerAction()lets any module register its own node type, namespaced under its own module id, so third-party actions show up in the same picker as Glyph's built-ins.
Full API at GLYPH for macros and module integration.
GLYPH.registerAction('my-module', 'sayHello', {
execute: async (node, context) => ChatMessage.create({ content: `Hello, ${node.name}!` })
});
const isAtlasActive = GLYPH.isModuleActive('3ds-atlas');
await GLYPH.runTrigger(behaviorUuid, 'manual');Requires 3DS:ATLAS, the shared settings, theming, and troubleshooting layer for 3 Death Saves modules. Glyph's UI follows whatever theme you've set there.
Find Glyph in Foundry's Module Browser, or paste this manifest URL:
https://github.com/Sayshal/glyph/releases/latest/download/module.json
Questions? Ideas? Join us on Discord or check the Wiki.
MIT - see LICENSE.





