Essentially a graphical text editor for hexes. Allows inserting, moving, and deleting iotas from lists; copying/pasting iotas to/from a secondary focus; drawing patterns with a staff at a specific position in a list; and copying hexes to your clipboard in .hexpattern format.
Amazing textures created by SamsTheNerd.
New patterns:
Debug Locator's Reflection: Pushes the index of the next iota to be evaluated.
Cognitohazard Reflection: Pushes a cognitohazard iota to the stack, which halts debugging immediately if detected in a hex to be evaluated by a debugger.
Documented the ability to change debugger step modes ingame.
Many internal refactors.
Fixed
Fixed a bug where stepping the debug session would overwrite the displayed stack/ravenmind of an open non-Evaluator staff grid (#6).
This was only a visual bug - no actual data was modified, and it would reset if you reopened the staff.
Server config is now synced to clients on join.
Fixed some potential networking-related race conditions.
Fixed an internal exception when FrameEvaluate contains an empty list.
Fixed a bug where Introspection, Retrospection, Consideration, and Evanition would be displayed incorrectly if drawn in non-default orientations.
Notes
This update also contains a new undocumented block (Focus Holder). Please don't use this for anything important, as it'll probably be moved to a separate mod at some point.
I likely will not be backporting this update to 1.19.2, due to the many GUI-related changes between that version and this one.
The Debugger can now be used without VSCode being connected! The next evaluated iota is displayed above the hotbar each time the debugger stops (configurable).
A message is now displayed if attempting to use an Evaluator when not debugging, instead of silently failing.
Evaluators are now prevented from evaluating patterns after an Uncaught Mishap breakpoint is hit.
Fixed
Evaluators were unable to cast any spells requiring media.
Evaluator mishaps were unintentionally caught by the Uncaught Mishaps option, and did not apply side effects to the stack.
The Debugger can now be used without VSCode being connected! The next evaluated iota is displayed above the hotbar each time the debugger stops (configurable).
A message is now displayed if attempting to use an Evaluator when not debugging, instead of silently failing.
Evaluators are now prevented from evaluating patterns after an Uncaught Mishap breakpoint is hit.
Fixed
Evaluators were unable to cast any spells requiring media.
When debugging, spells requiring media would fail if a Debugger was not in the hand that the debug session was started with.
Evaluator mishaps were unintentionally caught by the Uncaught Mishaps option, and did not apply side effects to the stack.
A staff that allows evaluating expressions in an ongoing debug session. The stack and ravenmind update to reflect the state of the Debugger whenever it changes.
When the Evaluator's grid is cleared, the Debugger is reset to the state it was in just before the first pattern was drawn in the Evaluator.
New config options:
Open Debug Port: Whether or not a port should be opened. If false, the Debugger effectively becomes useless.
Smart Debugger Sneak-Scroll: If a hex is not currently being debugged and a Debugger is in your main hand, prefer shift-scrolling whatever item is in your offhand (eg. a spellbook).
This was already a feature; it's just configurable now.
Changed
Moved some relatively unimportant log messages from INFO to DEBUG.
A staff that allows evaluating expressions in an ongoing debug session. The stack and ravenmind update to reflect the state of the Debugger whenever it changes.
When the Evaluator's grid is cleared, the Debugger is reset to the state it was in just before the first pattern was drawn in the Evaluator.
New config options:
Open Debug Port: Whether or not a port should be opened. If false, the Debugger effectively becomes useless.
Smart Debugger Sneak-Scroll: If a hex is not currently being debugged and a Debugger is in your main hand, prefer shift-scrolling whatever item is in your offhand (eg. a spellbook).
This was already a feature; it's just configurable now.
Changed
Moved some relatively unimportant log messages from INFO to DEBUG.