Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request] A pattern that prints the names of spells in a list #171

Open
object-Object opened this issue Jul 16, 2022 · 17 comments
Open
Labels
enhancement New feature or request

Comments

@object-Object
Copy link
Member

object-Object commented Jul 16, 2022

Right now if you have a long hex stored as a list in something like a focus, the only way (as far as I know) to see what patterns it consists of is to look up each one individually with a pattern renderer, since the hover text shows the internal representation (eg. EAST aadaa). A pattern that takes a list of patterns as input and prints the names (eg. Gemini Decomposition) would be very useful for debugging long hexes.
Ideally I'm looking for something like the output of this script, but with the names that are actually in the book.

@object-Object
Copy link
Member Author

I thought of a better way to word this. I'm looking for a pattern like Reveal that displays pattern names instead of angle signatures.

@gamma-delta
Copy link
Collaborator

Hang on, I can't believe I never thought of this oh my god. Just have the text output of patterns be the name of the action if it matches. auughh.

hang on I'm gonna implement this

@yrsegal
Copy link
Contributor

yrsegal commented Jul 27, 2022

oh my god
how did we NEVER THINK OF THAT

@gamma-delta
Copy link
Collaborator

CAUSE I PROBABLY ALREADY DID AND REALIZED WE CAN'T AUGHHHHHHHHGHSD

because the client doesn't KNOW the GODDAMN PATTERN LOOKUP

@yrsegal
Copy link
Contributor

yrsegal commented Jul 27, 2022

though make sure that any Great Pattern walk matches? just so you can't brute force it that way. Maybe it goes "Greater Teleport?" instead of "Mind's Reflection"

@yrsegal
Copy link
Contributor

yrsegal commented Jul 27, 2022

if you do that it doesn't matter that the client doesn't know the lookup

@yrsegal
Copy link
Contributor

yrsegal commented Jul 27, 2022

Also, if we do this, we should add dynamic names for things like numeric reflection and bookkeeper's gambit

i.e. "Bookkeeper's Gambit v-v-vvvv", "Numeric Reflection 5", etc

@yrsegal
Copy link
Contributor

yrsegal commented Jul 27, 2022

this is especially fine because equality checks already ignore start direction, so showing just the name doesn't actually change much

@gamma-delta
Copy link
Collaborator

The problem is I don't know how to check if two patterns look the same sans stroke order; that's the same as checking if two graphs are isomorphic. And no one knows how to do that!

A quick wikipedia search tells me that not only is this problem computationally really hard, we actually don't know how computationally hard it is! The fastest known algo is 2^O(sqrt(n log n))

Apparently there exists a faster algorithm for planar graphs but my eyes start glazing over when I go deep into Math Wikipedia so we're gonna need to call in @Alwinfy on this one

@yrsegal
Copy link
Contributor

yrsegal commented Jul 27, 2022

I mean there's always the copout of checking whether the set of line segments is the same

@yrsegal
Copy link
Contributor

yrsegal commented Jul 27, 2022

but I am Not A Math Person so alwinfy probably has a better answer

@yrsegal
Copy link
Contributor

yrsegal commented Jul 27, 2022

Either way you could probably implement the rest of it and leave a stub for that stuff? the dynamic name stuff definitely would need some doing

@gamma-delta
Copy link
Collaborator

Alwinfy has a solution but I'm too tired right now to understand it; I'll look with fresh eyes in the morning.

@yrsegal
Copy link
Contributor

yrsegal commented Jul 27, 2022

Alwinfy has a solution but I'm too tired right now to understand it; I'll look with fresh eyes in the morning.

You could put this in just about any conversation with alwinfy and it probably wouldn't look out of place lmfao

Eldritch math friend

@gchpaco
Copy link

gchpaco commented Jul 28, 2022

For what it's worth, object and my script doesn't even attempt great spell naming; they come out as gobbledigook. They are not usually relevant to control flow, etc, s the importance of having proper names isn't as serious as it is with the regular patterns.

@yrsegal yrsegal added the enhancement New feature or request label Oct 1, 2022
@Hate9
Copy link

Hate9 commented Mar 22, 2023

personally, I think it'd probably be easier and better to just display the shapes, instead of the names.

@object-Object
Copy link
Member Author

HexGloop adds inline pattern rendering, but I think hex should still show the names.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: 📋 Backlog
Development

No branches or pull requests

5 participants