Repository navigation
Rainbow nesting brackets and a cast-structure panel on Noita's wand UI: see at a glance which spells fire together each cast, and when a wand wraps.
Install (no Steam needed)
- Download
spell_bracket_visualizer-v1.4.0.zipbelow. - Extract it into your Noita
modsfolder — the one next tonoita.exe(create it if it isn't there). You should end up withNoita/mods/spell_bracket_visualizer/init.lua. - Launch Noita → Mods → accept the modding warning → tick Spell Bracket Visualizer → start or continue a run.
The folder must be named exactly spell_bracket_visualizer — the mod loads its own files by that path. Use the zip below, not the green "Source code (zip)" link, which extracts as spell_bracket_visualizer-1.4.0 and won't load.
The zip holds only the files the game actually loads (plus the license), and INSTALL.txt inside it has the long-form walkthrough, a settings rundown, and troubleshooting.
Steam users: subscribe on the Workshop instead.
What's new in 1.4.0
This release came out of a Workshop thread where several people pointed out that the mod was guessing at Noita's draw rules instead of running them, and that the guesses were wrong on a number of wands. They were right. The mod's test suite now pulls the game's own gun.lua and gun_actions.lua out of data.wak and runs the real cast code alongside the mod's simulator, comparing what each one removes from the deck, wand by wand. Every fix below was found or confirmed that way. Nothing hooks the live gun system while you're casting — this is a test harness, not a runtime change.
-
Brackets now admit when they don't know. Every spell carries a confidence rating. A wand holding something the mod can't follow exactly — a Greek letter spell, a Requirement spell, a random draw, an unknown modded spell — draws no slot brackets at all, shows a small
? uncertaintag in its header, and names the spells responsible in the panel. Drawing a confident bracket around a structure the game won't honour is the thing this update is most concerned with not doing. There's a setting to draw them anyway if you'd rather see the approximation. -
What a bracket means is now written down. A bracket encloses exactly the spells the game removed from the wand's deck while casting the bracket's first spell. That sounds obvious, but four different readings of "belongs to this spell" all agree on simple wands and split apart on Greeks, triggers and divides — so the mod commits to one and says which. It's in the README, the design doc and the Workshop description.
-
Modded spells get their real types. The mod had no idea what other mods' spells were and defaulted them to projectiles, which is why a single cast could render as several on a modded wand. It now reads the game's live spell table, which includes everything other mods appended, so modded modifiers and multicasts group correctly. How many cards a modded spell draws still isn't known, so those wands are marked uncertain rather than guessed at.
-
Add Trigger, Add Timer and Add Death Trigger group correctly. They don't take the next card as the payload. They scan forward over any modifiers, consume that whole run plus the projectile, and the payload size comes from the projectile itself.
Add Trigger, Damage Plus, Spark Bolt, Bombwas drawing as two casts. It's one. -
Greek spells no longer swallow the spell after them. Alpha, Gamma and Tau were drawn as merging into the next spell's cast. They don't: they fire as their own cast. The knock-on was worse than one wrong bracket — every cast boundary after a Greek sat one spell too far down the wand, and a wand ending in a Greek got an orange wraps to front tag for a wrap that never happens.
Spark Bolt, Alphawas shown as one wrapping cast; it is two casts and no wrap. Underneath, their draw call is commented out in the game's source and the script that builds the mod's spell table was reading the commented-out line, so this has been wrong in every release so far. Random Modifier had the opposite problem and now chains, since it runs a random modifier and nearly all of them draw a card. -
Spells with 0 charges behave the way the game treats them. A depleted spell is skipped and the next one drawn in its place — but if the deck runs out during that retry, the draw is simply lost and the wand does not wrap. The old version drew a wrap there. The "Greek Wands: Keep Depleted Spells" option is no longer needed and does nothing; it will be removed next release.
-
Reset brackets the rest of the wand, because that is exactly what it removes, and the panel says it restored the deck rather than reporting a plain wrap.
-
Each cast shows what it costs. Per-cast mana is summed and compared against the wand's maximum, and a cast that can never afford itself is highlighted. The mod doesn't try to guess your current mana pool, which moves while you play — this is the always-true version of the warning.
-
Divide By is honest about where it breaks. In front of a plain projectile the mod's model matches the engine, so those wands keep their brackets. In front of a multicast, a trigger or a modifier it doesn't — the game re-invokes the divided spell and draws fresh cards each time — so those wands hide their brackets until the full model lands next release.
If you hit a wand whose brackets don't match what it actually does, please open an issue with the spell list (or a screenshot) — every confirmed mismatch so far has been fixable, and this update exists because people reported them.