Skip to content

Conversation

@Eve-ning
Copy link
Owner

Major Changes

We found difficulty in doing some resolution (MRO) in our design with these many interlocking classes, thus it's best that if we can thin down the number of classes. The intermediatery format of ComplexUnaligned wasn't great and felt like code-smell, thus we're changing it up for a simpler less heavy design by using a sentinel value to determine alignmentness.

As a result, since we don't have anymore separation of Unaligned/Aligned class, we also drop IsSequenceable and move it towards IsAligned, we might change the name later

Also combine IsAligned with IsSequenceable.

We do this to reduce the number of classes we need to consider, there was some annoyance with regards to complex MROs with this many classes and interfaces interlocking each other. The easier design we pitch here is to have alignment be decided by a nully sentinel value of NoAlignment instead of having a separate class.
@Eve-ning Eve-ning merged commit d68f735 into main Jan 18, 2026
1 check passed
@Eve-ning Eve-ning deleted the combine-unaligned-complex-and-complex branch January 18, 2026 07:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants