| Latest version | 1.1.8 |
|---|---|
| Minimum Core | |
| Compatible Core | |
| Last updated | 7 hours ago |
| Created | 7 hours ago |
| Authors | |
| Languages |
English Português (Brasil) |
| Systems | All systems |
| Project source | Project URL |
Canvas Tile Navigation (CTN) is a Foundry VTT V14 module for building visual Scene-to-Scene navigation directly on the Canvas.
Its core idea is simple:
Preparation first, navigation instantly during play.
Drag Scenes onto maps, turn Tiles into navigation links and arrival areas, inspect route health, and optionally use lightweight Trigger Tiles for traps, hazards, falls, portals, and other spatial interactions.
CTN keeps a system-agnostic core whenever Foundry already provides everything required. When D&D5e is available, CTN uses targeted system adapters for features where the game system can do a better job, such as Group Actor party membership and native typed damage application.
Install the module using the Foundry VTT module manifest or the release ZIP.
After enabling Canvas Tile Navigation in a World, configure global defaults under Game Settings → Configure Settings → Module Settings.
CTN is developed for Foundry VTT V14.
The navigation and Trigger core does not require D&D5e. Enhanced D&D5e integration is used automatically when the active game system is D&D5e.
A Navigation Link is a native Foundry Tile carrying CTN navigation data.
The normal creation workflow is:
Existing Tiles keep the values copied into them when they were created. Changing global defaults does not silently rewrite existing navigation Tiles.
CTN normally owns Scene drops used to create Navigation Tiles.
To bypass CTN, start the drag normally and hold Shift before releasing the drop. Foundry or another compatible module can then handle the drop instead.
Navigation Tiles can use:
The built-in navigation icon set includes:
Icon tint can be configured globally and then adjusted using normal Tile appearance controls.
The global navigation gesture can be configured as:
The default is double left click.
CTN can represent a normal reciprocal route:
Scene A ↔ Scene B
When two links form an unambiguous pair, CTN can associate them as the departure and arrival locations for that route.
Route names and labels follow the current destination Scene name dynamically unless a custom label is configured.
A One-Way Arrival is an insertion location rather than a clickable navigation link.
Typical uses include:
One Arrival may receive multiple incoming CTN sources. For example, the same Arrival can be used by both a Navigation Link and a Trigger Tile.
The physical footprint of an Arrival Tile is the authority for Token placement.
If the GM draws a long corridor-shaped Arrival, CTN fills that corridor. If the Arrival is a square, CTN fills the square.
CTN does not force a fixed square formation.
When possible, Tokens are distributed into available positions inside the Arrival footprint. If there are more Tokens than practical positions, CTN stacks the overflow inside the allowed Arrival Area rather than spilling Tokens outside it.
CTN does not perform Wall pathfinding for Arrival placement.
The GM's normal configured navigation gesture performs a collective commit.
CTN:
The transition lifecycle is intentionally coordinated with Foundry's Scene loading rather than relying on a fixed delay.
Shift + the configured navigation gesture is GM preview.
Preview:
When a Navigation Tile is available to players, a player navigation action is individual.
A player never activates the Scene for the whole table and never pulls the full party.
Player interaction requires the player's relevant position to be on or adjacent to the Navigation Tile. In D&D5e Group-token Scenes, the Group Token can represent the player's position when the player's assigned character belongs to that Group.
CTN uses a D&D5e-specific party provider when D&D5e is the active game system.
When an applicable D&D5e Group Actor exists, Group membership is the authority for collective GM travel.
User.character does not decide which Actors physically travel.
This means a GM-only test world still transfers Group members even when no player Users exist.
CTN prefers:
If more than one Group is plausible and CTN cannot resolve the party safely, it warns the GM instead of silently guessing.
If no applicable Group exists, CTN treats D&D5e character Actors with Tokens in the source Scene as the travelling party.
NPCs and monsters are not pulled into that fallback roster.
For each travelling Actor:
This avoids unnecessary duplicates when a character is already present in the destination.
If the destination Scene intentionally represents the party with a relevant Group Token, CTN uses that representation instead of materializing all individual character Tokens.
CTN does not automatically create or delete Group Tokens.
Open Check Routes from the Tiles controls or the module settings menu.
The Route Manager identifies navigation structure such as:
An Arrival can display multiple Incoming Sources, including Navigation Links and Trigger Tiles.
Trigger Tiles are CTN's lightweight spatial interaction layer.
They are intentionally narrower than a generic automation engine.
The intended scope is:
enter area
→ optional movement pause
→ optional saving throw
→ optional damage
→ optional Scene transition
→ optional reveal/state change
CTN does not aim to become a general action-chain, macro, lighting, sound, NPC spawning, or scripting platform.
Use Create Trigger Tile from the Tiles controls, then click the Canvas to place it.
The Trigger is a normal Foundry Tile. Use native Tile appearance controls to choose its image, size, opacity, tint, and placement.
A Trigger can begin hidden from players and later reveal according to its configuration.
CTN currently uses these persistent Trigger states:
ARMEDTRIGGEREDREVEALEDACTIVE_HAZARDDISABLEDState is stored on the Tile and survives normal reloads.
A Trigger can allow movement to continue or pause the Token when the area is entered.
When paused, the GM receives a Trigger Resolution card.
The Release Token button has one responsibility only:
remove the movement lock for that Token.
Release Token does not reveal, hide, re-arm, disable, activate a hazard, change Save state, execute post-trigger behavior, or otherwise modify the Trigger Tile.
Trigger state and Token movement lock are deliberately separate concerns.
Saving Throw is a stateful Trigger capability.
Each Trigger has:
ON or OFFON or OFFThe configured initial state describes how the Trigger starts or re-arms. The current state can be changed by Trigger behavior.
When Save is ON in D&D5e, the GM-only Trigger card provides:
CTN does not roll or interpret the player's saving throw. The player may roll from the normal sheet, physical dice, or any other preferred workflow; the GM records the result using PASS or NOT PASS.
When Save is OFF, PASS and NOT PASS are skipped and the Trigger proceeds directly to the configured consequence.
A Trigger can contain multiple damage components, for example:
2d6 Piercing
1d6 Poison
Damage conditions include:
When Save is currently OFF, save-dependent damage conditions collapse into direct damage for that occurrence. This allows an activated hazard to continue dealing damage without repeatedly asking for a Save.
When D&D5e is active, CTN uses the D&D5e Actor damage pipeline rather than reproducing D&D damage rules itself.
The flow is:
Trigger determines who is hit and when damage is eligible
→ GM presses Roll Damage on the Trigger Resolution card
→ CTN rolls the configured typed damage publicly
→ CTN passes the typed components to D&D5e
→ D&D5e applies the damage to the triggering Actor
Damage components remain separated by type, so D&D5e can apply its own resistance, immunity, vulnerability, damage modification, temporary HP, damage threshold, and related Actor damage rules.
The damage roll messages are public. The administrative Trigger Resolution card remains GM-only.
In D&D5e, eligible damage is never rolled merely because a Trigger result was reached or a Token entered an active hazard. The GM starts damage explicitly with Roll Damage. Once pressed, CTN rolls publicly and D&D5e applies the typed damage natively to the triggering Actor; no manual target selection is required.
When no dedicated game-system adapter is available, CTN keeps its generic damage controls.
The generic card can roll configured formulas and offers manual multiplier choices:
Game-system-specific concepts such as resistance and immunity are not reimplemented by CTN's generic layer.
A Trigger can be configured to Become Persistent Damage Area.
A common trap workflow is:
Initial trap
Save State = ON
→ character enters
→ GM resolves PASS / NOT PASS
→ Trigger becomes ACTIVE_HAZARD
→ Save State changes to OFF
Subsequent entries then become:
enter ACTIVE_HAZARD
→ optional movement pause
→ Roll Damage (GM)
→ native D&D5e application or generic CTN damage flow
→ Release Token
No repeated saving throw is required when Current Save State is OFF.
Under the Damage section, Persistent Hazard Save State controls whether activating the persistent hazard automatically turns Save OFF or preserves its current state.
This state transition is intentionally explicit rather than hard-coded to the ACTIVE_HAZARD state, leaving room for future Trigger interactions to turn capabilities on or off.
Tile visibility is controlled by Reveal Tile, independently from movement release and post-trigger state.
Available reveal conditions include:
Post-trigger behavior does not use Release Token as a shortcut for visibility changes.
For example:
Reveal: On Failed Save
Result: PASS
→ Tile stays hidden
→ Release Token
→ Tile stays hidden
A Trigger configured to re-arm when empty checks actual Scene Token occupancy.
When the last Token leaves the area:
ARMED;Re-arming is driven by occupancy, not by the Release Token button.
A Trigger can move the triggering Actor to another Scene and Arrival.
Trigger transitions are individual. A character falling through a pit does not automatically transfer the entire party.
CTN uses the same safe Scene-transfer lifecycle used by navigation, and a Token materialized by CTN can be evaluated against Trigger Tiles at its final destination.
This allows chains such as:
hidden pit in Scene A
→ character falls to Scene B Arrival
→ Arrival overlaps spikes
→ spikes create a new, independent Trigger occurrence
CTN suppresses Trigger evaluation during its own materialization step and explicitly evaluates the final position afterward to avoid accidental mid-create firing.
CTN currently exposes world defaults for:
Creation defaults are copied into new Tiles. Existing Tiles remain individually editable.
CTN is designed around native Foundry Scene, Tile, Token, Canvas, User, Hook, and Socket behavior.
It does not require Monk's Active Tile Triggers and does not attempt to reproduce MATT's general automation model.
The Scene-drop Shift bypass exists specifically so CTN can coexist with other modules and normal Foundry workflows.
CTN deliberately focuses on spatial navigation and lightweight spatial triggers.
It is not intended to become:
When a game system already has a better rules implementation, CTN should prefer using that implementation through a small adapter instead of duplicating it.
To install this package, open your Foundry Setup screen and navigate to your Module tab and click the Install Module button.
From there, you can either search for the package unique name: canvas-tile-navigation or copy its manifest URL:
And paste it to the input box at the bottom of your window.

You can install this package directly to your Forge account.