extended-graph-interactive-type
Installation
SKILL.md
Adding a New Interactive Filter Type
Critical
- Barrel exports only: Every internal import MUST use
"../internal"or"../../internal". Never import from specific files withinsrc/. After creating any new file, add itsexport *line tosrc/internal.ts. - Three categories of interactive: Node-level (like tags, properties), link-level (like
LINK_KEY), and folder-level (likeFOLDER_KEY). TheInteractiveEventsDispatcherroutes events differently based on whether the key equalsLINK_KEY,FOLDER_KEY, or something else (node interactive). Determine your category before starting. - Keys are string constants: Each interactive type has a constant key (e.g.,
TAG_KEY = "tag",LINK_KEY = "link",FOLDER_KEY = "folder") defined insrc/globalVariables.ts. The key is used throughout as a dictionary key ininteractiveSettings,interactiveManagers, andtypesMap. - Feature flag required: The
Featuretype insrc/types/restrictedStrings.tsgates which interactives are available. Your new type needs a feature flag entry.
Instructions
Step 1: Define the Key Constant
Add a new constant to src/globalVariables.ts:
export const MY_KEY: string = "mytype";
INVALID_KEYS[MY_KEY] = [];