Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/Concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ Used for:

Save slots store:

- `slotKey`: Unique identifier
- `date`: Unix timestamp
- `slotId`: Unique identifier
- `savedAt`: Unix timestamp
- `image`: Screenshot (base64)
- `state`: Serialized game state
23 changes: 18 additions & 5 deletions docs/RouteEngine.md
Original file line number Diff line number Diff line change
Expand Up @@ -406,9 +406,21 @@ Seen-line semantics:

### Save System Actions

| Action | Payload | Description |
| ----------------- | --------------------------------- | ----------------- |
| `replaceSaveSlot` | `{ slotKey, date, image, state }` | Save game to slot |
| Action | Payload | Description |
| -------------- | --------------------------------- | -------------------------- |
| `saveSlot` | `{ slotId, thumbnailImage? }` | Save game to a slot |
| `loadSlot` | `{ slotId }` | Load game from a slot |

Save/load design, requirements, and storage boundaries are documented in [SaveLoad.md](./SaveLoad.md).

Notes:

- `slotId` is the public action field; storage stringification is internal
- save/load UIs can bind `slotId` directly from layout templates such as `${slot.slotId}`
- if slot identity comes from event data, use `_event.*` bindings such as `slotId: "_event.slotId"`
- example save/load UI copy should stay terse; prefer short labels like `Save`, `Load`, `Page 1`, `Saved`, `Empty`, and `Image`
- `thumbnailImage` is integration-provided; the engine does not capture screenshots by itself
- if a save action appears inside a multi-action event payload, the host should prepare/augment the `actions` object and still call `handleActions(...)` once for the whole batch

### Effect Actions

Expand All @@ -433,8 +445,9 @@ The system store exposes these selectors (called internally):
| `selectIsLineViewed` | `{ sectionId, lineId }` | Boolean |
| `selectIsResourceViewed` | `{ resourceId }` | Boolean |
| `selectNextLineConfig` | - | Config object |
| `selectSaveSlots` | - | Save slots object |
| `selectSaveSlot` | `{ slotKey }` | Save slot data |
| `selectSaveSlotMap` | - | Save slots object map |
| `selectSaveSlot` | `{ slotId }` | Save slot data |
| `selectSaveSlotPage` | `{ slotsPerPage? }` | Paged save slot list for UI |

## Pending Effects

Expand Down
Loading
Loading