Skip to content

[Feature] Implement DeltaSerializationLane for Game Saves & Undo/Redo #190

@eraflo

Description

@eraflo

The current serialization system provides robust strategies for stability (Definition), editor interchange (Recipe), and raw performance (Archetype). However, it lacks a strategy optimized for the most common runtime persistence task: saving small changes to a large world, such as in a game save. Serializing the entire scene state for every save operation is highly inefficient, leading to large files and slow performance.

This issue proposes the implementation of a fourth strategic Lane: the DeltaSerializationLane. Its core principle is to serialize only the differences (deltas) between a "base" world state and a "modified" world state. This will produce extremely small and efficient payloads for scenarios where only a few elements have changed.

This feature is a critical prerequisite for two major future systems:

  1. Efficient Game Saves: Enables fast, lightweight saving of player progress.
  2. Editor Undo/Redo System: The concept of applying and reverting "deltas" is the foundational mechanism for a robust undo/redo stack.

Upon completion, this new Lane will be integrated into the SerializationAgent, which will select it when the SerializationGoal::SmallestFileSize is requested, providing a truly optimal choice for this use case.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions