class MAGES::SceneGraph::Editor::StoryboardSyncSerialization¶
Overview¶
Converts SceneGraph assets into storyboard domain/json payloads used by cloud sync. More…
class StoryboardSyncSerialization
{
public:
// classes
class DomainEdgeDto;
class DomainGraphDto;
class DomainGroupDto;
class DomainNodeDto;
class GroupInfo;
// methods
static string ExportDomainJson(SceneGraphData graphData);
static string ExportDrawioXml(SceneGraphData graphData);
static string ComputeJsonFingerprint(string jsonPayload);
static string ComputeStructuralFingerprint(string jsonPayload);
static string MergeLocalDomainWithCloudSupplementalData(
string localDomainJson,
string cloudDomainJson
);
};
Detailed Documentation¶
Converts SceneGraph assets into storyboard domain/json payloads used by cloud sync.
Methods¶
static string ExportDomainJson(SceneGraphData graphData)
Exports the active scene graph into storyboard domain JSON.
Parameters:
graphData |
The scene graph asset. |
Returns:
The exported domain JSON.
static string ExportDrawioXml(SceneGraphData graphData)
Exports the active scene graph into draw.io XML.
Parameters:
graphData |
The scene graph asset. |
Returns:
The exported draw.io XML payload.
static string ComputeJsonFingerprint(string jsonPayload)
Computes a stable SHA-256 fingerprint for JSON payload comparison.
Parameters:
jsonPayload |
The JSON payload to hash. |
Returns:
Hex encoded SHA-256 fingerprint.
static string ComputeStructuralFingerprint(string jsonPayload)
Computes a structural fingerprint for storyboard sync comparison. Includes only action node IDs and action-to-action connectivity. Ignores supplemental fields (descriptions/tools/images), drawio IDs, and edge IDs.
Parameters:
jsonPayload |
The domain JSON payload. |
Returns:
Hex encoded SHA-256 structural fingerprint.
static string MergeLocalDomainWithCloudSupplementalData(
string localDomainJson,
string cloudDomainJson
)
Merges a local domain export with supplemental cloud-only storyboard data. Applies local action add/remove membership updates by action label while preserving existing cloud action content (descriptions/errors/supplemental nodes) for matches.
Parameters:
localDomainJson |
Local domain JSON exported from SceneGraph. |
cloudDomainJson |
Cloud domain JSON from storyboard storage. |
Returns:
Merged domain JSON suitable for compare/upload.