From c73a82943f2832d924b5abaca0be3507e72e9bae Mon Sep 17 00:00:00 2001 From: luzieahrens Date: Fri, 3 Jul 2026 12:41:07 +0200 Subject: [PATCH] update doc --- data-structure-database.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/data-structure-database.md b/data-structure-database.md index 1b0e5a5..aec5aa3 100644 --- a/data-structure-database.md +++ b/data-structure-database.md @@ -32,6 +32,7 @@ Every item in the `items` array shares this base shape: ```json { + "id": 0, "position": { "x": 0.0, "y": 0.0, "z": 0.0 }, "rotation": { "x": 0.0, "y": 0.0, "z": 0.0 }, "scale": { "x": 1.0, "y": 1.0, "z": 1.0 }, @@ -44,6 +45,8 @@ Every item in the `items` array shares this base shape: > **Coordinate system note:** The X-axis is flipped on save (`x` = `-creator_x`) and un-flipped on load. Y-axis rotation is also negated. +> **`id`:** Stable numeric identifier assigned when the item is created in the Creator (the key of the in-memory `SceneItems` record). It is preserved across save/load rather than derived from array position, so group membership and block-coding references (`sourceItemId`/`targetItemId`) keep pointing at the right item even after items are added or removed. Rooms saved before this field existed fall back to array index on load. + ### `ItemArg` ```json @@ -122,6 +125,7 @@ All values are serialized as strings. ```json { + "id": 0, "position": { "x": 0, "y": 5, "z": 0 }, "rotation": { "x": 0, "y": 0, "z": 0 }, "scale": { "x": 1, "y": 1, "z": 1 }, @@ -140,6 +144,7 @@ All values are serialized as strings. ```json { + "id": 1, "position": { "x": 0, "y": 4, "z": 0 }, "rotation": { "x": 0, "y": 0, "z": 0 }, "scale": { "x": 1, "y": 1, "z": 1 }, @@ -157,6 +162,7 @@ All values are serialized as strings. ```json { + "id": 2, "position": { "x": -4.0, "y": 1.0, "z": 0.0 }, "rotation": { "x": 0.0, "y": 0.0, "z": 0.0 }, "scale": { "x": 1.0, "y": 1.0, "z": 1.0 },