Skip to content

Advanced parenthesis patterns (and they're Actions now) - #1103

Open
Robotgiggle wants to merge 13 commits into
mainfrom
big-parens-2
Open

Advanced parenthesis patterns (and they're Actions now)#1103
Robotgiggle wants to merge 13 commits into
mainfrom
big-parens-2

Conversation

@Robotgiggle

@Robotgiggle Robotgiggle commented Jun 6, 2026

Copy link
Copy Markdown
Member

Adds Interjection, Meditation, and Recollection to allow more advanced pattern-list building.

  • Interjection (used while introspecting) reads from the offhand and inserts the resulting iota into the in-progress list.
  • Meditation pops an integer and opens a list to the specified parenthesis depth.
  • Recollection closes a list from any parenthesis depth, pushing the depth and the list.

Meditation is treated as a normal pattern when inside existing parentheses because there's no way to determine how many new layers it should open. This is kind of a janky solution, but the only alternative would be to prevent using it inside parens altogether.

Recollection pushes the list on top of the depth for convenience, since you're much more likely to need the list as an argument for something (saving it to a focus, adding something with Integration Distillation, etc) than the number.

image image

@Robotgiggle

Copy link
Copy Markdown
Member Author

FYI, I'm not entirely satisfied with the patterns for Meditation and Recollection - they're kind of awkward to fit into the grid when you have a bunch of other stuff. Recommendations would be appreciated, though make sure to avoid conflicting with stuff like Open/Close Transmit from Hexal.

This was referenced Jun 8, 2026

@object-Object object-Object left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a neat feature! The code is coming along, but I think the Evanition behaviour might need a bit more thought; also left some comments on smaller cleanup opportunities

Comment thread Common/src/main/java/at/petrak/hexcasting/api/casting/eval/vm/FrameEvaluate.kt Outdated
Comment thread Common/src/main/java/at/petrak/hexcasting/api/casting/iota/PatternIota.java Outdated
Comment thread Common/src/main/java/at/petrak/hexcasting/api/casting/iota/PatternIota.java Outdated
Comment thread Common/src/main/java/at/petrak/hexcasting/client/gui/GuiSpellcasting.kt Outdated
Comment thread Common/src/main/java/at/petrak/hexcasting/client/gui/GuiSpellcasting.kt Outdated
@github-project-automation github-project-automation Bot moved this from 📋 Backlog to 🏗 In progress in Hex Casting Jun 12, 2026
@IridescentVoid IridescentVoid added the enhancement New feature or request label Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.20 enhancement New feature or request

Projects

Status: 🏗 In progress

Development

Successfully merging this pull request may close these issues.

4 participants