TableFlux Plugin System Overview
TableFlux features are organized as plugin-owned modules so gameplay systems can be added or revised without coupling unrelated features.
#Core Concepts
- A plugin owns its scripts, scenes, and tests.
- Shared helpers are only promoted when used by multiple plugins.
- Network behavior should be explicit about authority and synchronization.
- Documentation and tests should be updated before behavior changes are shipped.
#Plugin Structure
Use these repository conventions:
scripts/gdscript/Plugins/<PluginName>/<FeatureName>/scenes/ui/plugins/<plugin-name>/<feature-name>/test/scripts/gdscript/Plugins/<PluginName>/
#Behavioral Contract
When changing plugin behavior:
- Update relevant requirement documentation first.
- Add or update regression tests.
- Implement code changes.
- Run focused tests, then broader validation when needed.
#Integration Checklist
- Register plugin entry points in shared registries only when needed.
- Keep plugin boundaries clear; avoid leaking internal nodes into global systems.
- Persist metadata needed for multiplayer authority and selection policies.
- Confirm content is compatible with package and asset loading rules.
