track iteration count in scene loop

always yield to user at initial start / load of a scene
This commit is contained in:
vegu-ai-tools 2025-05-09 19:18:59 +03:00
parent 39785f2f07
commit fbc2cdbe14
2 changed files with 282 additions and 173 deletions

View file

@ -18,8 +18,8 @@
"properties": { "properties": {
"value": null "value": null
}, },
"x": 1137, "x": 1135,
"y": 3082, "y": 3362,
"width": 206, "width": 206,
"height": 39, "height": 39,
"collapsed": false, "collapsed": false,
@ -33,8 +33,8 @@
"properties": { "properties": {
"trigger_conversation_generated": true "trigger_conversation_generated": true
}, },
"x": 742, "x": 740,
"y": 2826, "y": 3106,
"width": 272, "width": 272,
"height": 103, "height": 103,
"collapsed": false, "collapsed": false,
@ -50,8 +50,8 @@
"prefix": "", "prefix": "",
"allow_commands": true "allow_commands": true
}, },
"x": 742, "x": 740,
"y": 3116, "y": 3396,
"width": 287, "width": 287,
"height": 186, "height": 186,
"collapsed": false, "collapsed": false,
@ -65,8 +65,8 @@
"properties": { "properties": {
"emit_message": true "emit_message": true
}, },
"x": 1102, "x": 1100,
"y": 2846, "y": 3126,
"width": 210, "width": 210,
"height": 58, "height": 58,
"collapsed": false, "collapsed": false,
@ -78,8 +78,8 @@
"title": "Generated Text", "title": "Generated Text",
"id": "e2fb6f95-ee17-4a2f-acc0-62e245e4ee19", "id": "e2fb6f95-ee17-4a2f-acc0-62e245e4ee19",
"properties": {}, "properties": {},
"x": 1108, "x": 1106,
"y": 2742, "y": 3022,
"width": 140, "width": 140,
"height": 26, "height": 26,
"collapsed": false, "collapsed": false,
@ -91,8 +91,8 @@
"title": "Process Input", "title": "Process Input",
"id": "10bf33d8-41c6-406d-bbf4-944e850f3b61", "id": "10bf33d8-41c6-406d-bbf4-944e850f3b61",
"properties": {}, "properties": {},
"x": 1130, "x": 1128,
"y": 3196, "y": 3476,
"width": 296, "width": 296,
"height": 66, "height": 66,
"collapsed": false, "collapsed": false,
@ -104,8 +104,8 @@
"title": "yield_to_user", "title": "yield_to_user",
"id": "4967ef4d-0ec9-4d9e-97ad-a10935034592", "id": "4967ef4d-0ec9-4d9e-97ad-a10935034592",
"properties": {}, "properties": {},
"x": 320, "x": 318,
"y": 3206, "y": 3486,
"width": 140, "width": 140,
"height": 26, "height": 26,
"collapsed": true, "collapsed": true,
@ -117,8 +117,8 @@
"title": "character", "title": "character",
"id": "01907fa7-63c7-4064-bd80-eaad1bafc963", "id": "01907fa7-63c7-4064-bd80-eaad1bafc963",
"properties": {}, "properties": {},
"x": 320, "x": 318,
"y": 3026, "y": 3306,
"width": 140, "width": 140,
"height": 26, "height": 26,
"collapsed": true, "collapsed": true,
@ -130,8 +130,8 @@
"title": "yield_to_ai", "title": "yield_to_ai",
"id": "10e33c80-f684-46c0-a0a7-2a7305e375ba", "id": "10e33c80-f684-46c0-a0a7-2a7305e375ba",
"properties": {}, "properties": {},
"x": 330, "x": 328,
"y": 2856, "y": 3136,
"width": 140, "width": 140,
"height": 26, "height": 26,
"collapsed": true, "collapsed": true,
@ -139,36 +139,6 @@
"registry": "core/Watch", "registry": "core/Watch",
"base_type": "core/Node" "base_type": "core/Node"
}, },
"5b3b9556-081b-4337-9e04-7b63316e0d94": {
"title": "Stage 2",
"id": "5b3b9556-081b-4337-9e04-7b63316e0d94",
"properties": {
"stage": 2
},
"x": 1151,
"y": 1718,
"width": 210,
"height": 118,
"collapsed": true,
"inherited": false,
"registry": "core/Stage",
"base_type": "core/Node"
},
"c044e62a-a1c5-4dd5-a20f-6bc22f13df64": {
"title": "Stage 10",
"id": "c044e62a-a1c5-4dd5-a20f-6bc22f13df64",
"properties": {
"stage": 10
},
"x": 1580,
"y": 3036,
"width": 210,
"height": 118,
"collapsed": true,
"inherited": false,
"registry": "core/Stage",
"base_type": "core/Node"
},
"2cdab649-8000-44e7-8c92-611fc40aab4b": { "2cdab649-8000-44e7-8c92-611fc40aab4b": {
"title": "GET shared.skip_to_player", "title": "GET shared.skip_to_player",
"id": "2cdab649-8000-44e7-8c92-611fc40aab4b", "id": "2cdab649-8000-44e7-8c92-611fc40aab4b",
@ -176,8 +146,8 @@
"name": "skip_to_player", "name": "skip_to_player",
"scope": "shared" "scope": "shared"
}, },
"x": 33, "x": 32,
"y": 728, "y": 1015,
"width": 244, "width": 244,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -189,8 +159,8 @@
"title": "RSwitch", "title": "RSwitch",
"id": "1c6025c9-8465-487f-b57e-12db302378ce", "id": "1c6025c9-8465-487f-b57e-12db302378ce",
"properties": {}, "properties": {},
"x": 512, "x": 510,
"y": 2856, "y": 3136,
"width": 140, "width": 140,
"height": 66, "height": 66,
"collapsed": false, "collapsed": false,
@ -202,8 +172,8 @@
"title": "ai_turns", "title": "ai_turns",
"id": "a175ce77-dd20-475f-a324-175255b0ed85", "id": "a175ce77-dd20-475f-a324-175255b0ed85",
"properties": {}, "properties": {},
"x": 984, "x": 982,
"y": 2706, "y": 2986,
"width": 140, "width": 140,
"height": 26, "height": 26,
"collapsed": true, "collapsed": true,
@ -262,8 +232,8 @@
"title": "RSwitch", "title": "RSwitch",
"id": "149280f6-8834-496b-9583-1ed9ccb2a187", "id": "149280f6-8834-496b-9583-1ed9ccb2a187",
"properties": {}, "properties": {},
"x": 512, "x": 510,
"y": 3156, "y": 3436,
"width": 140, "width": 140,
"height": 66, "height": 66,
"collapsed": false, "collapsed": false,
@ -275,8 +245,8 @@
"title": "ai_turns", "title": "ai_turns",
"id": "fa0ea413-7824-4b04-b194-7ceb27a89cd5", "id": "fa0ea413-7824-4b04-b194-7ceb27a89cd5",
"properties": {}, "properties": {},
"x": 984, "x": 982,
"y": 3366, "y": 3646,
"width": 140, "width": 140,
"height": 26, "height": 26,
"collapsed": true, "collapsed": true,
@ -288,8 +258,8 @@
"title": "Select Actor For Turn", "title": "Select Actor For Turn",
"id": "7c7a6436-38f1-4bf3-9382-d480d64c14ea", "id": "7c7a6436-38f1-4bf3-9382-d480d64c14ea",
"properties": {}, "properties": {},
"x": 563, "x": 561,
"y": 1654, "y": 1941,
"width": 176, "width": 176,
"height": 111, "height": 111,
"collapsed": false, "collapsed": false,
@ -303,8 +273,8 @@
"properties": { "properties": {
"pass_through": false "pass_through": false
}, },
"x": 370, "x": 368,
"y": 1683, "y": 1970,
"width": 210, "width": 210,
"height": 78, "height": 78,
"collapsed": true, "collapsed": true,
@ -318,8 +288,8 @@
"properties": { "properties": {
"pass_through": false "pass_through": false
}, },
"x": 350, "x": 349,
"y": 779, "y": 1066,
"width": 210, "width": 210,
"height": 78, "height": 78,
"collapsed": true, "collapsed": true,
@ -336,8 +306,8 @@
"increment": 1, "increment": 1,
"reset": false "reset": false
}, },
"x": 741, "x": 739,
"y": 2704, "y": 2984,
"width": 230, "width": 230,
"height": 210, "height": 210,
"collapsed": true, "collapsed": true,
@ -354,8 +324,8 @@
"increment": 1, "increment": 1,
"reset": true "reset": true
}, },
"x": 721, "x": 719,
"y": 3364, "y": 3644,
"width": 230, "width": 230,
"height": 210, "height": 210,
"collapsed": true, "collapsed": true,
@ -401,8 +371,8 @@
"name": "skip_to_player", "name": "skip_to_player",
"scope": "shared" "scope": "shared"
}, },
"x": 30, "x": 27,
"y": 2116, "y": 2399,
"width": 244, "width": 244,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -474,8 +444,8 @@
"title": "RSwitch Advanced", "title": "RSwitch Advanced",
"id": "40a05cd8-d4cd-4442-9d8b-57e4980082f6", "id": "40a05cd8-d4cd-4442-9d8b-57e4980082f6",
"properties": {}, "properties": {},
"x": 861, "x": 858,
"y": 2486, "y": 2769,
"width": 213, "width": 213,
"height": 78, "height": 78,
"collapsed": false, "collapsed": false,
@ -487,8 +457,8 @@
"title": "Get Player Character", "title": "Get Player Character",
"id": "80c510ae-210d-4609-b736-4dd5803ddefd", "id": "80c510ae-210d-4609-b736-4dd5803ddefd",
"properties": {}, "properties": {},
"x": 601, "x": 598,
"y": 2506, "y": 2789,
"width": 168, "width": 168,
"height": 31, "height": 31,
"collapsed": false, "collapsed": false,
@ -496,27 +466,12 @@
"registry": "scene/GetPlayerCharacter", "registry": "scene/GetPlayerCharacter",
"base_type": "core/Node" "base_type": "core/Node"
}, },
"b4ed5835-bd7e-4aff-a832-a1eb2a23ef53": {
"title": "Stage 3",
"id": "b4ed5835-bd7e-4aff-a832-a1eb2a23ef53",
"properties": {
"stage": 3
},
"x": 1491,
"y": 2336,
"width": 210,
"height": 118,
"collapsed": true,
"inherited": false,
"registry": "core/Stage",
"base_type": "core/Node"
},
"c4175461-957a-4db7-b201-f6932848ae09": { "c4175461-957a-4db7-b201-f6932848ae09": {
"title": "Invert", "title": "Invert",
"id": "c4175461-957a-4db7-b201-f6932848ae09", "id": "c4175461-957a-4db7-b201-f6932848ae09",
"properties": {}, "properties": {},
"x": 1011, "x": 1008,
"y": 2336, "y": 2619,
"width": 140, "width": 140,
"height": 26, "height": 26,
"collapsed": true, "collapsed": true,
@ -524,29 +479,14 @@
"registry": "core/Invert", "registry": "core/Invert",
"base_type": "core/Node" "base_type": "core/Node"
}, },
"635db25b-8577-4915-9006-7ed4490b6453": {
"title": "Stage 1",
"id": "635db25b-8577-4915-9006-7ed4490b6453",
"properties": {
"stage": 1
},
"x": 1260,
"y": 879,
"width": 210,
"height": 118,
"collapsed": true,
"inherited": false,
"registry": "core/Stage",
"base_type": "core/Node"
},
"4115fcf4-e542-4a5c-8317-a140450db216": { "4115fcf4-e542-4a5c-8317-a140450db216": {
"title": "Switch", "title": "Switch",
"id": "4115fcf4-e542-4a5c-8317-a140450db216", "id": "4115fcf4-e542-4a5c-8317-a140450db216",
"properties": { "properties": {
"pass_through": true "pass_through": true
}, },
"x": 820, "x": 819,
"y": 440, "y": 727,
"width": 210, "width": 210,
"height": 78, "height": 78,
"collapsed": false, "collapsed": false,
@ -560,8 +500,8 @@
"properties": { "properties": {
"exception": "LoopBreak" "exception": "LoopBreak"
}, },
"x": 1100, "x": 1099,
"y": 440, "y": 727,
"width": 215, "width": 215,
"height": 80, "height": 80,
"collapsed": false, "collapsed": false,
@ -573,8 +513,8 @@
"title": "Auto Direction", "title": "Auto Direction",
"id": "b2d1c52c-574e-40e7-9c0e-77e61492a0e3", "id": "b2d1c52c-574e-40e7-9c0e-77e61492a0e3",
"properties": {}, "properties": {},
"x": 510, "x": 509,
"y": 729, "y": 1016,
"width": 195, "width": 195,
"height": 146, "height": 146,
"collapsed": false, "collapsed": false,
@ -586,8 +526,8 @@
"title": "Directed Narrator", "title": "Directed Narrator",
"id": "f13c3f09-e9f8-4b8d-b4da-f0bfded953ec", "id": "f13c3f09-e9f8-4b8d-b4da-f0bfded953ec",
"properties": {}, "properties": {},
"x": 830, "x": 829,
"y": 750, "y": 1037,
"width": 140, "width": 140,
"height": 26, "height": 26,
"collapsed": false, "collapsed": false,
@ -602,8 +542,8 @@
"name": "auto_direction", "name": "auto_direction",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 820, "x": 819,
"y": 580, "y": 867,
"width": 244, "width": 244,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -618,8 +558,8 @@
"name": "character", "name": "character",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 830, "x": 829,
"y": 830, "y": 1117,
"width": 210, "width": 210,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -634,8 +574,8 @@
"name": "yield_to_user", "name": "yield_to_user",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 830, "x": 829,
"y": 1010, "y": 1297,
"width": 221, "width": 221,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -650,8 +590,8 @@
"name": "yield_to_ai", "name": "yield_to_ai",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 830, "x": 829,
"y": 1190, "y": 1477,
"width": 210, "width": 210,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -666,8 +606,8 @@
"name": "yield_to_user", "name": "yield_to_user",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 810, "x": 808,
"y": 1480, "y": 1767,
"width": 221, "width": 221,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -682,8 +622,8 @@
"name": "character", "name": "character",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 810, "x": 808,
"y": 1670, "y": 1957,
"width": 218, "width": 218,
"height": 124, "height": 124,
"collapsed": false, "collapsed": false,
@ -698,8 +638,8 @@
"name": "yield_to_ai", "name": "yield_to_ai",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 820, "x": 818,
"y": 1860, "y": 2147,
"width": 216, "width": 216,
"height": 124, "height": 124,
"collapsed": false, "collapsed": false,
@ -714,8 +654,8 @@
"name": "auto_direction", "name": "auto_direction",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 30, "x": 28,
"y": 1630, "y": 1917,
"width": 244, "width": 244,
"height": 125, "height": 125,
"collapsed": false, "collapsed": false,
@ -730,8 +670,8 @@
"name": "yield_to_user", "name": "yield_to_user",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 1151, "x": 1148,
"y": 2110, "y": 2393,
"width": 221, "width": 221,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -746,8 +686,8 @@
"name": "yield_to_ai", "name": "yield_to_ai",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 1151, "x": 1148,
"y": 2290, "y": 2573,
"width": 216, "width": 216,
"height": 124, "height": 124,
"collapsed": false, "collapsed": false,
@ -762,8 +702,8 @@
"name": "character", "name": "character",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 1151, "x": 1148,
"y": 2490, "y": 2773,
"width": 216, "width": 216,
"height": 124, "height": 124,
"collapsed": false, "collapsed": false,
@ -778,8 +718,8 @@
"name": "character", "name": "character",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 56, "x": 54,
"y": 2979, "y": 3259,
"width": 210, "width": 210,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -794,8 +734,8 @@
"name": "yield_to_ai", "name": "yield_to_ai",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 56, "x": 54,
"y": 2789, "y": 3069,
"width": 210, "width": 210,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -810,8 +750,8 @@
"name": "yield_to_user", "name": "yield_to_user",
"scope": "scene loop" "scope": "scene loop"
}, },
"x": 56, "x": 54,
"y": 3178, "y": 3458,
"width": 235, "width": 235,
"height": 122, "height": 122,
"collapsed": false, "collapsed": false,
@ -823,8 +763,8 @@
"title": "skip_to_player", "title": "skip_to_player",
"id": "e5d1e95f-31af-4002-a912-bb0984a2eeac", "id": "e5d1e95f-31af-4002-a912-bb0984a2eeac",
"properties": {}, "properties": {},
"x": 320, "x": 317,
"y": 2150, "y": 2433,
"width": 140, "width": 140,
"height": 26, "height": 26,
"collapsed": false, "collapsed": false,
@ -836,8 +776,8 @@
"title": "Get Scene State", "title": "Get Scene State",
"id": "f7e161be-846e-4179-bba1-e1fe2ab49c5b", "id": "f7e161be-846e-4179-bba1-e1fe2ab49c5b",
"properties": {}, "properties": {},
"x": 41, "x": 38,
"y": 2340, "y": 2623,
"width": 140, "width": 140,
"height": 106, "height": 106,
"collapsed": false, "collapsed": false,
@ -849,8 +789,8 @@
"title": "Invert", "title": "Invert",
"id": "ab49fdda-6d6a-4005-b150-ace64094088a", "id": "ab49fdda-6d6a-4005-b150-ace64094088a",
"properties": {}, "properties": {},
"x": 298, "x": 295,
"y": 2375, "y": 2658,
"width": 140, "width": 140,
"height": 26, "height": 26,
"collapsed": false, "collapsed": false,
@ -864,8 +804,8 @@
"properties": { "properties": {
"pass_through": false "pass_through": false
}, },
"x": 690, "x": 687,
"y": 2130, "y": 2413,
"width": 210, "width": 210,
"height": 78, "height": 78,
"collapsed": false, "collapsed": false,
@ -877,14 +817,154 @@
"title": "OR Router", "title": "OR Router",
"id": "e81649bc-04b7-4828-9a79-dcba0b61c5ff", "id": "e81649bc-04b7-4828-9a79-dcba0b61c5ff",
"properties": {}, "properties": {},
"x": 510, "x": 507,
"y": 2250, "y": 2533,
"width": 140, "width": 140,
"height": 106, "height": 106,
"collapsed": false, "collapsed": false,
"inherited": false, "inherited": false,
"registry": "core/ORRouter", "registry": "core/ORRouter",
"base_type": "core/Node" "base_type": "core/Node"
},
"635db25b-8577-4915-9006-7ed4490b6453": {
"title": "Stage 2",
"id": "635db25b-8577-4915-9006-7ed4490b6453",
"properties": {
"stage": 2
},
"x": 1256,
"y": 1169,
"width": 210,
"height": 118,
"collapsed": true,
"inherited": false,
"registry": "core/Stage",
"base_type": "core/Node"
},
"5b3b9556-081b-4337-9e04-7b63316e0d94": {
"title": "Stage 3",
"id": "5b3b9556-081b-4337-9e04-7b63316e0d94",
"properties": {
"stage": 3
},
"x": 1148,
"y": 2010,
"width": 210,
"height": 118,
"collapsed": true,
"inherited": false,
"registry": "core/Stage",
"base_type": "core/Node"
},
"b4ed5835-bd7e-4aff-a832-a1eb2a23ef53": {
"title": "Stage 4",
"id": "b4ed5835-bd7e-4aff-a832-a1eb2a23ef53",
"properties": {
"stage": 4
},
"x": 1487,
"y": 2615,
"width": 210,
"height": 118,
"collapsed": true,
"inherited": false,
"registry": "core/Stage",
"base_type": "core/Node"
},
"c044e62a-a1c5-4dd5-a20f-6bc22f13df64": {
"title": "Stage 10",
"id": "c044e62a-a1c5-4dd5-a20f-6bc22f13df64",
"properties": {
"stage": 10
},
"x": 1574,
"y": 3314,
"width": 210,
"height": 118,
"collapsed": true,
"inherited": false,
"registry": "core/Stage",
"base_type": "core/Node"
},
"32f5cd41-6c2d-47a0-93e9-0681f4e45533": {
"title": "Switch",
"id": "32f5cd41-6c2d-47a0-93e9-0681f4e45533",
"properties": {
"pass_through": false
},
"x": 550,
"y": 472,
"width": 210,
"height": 78,
"collapsed": false,
"inherited": false,
"registry": "core/Switch",
"base_type": "core/Node"
},
"bdb9a354-70d2-4b57-90f5-c42cb6663e63": {
"title": "GET scene loop._iteration",
"id": "bdb9a354-70d2-4b57-90f5-c42cb6663e63",
"properties": {
"name": "_iteration",
"scope": "scene loop"
},
"x": 30,
"y": 462,
"width": 210,
"height": 122,
"collapsed": false,
"inherited": false,
"registry": "state/GetState",
"base_type": "core/Node"
},
"d2374288-9586-485c-be7a-da89d24dbdbc": {
"title": "SET shared.skip_to_player",
"id": "d2374288-9586-485c-be7a-da89d24dbdbc",
"properties": {
"name": "skip_to_player",
"scope": "shared"
},
"x": 810,
"y": 472,
"width": 210,
"height": 122,
"collapsed": false,
"inherited": false,
"registry": "state/SetState",
"base_type": "core/Node"
},
"7ed578c0-546c-4de1-8073-ab3402eb86a4": {
"title": "Stage 1",
"id": "7ed578c0-546c-4de1-8073-ab3402eb86a4",
"properties": {
"stage": 1
},
"x": 1080,
"y": 522,
"width": 210,
"height": 118,
"collapsed": true,
"inherited": false,
"registry": "core/Stage",
"base_type": "core/Node"
},
"b286d3c8-baee-443d-90f3-0f104c441bfc": {
"title": "Compare",
"id": "b286d3c8-baee-443d-90f3-0f104c441bfc",
"properties": {
"operation": "equals",
"tolerance": 0.0001,
"a": 0,
"b": "1"
},
"x": 280,
"y": 462,
"width": 210,
"height": 150,
"collapsed": false,
"inherited": false,
"registry": "data/number/Compare",
"base_type": "core/Node"
} }
}, },
"edges": { "edges": {
@ -1063,13 +1143,25 @@
], ],
"e81649bc-04b7-4828-9a79-dcba0b61c5ff.yes": [ "e81649bc-04b7-4828-9a79-dcba0b61c5ff.yes": [
"0152b38c-dcfb-4ea3-bfa3-82178429047c.value" "0152b38c-dcfb-4ea3-bfa3-82178429047c.value"
],
"32f5cd41-6c2d-47a0-93e9-0681f4e45533.yes": [
"d2374288-9586-485c-be7a-da89d24dbdbc.value"
],
"bdb9a354-70d2-4b57-90f5-c42cb6663e63.value": [
"b286d3c8-baee-443d-90f3-0f104c441bfc.a"
],
"d2374288-9586-485c-be7a-da89d24dbdbc.value": [
"7ed578c0-546c-4de1-8073-ab3402eb86a4.state_b"
],
"b286d3c8-baee-443d-90f3-0f104c441bfc.result": [
"32f5cd41-6c2d-47a0-93e9-0681f4e45533.value"
] ]
}, },
"groups": [ "groups": [
{ {
"title": "Auto Direction", "title": "Auto Direction",
"x": 6, "x": 5,
"y": 380, "y": 667,
"width": 1401, "width": 1401,
"height": 965, "height": 965,
"color": "#3f789e", "color": "#3f789e",
@ -1078,8 +1170,8 @@
}, },
{ {
"title": "Select Actor For Turn - Round Robin", "title": "Select Actor For Turn - Round Robin",
"x": 7, "x": 5,
"y": 1349, "y": 1635,
"width": 1313, "width": 1313,
"height": 679, "height": 679,
"color": "#3f789e", "color": "#3f789e",
@ -1088,8 +1180,8 @@
}, },
{ {
"title": "Main Loop", "title": "Main Loop",
"x": 8, "x": 5,
"y": 2644, "y": 2923,
"width": 1715, "width": 1715,
"height": 752, "height": 752,
"color": "#88A", "color": "#88A",
@ -1108,48 +1200,58 @@
}, },
{ {
"title": "Handle forced yield to user", "title": "Handle forced yield to user",
"x": 8, "x": 5,
"y": 2034, "y": 2317,
"width": 1616, "width": 1616,
"height": 603, "height": 603,
"color": "#3f789e", "color": "#3f789e",
"font_size": 24, "font_size": 24,
"inherited": false "inherited": false
},
{
"title": "Always yield to user on initial start / load",
"x": 5,
"y": 381,
"width": 1310,
"height": 283,
"color": "#b58b2a",
"font_size": 24,
"inherited": false
} }
], ],
"comments": [ "comments": [
{ {
"text": "If director auto-direction is enabled - run it and store the result.\n\n`enabled` will only be true if it generated a direction and does NOT hold just the state of agent setting.", "text": "If director auto-direction is enabled - run it and store the result.\n\n`enabled` will only be true if it generated a direction and does NOT hold just the state of agent setting.",
"x": 37, "x": 36,
"y": 427, "y": 714,
"width": 197, "width": 197,
"inherited": false "inherited": false
}, },
{ {
"text": "If auto direction is disabled OR failed to generate a direction, fall back to default turn selection using Select Actor For Turn (round robin)", "text": "If auto direction is disabled OR failed to generate a direction, fall back to default turn selection using Select Actor For Turn (round robin)",
"x": 57, "x": 55,
"y": 1424, "y": 1711,
"width": 432, "width": 432,
"inherited": false "inherited": false
}, },
{ {
"text": "User Turn", "text": "User Turn",
"x": 784, "x": 782,
"y": 3046, "y": 3326,
"width": 200, "width": 200,
"inherited": false "inherited": false
}, },
{ {
"text": "AI Turn", "text": "AI Turn",
"x": 784, "x": 782,
"y": 2756, "y": 3036,
"width": 200, "width": 200,
"inherited": false "inherited": false
}, },
{ {
"text": "Only proceed if `auto_direction` hasn't generated anything.", "text": "Only proceed if `auto_direction` hasn't generated anything.",
"x": 309, "x": 307,
"y": 1554, "y": 1841,
"width": 200, "width": 200,
"inherited": false "inherited": false
}, },
@ -1162,8 +1264,8 @@
}, },
{ {
"text": "Only proceed if `skip_to_player` is NOT set.", "text": "Only proceed if `skip_to_player` is NOT set.",
"x": 300, "x": 299,
"y": 809, "y": 1096,
"width": 192, "width": 192,
"inherited": false "inherited": false
} }

View file

@ -1298,8 +1298,15 @@ class SceneLoop(Loop):
if state.shared.get("signal_game_loop", True) and trigger_game_loop: if state.shared.get("signal_game_loop", True) and trigger_game_loop:
await scene.signals["game_loop"].send(game_loop) await scene.signals["game_loop"].send(game_loop)
if "scene_loop" in state.shared:
_iteration = state.shared["scene_loop"].get("_iteration", 0)
else:
_iteration = 0
state.shared["signal_game_loop"] = True state.shared["signal_game_loop"] = True
state.shared["scene_loop"] = {} state.shared["scene_loop"] = {
"_iteration": _iteration + 1
}
state.shared["creative_mode"] = scene.environment == "creative" state.shared["creative_mode"] = scene.environment == "creative"
await async_signals.get("scene_loop_start_cycle").send(self.scene_loop_event) await async_signals.get("scene_loop_start_cycle").send(self.scene_loop_event)