Skip to content

Op Create Dialog improvement and Index ordering#102

Merged
function-store merged 10 commits into
mainfrom
dev
May 9, 2026
Merged

Op Create Dialog improvement and Index ordering#102
function-store merged 10 commits into
mainfrom
dev

Conversation

@function-store
Copy link
Copy Markdown
Collaborator

@function-store function-store commented May 8, 2026

Family Tab Ordering

The Index parameter is absolute — it refers to a slot in the full OP Create
tab bar, which includes TD's built-in family tabs (COMP, TOP, CHOP, SOP, MAT, DAT).

Example

Assume TD has 6 built-in families at slots 0–5:

0 1 2 3 4 5
COMP TOP CHOP SOP MAT DAT

You install 4 custom families:

Family Index
MyFX 7
MyGen -1
MyIO -1
MyUtil -1

Result:

0 1 2 3 4 5 6 7 8 9
COMP TOP CHOP SOP MAT DAT MyGen MyFX MyIO MyUtil
  • The three -1 families are wildcards. They fill the first available slots after
    all built-ins (starting at 6), skipping slot 7 which is claimed by MyFX.
  • MyFX at Index=7 is pinned within the wildcard group — one wildcard before it,
    two after.

Rules

  • Explicit index: the family lands at that absolute slot. Multiple families
    sharing the same index are sorted alphabetically, all appearing before the
    built-in at that slot (if any).
  • Index = -1: auto-assigned. Wildcard families fill the first available slots
    after all built-ins, alphabetically, skipping any slot claimed by an
    explicit-index family.

Previous behavior (before this fix)

All Index=-1 families were assigned a sort position of 999999, meaning they
all raced to the very end. An explicit-index family like MyFX with Index=7
ended up first among custom families — because 7 < 999999 — even though the
intent was for it to sit in the middle of the group.

With the same 4 families the result was:

6 7 8 9
MyFX MyGen MyIO MyUtil

MyFX was placed before any wildcard family regardless of its requested slot,
making explicit ordering within the custom group impossible.

…ion bump

Custom family Index is now absolute, allowing insertion between built-in families.
Families with Index=-1 fill remaining slots alphabetically after all built-ins,
! skipping any positions claimed by explicitly-indexed families !
@function-store function-store requested a review from dotsimulate May 8, 2026 04:56
@function-store function-store merged commit 5e1cef2 into main May 9, 2026
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