TableFlux Plugin Scaffold Templates (Generated)
This file is generated deterministically from [Plugin:*] code tags. Do not hand-edit this file. Update source tags and re-run tools/generate-plugin-interface-docs.ps1.
#Summary
- Generated (UTC): 2026-05-30T15:04:02.6003767Z
- Subsystems with tags: 8
- Required checklist items: 55
#How To Use
- Choose your subsystem section.
- Complete every Required Contracts, Entry Points, and Manifest/Folder item.
- Add required runtime call sites from Required Invocations.
- Use Optional Extension Points only when your plugin needs those capabilities.
#character_generation
#Required Entry Points
- Default package values for character generation plugin packs. (ID: character_generation.registry.defaults, Owner: CharacterGenerationRegistry, Kind: registry, Source: scripts/gdscript/Plugins/CharacterGeneration/Shared/CharacterGenerationRegistry.gd:8)
- Enumerates active character generation package configurations. (ID: character_generation.registry.get_package_configs, Owner: CharacterGenerationRegistry, Kind: method, Source: scripts/gdscript/Plugins/CharacterGeneration/Shared/CharacterGenerationRegistry.gd:21)
- Registers character generation package config into PackageConfigRegistry. (ID: character_generation.registry.register_runtime_config, Owner: CharacterGenerationRegistry, Kind: method, Source: scripts/gdscript/Plugins/CharacterGeneration/Shared/CharacterGenerationRegistry.gd:16)
#Deterministic Starter Template
subsystem: character_generation
required_contract_ids:
- (none)
required_entrypoint_ids:
- character_generation.registry.defaults
- character_generation.registry.get_package_configs
- character_generation.registry.register_runtime_config
required_invoke_ids:
- (none)
required_manifest_ids:
- (none)
required_folder_ids:
- (none)
optional_extension_ids:
- (none)
#journals
#Required Contracts
- Evaluates visibility policy for a journal entry. (ID: journals.access.can_view, Owner: JournalRegistry, Kind: method, Source: scripts/gdscript/Plugins/Rules/Shared/JournalRegistry.gd:65)
#Required Entry Points
- Journal package resolver and entry normalization registry. (ID: journals.registry.defaults, Owner: JournalRegistry, Kind: registry, Source: scripts/gdscript/Plugins/Rules/Shared/JournalRegistry.gd:5)
- Enumerates resolved journal package configs. (ID: journals.registry.get_package_configs, Owner: JournalRegistry, Kind: method, Source: scripts/gdscript/Plugins/Rules/Shared/JournalRegistry.gd:13)
#Required Invocations
- Returns normalized journal entries for a package. (ID: journals.registry.get_entries, Owner: JournalRegistry, Kind: method, Source: scripts/gdscript/Plugins/Rules/Shared/JournalRegistry.gd:22)
#Deterministic Starter Template
subsystem: journals
required_contract_ids:
- journals.access.can_view
required_entrypoint_ids:
- journals.registry.defaults
- journals.registry.get_package_configs
required_invoke_ids:
- journals.registry.get_entries
required_manifest_ids:
- (none)
required_folder_ids:
- (none)
optional_extension_ids:
- (none)
#minigames
#Required Contracts
- Shared UI host interface provided to minigame plugins. (ID: minigame.interface.canvas, Owner: IMinigameCanvas, Kind: interface, Source: scripts/gdscript/IMinigameCanvas.gd:4)
- Core interface every minigame plugin must implement. (ID: minigame.interface.core, Owner: IMinigame, Kind: interface, Source: scripts/gdscript/IMinigame.gd:3)
- Apply authoritative state snapshots from host/server. (ID: minigame.method.apply_state_sync, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:86)
- Initialize internal state after script instance creation. (ID: minigame.method.initialize, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:20)
- Track a participant joining and map paddle index to peer. (ID: minigame.method.on_player_joined, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:40)
- Handle participant departure and clean per-player state. (ID: minigame.method.on_player_left, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:46)
- Receive shared MinigameCanvas host for plugin UI. (ID: minigame.method.set_canvas, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:60)
- Receive MinigameManager bridge used for input/state RPC helper methods. (ID: minigame.method.set_manager, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:52)
- Apply continuous normalized input for one participant. (ID: minigame.method.set_paddle_position, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:80)
- Attach UI and begin runtime simulation for the active session. (ID: minigame.method.start, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:27)
- Release runtime nodes and reset state. (ID: minigame.method.stop, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:34)
#Required Entry Points
- Loads script_path as Script, creates instance, and wires manager/canvas hooks. (ID: minigame.manager.create_instance, Owner: MinigameManager, Kind: method, Source: scripts/gdscript/MinigameManager.gd:586)
- Invokes initialize and set_* wiring hooks on plugin instance when available. (ID: minigame.manager.initialize_instance, Owner: MinigameManager, Kind: method, Source: scripts/gdscript/MinigameManager.gd:603)
- Initial plugin loading path called on manager ready. (ID: minigame.manager.load_plugins, Owner: MinigameManager, Kind: method, Source: scripts/gdscript/MinigameManager.gd:163)
- Consumes MinigameRegistry definitions and registers factories/metadata. (ID: minigame.manager.register_from_registry, Owner: MinigameManager, Kind: method, Source: scripts/gdscript/MinigameManager.gd:516)
- Registers one minigame factory and metadata entry by game_id. (ID: minigame.manager.register_single, Owner: MinigameManager, Kind: method, Source: scripts/gdscript/MinigameManager.gd:556)
- Built-in minigame definitions merged with discovered packaged definitions. (ID: minigame.registry.builtin_definitions, Owner: MinigameRegistry, Kind: registry, Source: scripts/gdscript/Plugins/Minigames/Shared/MinigameRegistry.gd:4)
- Primary API to enumerate built-in and packaged minigame definitions. (ID: minigame.registry.get_definitions, Owner: MinigameRegistry, Kind: method, Source: scripts/gdscript/Plugins/Minigames/Shared/MinigameRegistry.gd:50)
#Required Invocations
- Primary container where plugin controls should be attached. (ID: minigame.canvas.get_root_container, Owner: IMinigameCanvas, Kind: method, Source: scripts/gdscript/IMinigameCanvas.gd:12)
- Call to launch minigame session with optional context and participant restrictions. (ID: minigame.manager.start_with_options, Owner: MinigameManager, Kind: method, Source: scripts/gdscript/MinigameManager.gd:216)
#Required Manifest Rules
- Manifest filename required for packaged minigame discovery. (ID: minigame.manifest.filename, Owner: MinigameRegistry, Kind: manifest, Source: scripts/gdscript/Plugins/Minigames/Shared/MinigameRegistry.gd:44)
- Required keys: game_id or package_id, display_name or package_name, script_path (ID: minigame.manifest.required_keys, Owner: MinigameRegistry, Kind: manifest, Source: scripts/gdscript/Plugins/Minigames/Shared/MinigameRegistry.gd:126)
#Required Folder Rules
- Recursive scan roots searched for minigame_package.json manifests. (ID: minigame.manifest.scan_roots, Owner: MinigameRegistry, Kind: path, Source: scripts/gdscript/Plugins/Minigames/Shared/MinigameRegistry.gd:46)
#Optional Extension Points
- [Contract] Optional interface for reliable discrete action handling. (ID: minigame.interface.action_receiver, Owner: IMinigameActionReceiver, Kind: interface, Source: scripts/gdscript/IMinigameActionReceiver.gd:3)
- [Contract] Process reliable action id plus integer payload. (ID: minigame.method.handle_player_action, Owner: IMinigameActionReceiver, Kind: method, Source: scripts/gdscript/IMinigameActionReceiver.gd:9)
- [Contract] Process reliable action id plus dictionary payload. (ID: minigame.method.handle_player_action_payload, Owner: IMinigameActionReceiver, Kind: method, Source: scripts/gdscript/IMinigameActionReceiver.gd:15)
- [Contract] Receive authoritative list of peers allowed to interact. (ID: minigame.method.set_allowed_peer_ids, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:74)
- [Contract] Receive launch payload for integrated rule-driven sessions. (ID: minigame.method.set_launch_context, Owner: IMinigame, Kind: method, Source: scripts/gdscript/IMinigame.gd:67)
- [Invoke] Remove plugin controls from shared host container. (ID: minigame.canvas.clear, Owner: IMinigameCanvas, Kind: method, Source: scripts/gdscript/IMinigameCanvas.gd:51)
- [Invoke] Helper scaling ratio to fit logical layout into active canvas. (ID: minigame.canvas.get_play_area_scale, Owner: IMinigameCanvas, Kind: method, Source: scripts/gdscript/IMinigameCanvas.gd:29)
- [Invoke] Usable area after title/chrome offsets. (ID: minigame.canvas.get_play_area_size, Owner: IMinigameCanvas, Kind: method, Source: scripts/gdscript/IMinigameCanvas.gd:23)
- [Invoke] Server-authoritative state sync broadcast API. (ID: minigame.manager.broadcast_state_sync, Owner: MinigameManager, Kind: method, Source: scripts/gdscript/MinigameManager.gd:504)
- [Invoke] Reliable action API plugins should trigger for discrete actions. (ID: minigame.manager.send_action, Owner: MinigameManager, Kind: method, Source: scripts/gdscript/MinigameManager.gd:397)
- [Invoke] Continuous input API plugins should trigger for movement updates. (ID: minigame.manager.send_paddle_input, Owner: MinigameManager, Kind: method, Source: scripts/gdscript/MinigameManager.gd:373)
#Deterministic Starter Template
subsystem: minigames
required_contract_ids:
- minigame.interface.canvas
- minigame.interface.core
- minigame.method.apply_state_sync
- minigame.method.initialize
- minigame.method.on_player_joined
- minigame.method.on_player_left
- minigame.method.set_canvas
- minigame.method.set_manager
- minigame.method.set_paddle_position
- minigame.method.start
- minigame.method.stop
required_entrypoint_ids:
- minigame.manager.create_instance
- minigame.manager.initialize_instance
- minigame.manager.load_plugins
- minigame.manager.register_from_registry
- minigame.manager.register_single
- minigame.registry.builtin_definitions
- minigame.registry.get_definitions
required_invoke_ids:
- minigame.canvas.get_root_container
- minigame.manager.start_with_options
required_manifest_ids:
- minigame.manifest.filename
- minigame.manifest.required_keys
required_folder_ids:
- minigame.manifest.scan_roots
optional_extension_ids:
- minigame.interface.action_receiver
- minigame.method.handle_player_action
- minigame.method.handle_player_action_payload
- minigame.method.set_allowed_peer_ids
- minigame.method.set_launch_context
- minigame.canvas.clear
- minigame.canvas.get_play_area_scale
- minigame.canvas.get_play_area_size
- minigame.manager.broadcast_state_sync
- minigame.manager.send_action
- minigame.manager.send_paddle_input
#packages
#Required Entry Points
- Fetches resolved package config by subsystem and package_id. (ID: package.registry.get_package_config, Owner: PackageConfigRegistry, Kind: method, Source: scripts/gdscript/PackageConfigRegistry.gd:116)
- Primary API to enumerate active package configs for a subsystem. (ID: package.registry.get_package_configs, Owner: PackageConfigRegistry, Kind: method, Source: scripts/gdscript/PackageConfigRegistry.gd:102)
- Registers runtime bundled package config for subsystem/package id. (ID: package.registry.register_runtime_config, Owner: PackageConfigRegistry, Kind: method, Source: scripts/gdscript/PackageConfigRegistry.gd:82)
- Known package subsystems used by plugin registries. (ID: package.registry.subsystems, Owner: PackageConfigRegistry, Kind: registry, Source: scripts/gdscript/PackageConfigRegistry.gd:15)
#Required Manifest Rules
- Subsystem-to-manifest filename mapping for package discovery. (ID: package.registry.manifest_filenames, Owner: PackageConfigRegistry, Kind: manifest, Source: scripts/gdscript/PackageConfigRegistry.gd:30)
#Required Folder Rules
- Search roots for bundled and user asset-pack package manifests. (ID: package.registry.search_roots, Owner: PackageConfigRegistry, Kind: path, Source: scripts/gdscript/PackageConfigRegistry.gd:18)
#Deterministic Starter Template
subsystem: packages
required_contract_ids:
- (none)
required_entrypoint_ids:
- package.registry.get_package_config
- package.registry.get_package_configs
- package.registry.register_runtime_config
- package.registry.subsystems
required_invoke_ids:
- (none)
required_manifest_ids:
- package.registry.manifest_filenames
required_folder_ids:
- package.registry.search_roots
optional_extension_ids:
- (none)
#roll_tables
#Required Entry Points
- Roll-table package subsystem resolver and draw constraints. (ID: roll_tables.registry.defaults, Owner: RollTableRegistry, Kind: registry, Source: scripts/gdscript/Plugins/Rules/Shared/RollTableRegistry.gd:7)
- Enumerates resolved roll-table package configs. (ID: roll_tables.registry.get_package_configs, Owner: RollTableRegistry, Kind: method, Source: scripts/gdscript/Plugins/Rules/Shared/RollTableRegistry.gd:15)
#Required Invocations
- Deterministic or random weighted table draw entry point. (ID: roll_tables.registry.draw_table, Owner: RollTableRegistry, Kind: method, Source: scripts/gdscript/Plugins/Rules/Shared/RollTableRegistry.gd:35)
- Resolves a normalized table definition by package and table id. (ID: roll_tables.registry.get_table, Owner: RollTableRegistry, Kind: method, Source: scripts/gdscript/Plugins/Rules/Shared/RollTableRegistry.gd:24)
#Deterministic Starter Template
subsystem: roll_tables
required_contract_ids:
- (none)
required_entrypoint_ids:
- roll_tables.registry.defaults
- roll_tables.registry.get_package_configs
required_invoke_ids:
- roll_tables.registry.draw_table
- roll_tables.registry.get_table
required_manifest_ids:
- (none)
required_folder_ids:
- (none)
optional_extension_ids:
- (none)
#rules
#Required Entry Points
- Feature identifiers package authors can implement via scene path declarations. (ID: rules.registry.feature_ids, Owner: RulesPackageRegistry, Kind: registry, Source: scripts/gdscript/Plugins/Rules/Shared/RulesPackageRegistry.gd:17)
- Enumerates resolved rules package configs from PackageConfigRegistry. (ID: rules.registry.get_package_configs, Owner: RulesPackageRegistry, Kind: method, Source: scripts/gdscript/Plugins/Rules/Shared/RulesPackageRegistry.gd:98)
- Validates feature scene path declarations and reports supported/unsupported feature resolution. (ID: rules.registry.resolve_feature, Owner: RulesPackageRegistry, Kind: method, Source: scripts/gdscript/Plugins/Rules/Shared/RulesPackageRegistry.gd:126)
#Required Invocations
- Resolve character creation scene path with unsupported fallback handling. (ID: rules.registry.get_character_creation_scene_path, Owner: RulesPackageRegistry, Kind: method, Source: scripts/gdscript/Plugins/Rules/Shared/RulesPackageRegistry.gd:118)
- Resolve conflict panel scene path from rules package config. (ID: rules.registry.get_conflict_scene_path, Owner: RulesPackageRegistry, Kind: method, Source: scripts/gdscript/Plugins/Rules/Shared/RulesPackageRegistry.gd:107)
#Deterministic Starter Template
subsystem: rules
required_contract_ids:
- (none)
required_entrypoint_ids:
- rules.registry.feature_ids
- rules.registry.get_package_configs
- rules.registry.resolve_feature
required_invoke_ids:
- rules.registry.get_character_creation_scene_path
- rules.registry.get_conflict_scene_path
required_manifest_ids:
- (none)
required_folder_ids:
- (none)
optional_extension_ids:
- (none)
#scripted_entities
#Required Contracts
- Normalizes scripted entity graph fields including graph_id, entity_id, nodes, edges, source metadata. (ID: scripted_entities.definition.required_fields, Owner: ScriptedEntityRegistry, Kind: schema, Source: scripts/gdscript/Plugins/ScriptedEntities/Shared/ScriptedEntityRegistry.gd:32)
#Required Entry Points
- Default package and graph schema values for scripted entity plugins. (ID: scripted_entities.registry.defaults, Owner: ScriptedEntityRegistry, Kind: registry, Source: scripts/gdscript/Plugins/ScriptedEntities/Shared/ScriptedEntityRegistry.gd:9)
- Registers scripted entity package config into PackageConfigRegistry. (ID: scripted_entities.registry.register_runtime_config, Owner: ScriptedEntityRegistry, Kind: method, Source: scripts/gdscript/Plugins/ScriptedEntities/Shared/ScriptedEntityRegistry.gd:17)
#Deterministic Starter Template
subsystem: scripted_entities
required_contract_ids:
- scripted_entities.definition.required_fields
required_entrypoint_ids:
- scripted_entities.registry.defaults
- scripted_entities.registry.register_runtime_config
required_invoke_ids:
- (none)
required_manifest_ids:
- (none)
required_folder_ids:
- (none)
optional_extension_ids:
- (none)
#text_generation
#Required Contracts
- Core provider generation method for synchronous requests. (ID: text_generation.provider.generate_text, Owner: TextGenerationProvider, Kind: method, Source: scripts/gdscript/Plugins/TextGeneration/Shared/TextGenerationProvider.gd:28)
- Returns unique provider id used in registry settings and activation. (ID: text_generation.provider.get_id, Owner: TextGenerationProvider, Kind: method, Source: scripts/gdscript/Plugins/TextGeneration/Shared/TextGenerationProvider.gd:7)
- Base provider contract for text generation services. (ID: text_generation.provider.interface, Owner: TextGenerationProvider, Kind: interface, Source: scripts/gdscript/Plugins/TextGeneration/Shared/TextGenerationProvider.gd:3)
#Required Entry Points
- Registers provider implementation by provider_id. (ID: text_generation.registry.register_provider, Owner: TextGenerationServiceRegistry, Kind: method, Source: scripts/gdscript/Plugins/TextGeneration/Shared/TextGenerationServiceRegistry.gd:45)
- Provider registry and generation dispatch for text generation plugins. (ID: text_generation.registry.service, Owner: TextGenerationServiceRegistry, Kind: registry, Source: scripts/gdscript/Plugins/TextGeneration/Shared/TextGenerationServiceRegistry.gd:3)
#Required Invocations
- Generates text for explicit provider with async fallback routing. (ID: text_generation.registry.generate_for_provider, Owner: TextGenerationServiceRegistry, Kind: method, Source: scripts/gdscript/Plugins/TextGeneration/Shared/TextGenerationServiceRegistry.gd:173)
- Selects active provider used by generate_text entry points. (ID: text_generation.registry.set_active_provider, Owner: TextGenerationServiceRegistry, Kind: method, Source: scripts/gdscript/Plugins/TextGeneration/Shared/TextGenerationServiceRegistry.gd:104)
#Deterministic Starter Template
subsystem: text_generation
required_contract_ids:
- text_generation.provider.generate_text
- text_generation.provider.get_id
- text_generation.provider.interface
required_entrypoint_ids:
- text_generation.registry.register_provider
- text_generation.registry.service
required_invoke_ids:
- text_generation.registry.generate_for_provider
- text_generation.registry.set_active_provider
required_manifest_ids:
- (none)
required_folder_ids:
- (none)
optional_extension_ids:
- (none)
