-
-
Notifications
You must be signed in to change notification settings - Fork 17
Description
There are many cases where users want to group up a chunk of logic inside an Event Sheet and reuse it in multiple places without duplicating Actions. Common examples include:
- Moving the player
- Running a transition sequence
- Recalculating stats after a level‑up
- Any multi‑step sequence that appears in multiple Events
Right now, FlowKit doesn’t offer a way to define reusable logic inside the visual scripting interface. Everything must be either duplicated or pushed into GDScript, which breaks the visual‑scripting workflow.
If you agree that FlowKit could benefit from a built‑in mechanism for local, reusable logic, I’d like to propose Subsheets: a visual‑scripting version of local/nested functions in languages like C#, JavaScript, and Python.
What Subsheets Are
Subsheets would behave like Event Sheets, except...
- They can only be created from within the Event Sheet editor
- They are attached to a specific parent Event Sheet
- They are not global assets. They exist only as part of the sheet that defines them
- They can be invoked from Actions (e.g., a “Call Subsheet” Action)
Why This Fits FlowKit’s Design
Subsheets would:
- Cut duplication and keep Event Sheets clean
- Allow users to structure logic more intentionally
- Make complex sequences easier to maintain
- Provide a familiar mental model for anyone used to local functions or helper methods
- Keep everything inside the visual‑scripting workflow, without forcing users into GDScript for basic reuse
High‑Level Implementation Sketch
- Add a new resource type (or a flag on existing ones) representing a Subsheet
- Allow Event Sheets to contain a list of Subsheets
- Add a “Call Subsheet” Action that runs the Subsheet’s Actions as a sequence
- Optionally allow parameters later, but not required for an MVP
This would give FlowKit a powerful, scalable way to organize logic without complicating the core Event Sheet model.