25#include "../third_party/nlohmann/json.hpp"
ComponentTypeID GetComponentTypeID_Static()
Singleton that stores, serialises, and retrieves NodePreset instances.
std::vector< NodePreset > GetPresetsInCategory(const std::string &category) const
Returns all presets that belong to category.
NodePreset * GetPreset(const std::string &name)
Returns a pointer to the preset with the given name.
int GetPresetCount() const
Returns the total number of stored presets.
void AddPreset(const NodePreset &preset)
Adds or replaces a preset (matched by name).
void SavePresets(const std::string &path) const
Saves all current presets to a JSON file at path.
void LoadPresets(const std::string &path)
Loads presets from a JSON file at path.
std::vector< NodePreset > m_Presets
void Clear()
Removes all presets.
static NodePresetManager & Get()
Returns the single shared instance.
void RemovePreset(const std::string &name)
Removes the preset with the given name.
< Provides AssetID and INVALID_ASSET_ID
A saved node configuration that can be applied to the active graph.
nlohmann::json nodeData
JSON snapshot of the node(s)
static NodePreset FromJson(const nlohmann::json &j)
std::string name
Unique preset identifier.
nlohmann::json ToJson() const
std::vector< int > nodeIds
For multi-node presets: list of involved IDs.
std::string description
Human-readable description.
std::string category
Category for grouping in the UI.