Epic: Trie-based Command Dispatch Router #98
Labels
No labels
Blocked
Duplicate
MoSCoW/Could Have
MoSCoW/Must Have
MoSCoW/Should Have
Points/1
Points/13
Points/2
Points/21
Points/3
Points/5
Points/8
Priority/Backlog
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
State/Completed
State/In progress
State/In review
State/Paused
State/Unverified
State/Verified
State/Wont Do
Type/Bug
Type/Epic
Type/Feature
Type/Legendary
Type/Task
Type/Testing
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Reference: aethyr/Aethyr#98
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Metadata
feat(dispatch): implement trie-based command routerfeature/command-routerBackground and Context
The specification describes a
CommandRouterbacked by a trie data structure forO(k) command lookup. Each
CommandActionsubclass self-registers via aregister_commandclass macro. The router supports exact match, prefix match,and regex fallback for pattern-based commands.
Expected Behavior
Commands are registered at load time and dispatched in O(k) where k is the command
length. Ambiguous prefixes are detected and reported. Admin commands use a
/prefix.Regex fallback handles pattern-based commands (emotes, etc.).
Acceptance Criteria
TrieNodedata structure with insertion and longest-prefix lookupRouteEntrydata model with command class, priority, and metadataCommandRouter.registerAPI for static registrationCommandRouter.dispatch(player, input)as the single dispatch entry pointregister_commandclass macroSubtasks
Definition of Done
This Epic is complete when all child issues are closed and all acceptance criteria
are satisfied.