From f40350609abf647e2046681a0d3a3733b687a684 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Wed, 22 Feb 2023 15:34:41 -0800 Subject: [PATCH] fix near updating when not first path --- d2oracle/edit.go | 2 +- d2oracle/edit_test.go | 31 + .../delete_container_of_near.exp.json | 1504 +++++++++++++++++ 3 files changed, 1536 insertions(+), 1 deletion(-) create mode 100644 testdata/d2oracle/TestDelete/delete_container_of_near.exp.json diff --git a/d2oracle/edit.go b/d2oracle/edit.go index 8905450a7..dd2c882c9 100644 --- a/d2oracle/edit.go +++ b/d2oracle/edit.go @@ -1538,7 +1538,7 @@ func updateNear(prevG, g *d2graph.Graph, from, to *string) error { if len(n.MapKey.Key.Path) == 0 { continue } - if n.MapKey.Key.Path[0].Unbox().ScalarString() == "near" { + if n.MapKey.Key.Path[len(n.MapKey.Key.Path)-1].Unbox().ScalarString() == "near" { k := n.MapKey.Value.ScalarBox().Unbox().ScalarString() if strings.EqualFold(k, *from) && to == nil { deleteFromMap(obj.Map, n.MapKey) diff --git a/d2oracle/edit_test.go b/d2oracle/edit_test.go index 7cd1ef697..0fc9f7892 100644 --- a/d2oracle/edit_test.go +++ b/d2oracle/edit_test.go @@ -3824,6 +3824,37 @@ y exp: `x y +`, + }, + { + name: "delete_container_of_near", + + text: `direction: down +first input -> start game -> game loop + +game loop: { + direction: down + input -> increase bird top velocity + + move bird -> move pipes -> render + + render -> no collision -> wait 16 milliseconds -> move bird + render -> collision detected -> game over + no collision.near: game loop.collision detected +} +`, + key: `game loop`, + + exp: `direction: down +first input -> start game + +input -> increase bird top velocity + +move bird -> move pipes -> render + +render -> no collision -> wait 16 milliseconds -> move bird +render -> collision detected -> game over +no collision.near: collision detected `, }, { diff --git a/testdata/d2oracle/TestDelete/delete_container_of_near.exp.json b/testdata/d2oracle/TestDelete/delete_container_of_near.exp.json new file mode 100644 index 000000000..9dcbd5845 --- /dev/null +++ b/testdata/d2oracle/TestDelete/delete_container_of_near.exp.json @@ -0,0 +1,1504 @@ +{ + "graph": { + "name": "", + "ast": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,0:0:0-10:0:255", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,0:0:0-0:15:15", + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,0:0:0-0:9:9", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,0:0:0-0:9:9", + "value": [ + { + "string": "direction", + "raw_string": "direction" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,0:11:11-0:15:15", + "value": [ + { + "string": "down", + "raw_string": "down" + } + ] + } + } + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,1:0:16-1:25:41", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,1:0:16-1:25:41", + "src": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,1:0:16-1:12:28", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,1:0:16-1:11:27", + "value": [ + { + "string": "first input", + "raw_string": "first input" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,1:14:30-1:25:41", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,1:15:31-1:25:41", + "value": [ + { + "string": "start game", + "raw_string": "start game" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,3:0:43-3:35:78", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,3:0:43-3:35:78", + "src": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,3:0:43-3:6:49", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,3:0:43-3:5:48", + "value": [ + { + "string": "input", + "raw_string": "input" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,3:8:51-3:35:78", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,3:9:52-3:35:78", + "value": [ + { + "string": "increase bird top velocity", + "raw_string": "increase bird top velocity" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:0:80-5:33:113", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:0:80-5:24:104", + "src": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:0:80-5:10:90", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:0:80-5:9:89", + "value": [ + { + "string": "move bird", + "raw_string": "move bird" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:12:92-5:24:104", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:13:93-5:23:103", + "value": [ + { + "string": "move pipes", + "raw_string": "move pipes" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:12:92-5:33:113", + "src": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:12:92-5:24:104", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:13:93-5:23:103", + "value": [ + { + "string": "move pipes", + "raw_string": "move pipes" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:26:106-5:33:113", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:27:107-5:33:113", + "value": [ + { + "string": "render", + "raw_string": "render" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:0:115-7:59:174", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:0:115-7:23:138", + "src": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:0:115-7:7:122", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:0:115-7:6:121", + "value": [ + { + "string": "render", + "raw_string": "render" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:9:124-7:23:138", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:10:125-7:22:137", + "value": [ + { + "string": "no collision", + "raw_string": "no collision" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:9:124-7:47:162", + "src": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:9:124-7:23:138", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:10:125-7:22:137", + "value": [ + { + "string": "no collision", + "raw_string": "no collision" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:25:140-7:47:162", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:26:141-7:46:161", + "value": [ + { + "string": "wait 16 milliseconds", + "raw_string": "wait 16 milliseconds" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:25:140-7:59:174", + "src": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:25:140-7:47:162", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:26:141-7:46:161", + "value": [ + { + "string": "wait 16 milliseconds", + "raw_string": "wait 16 milliseconds" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:49:164-7:59:174", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:50:165-7:59:174", + "value": [ + { + "string": "move bird", + "raw_string": "move bird" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:0:175-8:41:216", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:0:175-8:29:204", + "src": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:0:175-8:7:182", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:0:175-8:6:181", + "value": [ + { + "string": "render", + "raw_string": "render" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:9:184-8:29:204", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:10:185-8:28:203", + "value": [ + { + "string": "collision detected", + "raw_string": "collision detected" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:9:184-8:41:216", + "src": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:9:184-8:29:204", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:10:185-8:28:203", + "value": [ + { + "string": "collision detected", + "raw_string": "collision detected" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:31:206-8:41:216", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:32:207-8:41:216", + "value": [ + { + "string": "game over", + "raw_string": "game over" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,9:0:217-9:37:254", + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,9:0:217-9:17:234", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,9:0:217-9:12:229", + "value": [ + { + "string": "no collision", + "raw_string": "no collision" + } + ] + } + }, + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,9:13:230-9:17:234", + "value": [ + { + "string": "near", + "raw_string": "near" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,9:19:236-9:37:254", + "value": [ + { + "string": "collision detected", + "raw_string": "collision detected" + } + ] + } + } + } + } + ] + }, + "root": { + "id": "", + "id_val": "", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "down" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + "edges": [ + { + "index": 0, + "minWidth": 0, + "minHeight": 0, + "label_dimensions": { + "width": 0, + "height": 0 + }, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "index": 0, + "minWidth": 0, + "minHeight": 0, + "label_dimensions": { + "width": 0, + "height": 0 + }, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "index": 0, + "minWidth": 0, + "minHeight": 0, + "label_dimensions": { + "width": 0, + "height": 0 + }, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "index": 0, + "minWidth": 0, + "minHeight": 0, + "label_dimensions": { + "width": 0, + "height": 0 + }, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 1 + } + ], + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "index": 0, + "minWidth": 0, + "minHeight": 0, + "label_dimensions": { + "width": 0, + "height": 0 + }, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "index": 0, + "minWidth": 0, + "minHeight": 0, + "label_dimensions": { + "width": 0, + "height": 0 + }, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 1 + } + ], + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "index": 0, + "minWidth": 0, + "minHeight": 0, + "label_dimensions": { + "width": 0, + "height": 0 + }, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 2 + } + ], + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "index": 0, + "minWidth": 0, + "minHeight": 0, + "label_dimensions": { + "width": 0, + "height": 0 + }, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "index": 0, + "minWidth": 0, + "minHeight": 0, + "label_dimensions": { + "width": 0, + "height": 0 + }, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 1 + } + ], + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + } + ], + "objects": [ + { + "id": "first input", + "id_val": "first input", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,1:0:16-1:12:28", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,1:0:16-1:11:27", + "value": [ + { + "string": "first input", + "raw_string": "first input" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "first input" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "id": "start game", + "id_val": "start game", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,1:14:30-1:25:41", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,1:15:31-1:25:41", + "value": [ + { + "string": "start game", + "raw_string": "start game" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "start game" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "id": "input", + "id_val": "input", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,3:0:43-3:6:49", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,3:0:43-3:5:48", + "value": [ + { + "string": "input", + "raw_string": "input" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "input" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "id": "increase bird top velocity", + "id_val": "increase bird top velocity", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,3:8:51-3:35:78", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,3:9:52-3:35:78", + "value": [ + { + "string": "increase bird top velocity", + "raw_string": "increase bird top velocity" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "increase bird top velocity" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "id": "move bird", + "id_val": "move bird", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:0:80-5:10:90", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:0:80-5:9:89", + "value": [ + { + "string": "move bird", + "raw_string": "move bird" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:49:164-7:59:174", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:50:165-7:59:174", + "value": [ + { + "string": "move bird", + "raw_string": "move bird" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 2 + } + ], + "attributes": { + "label": { + "value": "move bird" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "id": "move pipes", + "id_val": "move pipes", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:12:92-5:24:104", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:13:93-5:23:103", + "value": [ + { + "string": "move pipes", + "raw_string": "move pipes" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:12:92-5:24:104", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:13:93-5:23:103", + "value": [ + { + "string": "move pipes", + "raw_string": "move pipes" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 1 + } + ], + "attributes": { + "label": { + "value": "move pipes" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "id": "render", + "id_val": "render", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:26:106-5:33:113", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,5:27:107-5:33:113", + "value": [ + { + "string": "render", + "raw_string": "render" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 1 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:0:115-7:7:122", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:0:115-7:6:121", + "value": [ + { + "string": "render", + "raw_string": "render" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:0:175-8:7:182", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:0:175-8:6:181", + "value": [ + { + "string": "render", + "raw_string": "render" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "render" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "id": "no collision", + "id_val": "no collision", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:9:124-7:23:138", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:10:125-7:22:137", + "value": [ + { + "string": "no collision", + "raw_string": "no collision" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:9:124-7:23:138", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:10:125-7:22:137", + "value": [ + { + "string": "no collision", + "raw_string": "no collision" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 1 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,9:0:217-9:17:234", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,9:0:217-9:12:229", + "value": [ + { + "string": "no collision", + "raw_string": "no collision" + } + ] + } + }, + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,9:13:230-9:17:234", + "value": [ + { + "string": "near", + "raw_string": "near" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + } + ], + "attributes": { + "label": { + "value": "no collision" + }, + "style": {}, + "near_key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,9:19:236-9:37:254", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:18:18", + "value": [ + { + "string": "collision detected", + "raw_string": "collision detected" + } + ] + } + } + ] + }, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "id": "wait 16 milliseconds", + "id_val": "wait 16 milliseconds", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:25:140-7:47:162", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:26:141-7:46:161", + "value": [ + { + "string": "wait 16 milliseconds", + "raw_string": "wait 16 milliseconds" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 1 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:25:140-7:47:162", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,7:26:141-7:46:161", + "value": [ + { + "string": "wait 16 milliseconds", + "raw_string": "wait 16 milliseconds" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 2 + } + ], + "attributes": { + "label": { + "value": "wait 16 milliseconds" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "id": "collision detected", + "id_val": "collision detected", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:9:184-8:29:204", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:10:185-8:28:203", + "value": [ + { + "string": "collision detected", + "raw_string": "collision detected" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:9:184-8:29:204", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:10:185-8:28:203", + "value": [ + { + "string": "collision detected", + "raw_string": "collision detected" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 1 + } + ], + "attributes": { + "label": { + "value": "collision detected" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + { + "id": "game over", + "id_val": "game over", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:31:206-8:41:216", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete_container_of_near.d2,8:32:207-8:41:216", + "value": [ + { + "string": "game over", + "raw_string": "game over" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 1 + } + ], + "attributes": { + "label": { + "value": "game over" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + } + ] + }, + "err": "" +}