Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add client state to coredump #2338

Closed
dshaw opened this issue May 10, 2024 · 18 comments · Fixed by #2653
Closed

Add client state to coredump #2338

dshaw opened this issue May 10, 2024 · 18 comments · Fixed by #2653
Assignees
Labels
coredump Issues that contain a coredump.

Comments

@dshaw
Copy link
Contributor

dshaw commented May 10, 2024

This issue extends #1573 and captures the details needed to complete the implementation.

Client state needed to understand the state of the modeling-app front end is contained within several singletons and xstate machines. Most of the entries in coredump so far have been relatively flat. None of these will be flat and some might have arbitrary structures. Some state might need to be excluded in the dump, like TOKEN in Auth. For excluded data that’s provides critical insights into whether the app should be functional, we may want to include a data validation like isValidToken: boolean.

Proposed structure

"client_state": {
    "kcl_manager": {},
    "scene_infra": {},
    "engine_command_manager": {},
    "modeling_machine": {},
    "settings_machine": {},
    "auth_machine": {},
    "home_machine": {},
    "command_bar_machine": {}
  }
@dshaw dshaw added the coredump Issues that contain a coredump. label May 10, 2024
@dshaw dshaw self-assigned this May 10, 2024
@dshaw dshaw changed the title Add state to coredump Add client state to coredump May 10, 2024
@dshaw
Copy link
Contributor Author

dshaw commented May 13, 2024

Uses #2316 as a part of its test fixture.

@dshaw
Copy link
Contributor Author

dshaw commented May 14, 2024

Add fileMachine.

@dshaw
Copy link
Contributor Author

dshaw commented May 28, 2024

@Irev-Dev @franknoirot Currently dumping ast and kclErrors from kclManager. What other properties from kclManager would be useful for debugging?

Screenshot 2024-05-28 at 11 29 42 AM

@dshaw
Copy link
Contributor Author

dshaw commented May 28, 2024

Sample output of SceneInfra (client_state.scene_infra) using a full object copy from 48774ba

"scene_infra": {
    "_baseUnit": "mm",
    "_baseUnitMultiplier": 1,
    "_theme": "dark",
    "callbacks": [],
    "currentMouseVector": { "x": 0.3474999999999999, "y": 0.13108614232209737 },
    "extraSegmentTexture": {
      "metadata": {
        "version": 4.6,
        "type": "Texture",
        "generator": "Texture.toJSON"
      },
      "uuid": "978ef02c-edf2-4c99-bfc6-7ed5bf33afac",
      "name": "",
      "image": "e41ecf0b-5e4e-4688-84e4-81a1f0bf18d1",
      "mapping": 300,
      "channel": 0,
      "repeat": [1, 1],
      "offset": [0, 0],
      "center": [0, 0],
      "rotation": 0,
      "wrap": [1001, 1001],
      "format": 1023,
      "internalFormat": null,
      "type": 1009,
      "colorSpace": "",
      "minFilter": 1008,
      "magFilter": 1006,
      "anisotropy": 16,
      "flipY": true,
      "generateMipmaps": true,
      "premultiplyAlpha": false,
      "unpackAlignment": 4
    },
    "fov": 45,
    "fovBeforeAnimate": 45,
    "hoveredObject": null,
    "isFovAnimationInProgress": false,
    "isPerspective": true,
    "lastMouseState": { "type": "idle" },
    "mouseDownVector": null,
    "overlayThrottleMap": {},
    "overlayTimeout": 99,
    "planeRaycaster": {
      "ray": {
        "origin": { "x": 0, "y": -1250, "z": 580 },
        "direction": {
          "x": 0.652600256511068,
          "y": 0.7035977870134367,
          "z": -0.28118154155542124
        }
      },
      "near": 0,
      "far": null,
      "camera": {
        "metadata": {
          "version": 4.6,
          "type": "Object",
          "generator": "Object3D.toJSON"
        },
        "object": {
          "uuid": "7b172ca4-d344-4916-b603-0149d54b64b5",
          "type": "PerspectiveCamera",
          "layers": 5,
          "matrix": [
            1, 0, 0, 0, 0, 0.42089661952487656, 0.9071086129414335, 0, 0,
            -0.9071086129414335, 0.42089661952487656, 0, -4, -9.970947,
            9.018494, 1
          ],
          "up": [0, 0.42089807143928004, 0.90710795122232],
          "fov": 45,
          "zoom": 1,
          "near": 1.428421019811302,
          "far": 28.568420396226042,
          "focus": 10,
          "aspect": 5.992509363295881,
          "filmGauge": 35,
          "filmOffset": 0
        }
      },
      "layers": { "mask": 3 },
      "params": {
        "Mesh": {},
        "Line": { "threshold": 1 },
        "LOD": {},
        "Points": { "threshold": 1 },
        "Sprite": {}
      }
    },
    "raycaster": {
      "ray": {
        "origin": { "x": 0, "y": -1250, "z": 580 },
        "direction": {
          "x": 0.6628844796611507,
          "y": 0.6965914249471351,
          "z": -0.2744896233275232
        }
      },
      "near": 0,
      "far": null,
      "camera": {
        "metadata": {
          "version": 4.6,
          "type": "Object",
          "generator": "Object3D.toJSON"
        },
        "object": {
          "uuid": "7b172ca4-d344-4916-b603-0149d54b64b5",
          "type": "PerspectiveCamera",
          "layers": 5,
          "matrix": [
            1, 0, 0, 0, 0, 0.42089661952487656, 0.9071086129414335, 0, 0,
            -0.9071086129414335, 0.42089661952487656, 0, -4, -9.970947,
            9.018494, 1
          ],
          "up": [0, 0.42089807143928004, 0.90710795122232],
          "fov": 45,
          "zoom": 1,
          "near": 1.428421019811302,
          "far": 28.568420396226042,
          "focus": 10,
          "aspect": 5.992509363295881,
          "filmGauge": 35,
          "filmOffset": 0
        }
      },
      "layers": { "mask": 4 },
      "params": {
        "Mesh": {},
        "Line": { "threshold": 1 },
        "LOD": {},
        "Points": { "threshold": 1 },
        "Sprite": {}
      }
    },
    "renderer": {
      "isWebGLRenderer": true,
      "domElement": {},
      "debug": { "checkShaderErrors": true, "onShaderError": null },
      "autoClear": true,
      "autoClearColor": true,
      "autoClearDepth": true,
      "autoClearStencil": true,
      "sortObjects": true,
      "clippingPlanes": [],
      "localClippingEnabled": false,
      "_outputColorSpace": "srgb",
      "_useLegacyLights": false,
      "toneMapping": 0,
      "toneMappingExposure": 1,
      "capabilities": {
        "isWebGL2": true,
        "precision": "highp",
        "logarithmicDepthBuffer": false,
        "maxTextures": 16,
        "maxVertexTextures": 16,
        "maxTextureSize": 16384,
        "maxCubemapSize": 16384,
        "maxAttributes": 16,
        "maxVertexUniforms": 1024,
        "maxVaryings": 15,
        "maxFragmentUniforms": 1024,
        "vertexTextures": true,
        "maxSamples": 4
      },
      "extensions": {},
      "properties": {},
      "renderLists": {},
      "shadowMap": {
        "enabled": false,
        "autoUpdate": true,
        "needsUpdate": false,
        "type": 1
      },
      "state": { "buffers": { "color": {}, "depth": {}, "stencil": {} } },
      "info": {
        "memory": { "geometries": 0, "textures": 0 },
        "render": {
          "frame": 144,
          "calls": 0,
          "triangles": 0,
          "points": 0,
          "lines": 0
        },
        "programs": [],
        "autoReset": true
      },
      "xr": {
        "cameraAutoUpdate": true,
        "enabled": false,
        "isPresenting": false,
        "_listeners": { "sessionstart": [null], "sessionend": [null] }
      }
    },
    "scene": {
      "metadata": {
        "version": 4.6,
        "type": "Object",
        "generator": "Object3D.toJSON"
      },
      "object": {
        "uuid": "0fdb3038-d05c-4e41-9e32-a45650fce63f",
        "type": "Scene",
        "layers": 1,
        "matrix": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],
        "up": [0, 1, 0],
        "children": [
          {
            "uuid": "26da13b8-4d81-4e1b-8f78-a4a4f742e2c3",
            "type": "AmbientLight",
            "layers": 1,
            "matrix": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],
            "up": [0, 1, 0],
            "color": 5263440,
            "intensity": 1
          }
        ],
        "backgroundRotation": [0, 0, 0, "XYZ"],
        "environmentRotation": [0, 0, 0, "XYZ"]
      }
    },
    "selected": null
  }

@dshaw
Copy link
Contributor Author

dshaw commented May 28, 2024

@Irev-Dev @franknoirot Now that I have some of the higher level structs in Rustland accepting flexible JavaScript objects, I can go back and reimplement kclManager to include similar fidelity to SceneInfra. I just have to delete some of the struct definitions and convert things to simply use serde_json::Value. #2338 (comment)

@dshaw
Copy link
Contributor Author

dshaw commented May 28, 2024

Current status of client_state

{
  "engine_command_manager": {
    "artifact_map": {
      "04cf5278-5df5-4183-a536-f9d0a8e70a3c": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "18f8cca6-89ac-4311-b68a-867996cd03e2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "72216326-cc46-4a8c-9b31-98f4819c01ee": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "18f8cca6-89ac-4311-b68a-867996cd03e2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "782416ee-b79f-454d-ace3-d80c0f2b8770": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "18f8cca6-89ac-4311-b68a-867996cd03e2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "64a14e9c-a656-462f-9eda-4e46505363da": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "18f8cca6-89ac-4311-b68a-867996cd03e2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "fcacdb0f-2b1e-4feb-9460-2dc12d2487e9": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "plane_set_color",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "18f8cca6-89ac-4311-b68a-867996cd03e2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "e6c71c40-54d7-4fbc-929e-5e477f974cc9": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "18f8cca6-89ac-4311-b68a-867996cd03e2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "54c69967-e85a-409e-8913-7966d7e415d4": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "plane_set_color",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "18f8cca6-89ac-4311-b68a-867996cd03e2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "ba9a22cf-f8dd-4dc0-ae0a-8c7ab9fbd858": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "18f8cca6-89ac-4311-b68a-867996cd03e2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "08d27974-5949-45c7-94c5-8b65f7092de5": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "plane_set_color",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "18f8cca6-89ac-4311-b68a-867996cd03e2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "dd14df42-36ac-4365-8d85-0b83d1e0b8ab": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "4d43358c-5fba-46ae-8edc-059cdd550df2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "194feb77-da07-458c-8f25-2246a13cf92d": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "4d43358c-5fba-46ae-8edc-059cdd550df2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "9aea9a4a-d7de-4bac-b0b7-7987ee5e71b2": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "4d43358c-5fba-46ae-8edc-059cdd550df2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "9f7bd18d-7542-482a-9b56-5040192fd95c": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "4d43358c-5fba-46ae-8edc-059cdd550df2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "12732b88-9858-49d2-9b3e-aae47847513e": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "plane_set_color",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "4d43358c-5fba-46ae-8edc-059cdd550df2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "010eee0c-eac5-46cd-9511-124748535eef": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "4d43358c-5fba-46ae-8edc-059cdd550df2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "8d8178fb-709d-47ff-b314-ff521c953847": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "plane_set_color",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "4d43358c-5fba-46ae-8edc-059cdd550df2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "14316987-db8a-49fd-885f-fe8befb7f26d": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "make_plane",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "4d43358c-5fba-46ae-8edc-059cdd550df2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "7587421d-1f79-4a45-bf0c-a3c62cd62eb5": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "plane_set_color",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "4d43358c-5fba-46ae-8edc-059cdd550df2",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "865ba06d-5bd9-4066-a72b-a104de9ea447": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "set_scene_units",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "047cac0c-daf4-4d37-9b57-33c4c6bed91d": {
        "type": "result",
        "range": [1058, 1077],
        "pathToNode": [],
        "commandType": "enable_sketch_mode",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "e09d6194-8466-4559-abda-606df81d0356": {
        "type": "result",
        "range": [1083, 1108],
        "pathToNode": [],
        "commandType": "start_path",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "72ed9b93-d201-49e4-ad9d-d04d3354cfbe": {
        "type": "result",
        "range": [1083, 1108],
        "pathToNode": [],
        "commandType": "move_path_pen",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "6eb1047f-8484-4755-a42b-08c4174f1697": {
        "type": "result",
        "range": [1114, 1151],
        "pathToNode": [],
        "commandType": "extend_path",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "19f366a2-cf4b-487f-8f05-af2c74648eb7": {
        "type": "result",
        "range": [1157, 1183],
        "pathToNode": [],
        "commandType": "extend_path",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "9afbf31f-9276-4802-b46b-5e45f7a3b2c6": {
        "type": "result",
        "range": [1189, 1213],
        "pathToNode": [],
        "commandType": "extend_path",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "9a6394df-64e7-41e8-964e-0152cb310ba7": {
        "type": "result",
        "range": [1219, 1269],
        "pathToNode": [],
        "commandType": "extend_path",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "f5caff65-9ea7-4a77-a976-4bcd8eed336a": {
        "type": "result",
        "range": [1275, 1312],
        "pathToNode": [],
        "commandType": "extend_path",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "00f1a6d4-2089-4739-9a25-c4e9eb538598": {
        "type": "result",
        "range": [1318, 1326],
        "pathToNode": [],
        "commandType": "close_path",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "588718ea-b8ec-45c2-92cb-9e9443b4f00d": {
        "type": "result",
        "range": [1318, 1326],
        "pathToNode": [],
        "commandType": "sketch_mode_disable",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "fb61b669-cfde-451c-ba20-eb2b86e71e6b": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "set_scene_units",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "a4f99544-70c3-4f66-987a-eddd4829dcde": {
        "type": "result",
        "range": [1058, 1077],
        "pathToNode": [],
        "commandType": "enable_sketch_mode",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "4588299b-e9a3-4d67-9bee-ca0062f79c31": {
        "type": "result",
        "range": [1083, 1108],
        "pathToNode": [],
        "commandType": "start_path",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "b80b2e0d-fd12-4261-89a4-9d13b7b4835e": {
        "type": "result",
        "range": [1083, 1108],
        "pathToNode": [],
        "commandType": "move_path_pen",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "39bb99f8-2a2a-4b8e-a6de-3aaf9bcbdacf": {
        "type": "result",
        "range": [1114, 1151],
        "pathToNode": [],
        "commandType": "extend_path",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "1b7a95c1-698e-4550-aae4-91edf7913c63": {
        "type": "result",
        "range": [1157, 1183],
        "pathToNode": [],
        "commandType": "extend_path",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "193b448e-704f-425c-b9c3-a892bac5e628": {
        "type": "result",
        "range": [1189, 1213],
        "pathToNode": [],
        "commandType": "extend_path",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "2aa53dcf-2042-46d7-8278-1fd67ec00a6a": {
        "type": "result",
        "range": [1219, 1269],
        "pathToNode": [],
        "commandType": "extend_path",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "dcf9d442-edb6-4284-84ae-4d73b7fac0d9": {
        "type": "result",
        "range": [1275, 1312],
        "pathToNode": [],
        "commandType": "extend_path",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "308c9dbd-2395-438f-a8a2-4cd5b04a89c2": {
        "type": "result",
        "range": [1318, 1326],
        "pathToNode": [],
        "commandType": "close_path",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "3348d28e-a8aa-4db3-86e5-98a89ab6fc3a": {
        "type": "result",
        "range": [1318, 1326],
        "pathToNode": [],
        "commandType": "sketch_mode_disable",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "709c1b48-0f59-4d76-8df4-e475af27326a": {
        "type": "result",
        "range": [1332, 1349],
        "pathToNode": [
          ["body", ""],
          [10, "index"],
          ["declarations", "VariableDeclaration"],
          [0, "index"],
          ["init", ""],
          ["body", "PipeExpression"],
          [8, "index"]
        ],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": {
          "type": "solid3d_get_extrusion_face_info",
          "data": {
            "faces": [
              {
                "curve_id": "6eb1047f-8484-4755-a42b-08c4174f1697",
                "face_id": "3c5b65c7-adaa-47a8-9d5a-64e26c42d34f",
                "cap": "none"
              },
              {
                "curve_id": "19f366a2-cf4b-487f-8f05-af2c74648eb7",
                "face_id": "bfb65a9f-706a-418e-a862-b7d1452a9d8a",
                "cap": "none"
              },
              {
                "curve_id": "9afbf31f-9276-4802-b46b-5e45f7a3b2c6",
                "face_id": "cb91463b-965b-47fa-8c05-3cd3025ff4c5",
                "cap": "none"
              },
              {
                "curve_id": "9a6394df-64e7-41e8-964e-0152cb310ba7",
                "face_id": "1959bc0e-e3af-449e-8a37-6847554db5de",
                "cap": "none"
              },
              {
                "curve_id": "f5caff65-9ea7-4a77-a976-4bcd8eed336a",
                "face_id": "af016013-e2d9-49bb-8122-1a55c7aa7592",
                "cap": "none"
              },
              {
                "curve_id": "00f1a6d4-2089-4739-9a25-c4e9eb538598",
                "face_id": "6db3f493-3311-484e-b0ab-924e92611587",
                "cap": "none"
              },
              {
                "curve_id": null,
                "face_id": "992db82c-5d3f-41f3-956a-6e1694af93dd",
                "cap": "bottom"
              },
              {
                "curve_id": null,
                "face_id": "fc8c0f00-8ea6-44ed-a1ba-078a05f2a6e9",
                "cap": "top"
              }
            ]
          }
        },
        "raw": {
          "success": true,
          "request_id": "709c1b48-0f59-4d76-8df4-e475af27326a",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "solid3d_get_extrusion_face_info",
                "data": {
                  "faces": [
                    {
                      "curve_id": "6eb1047f-8484-4755-a42b-08c4174f1697",
                      "face_id": "3c5b65c7-adaa-47a8-9d5a-64e26c42d34f",
                      "cap": "none"
                    },
                    {
                      "curve_id": "19f366a2-cf4b-487f-8f05-af2c74648eb7",
                      "face_id": "bfb65a9f-706a-418e-a862-b7d1452a9d8a",
                      "cap": "none"
                    },
                    {
                      "curve_id": "9afbf31f-9276-4802-b46b-5e45f7a3b2c6",
                      "face_id": "cb91463b-965b-47fa-8c05-3cd3025ff4c5",
                      "cap": "none"
                    },
                    {
                      "curve_id": "9a6394df-64e7-41e8-964e-0152cb310ba7",
                      "face_id": "1959bc0e-e3af-449e-8a37-6847554db5de",
                      "cap": "none"
                    },
                    {
                      "curve_id": "f5caff65-9ea7-4a77-a976-4bcd8eed336a",
                      "face_id": "af016013-e2d9-49bb-8122-1a55c7aa7592",
                      "cap": "none"
                    },
                    {
                      "curve_id": "00f1a6d4-2089-4739-9a25-c4e9eb538598",
                      "face_id": "6db3f493-3311-484e-b0ab-924e92611587",
                      "cap": "none"
                    },
                    {
                      "curve_id": null,
                      "face_id": "992db82c-5d3f-41f3-956a-6e1694af93dd",
                      "cap": "bottom"
                    },
                    {
                      "curve_id": null,
                      "face_id": "fc8c0f00-8ea6-44ed-a1ba-078a05f2a6e9",
                      "cap": "top"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "3d24c870-b809-48ca-b27b-1d4596a0c1c1": {
        "type": "result",
        "range": [1332, 1349],
        "pathToNode": [
          ["body", ""],
          [10, "index"],
          ["declarations", "VariableDeclaration"],
          [0, "index"],
          ["init", ""],
          ["body", "PipeExpression"],
          [8, "index"]
        ],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": {
          "type": "solid3d_get_extrusion_face_info",
          "data": {
            "faces": [
              {
                "curve_id": "39bb99f8-2a2a-4b8e-a6de-3aaf9bcbdacf",
                "face_id": "9d92f5e3-421e-4993-b714-406ecec3c6a4",
                "cap": "none"
              },
              {
                "curve_id": "1b7a95c1-698e-4550-aae4-91edf7913c63",
                "face_id": "32dd5c77-ac3e-4c26-a2ca-c2d719096657",
                "cap": "none"
              },
              {
                "curve_id": "193b448e-704f-425c-b9c3-a892bac5e628",
                "face_id": "66e28b70-7d8f-4991-84e1-edb72e98b5e6",
                "cap": "none"
              },
              {
                "curve_id": "2aa53dcf-2042-46d7-8278-1fd67ec00a6a",
                "face_id": "0552ef76-6105-42f2-b821-b0987b735df4",
                "cap": "none"
              },
              {
                "curve_id": "dcf9d442-edb6-4284-84ae-4d73b7fac0d9",
                "face_id": "c01c66e8-5331-47e9-a277-86360cf662c2",
                "cap": "none"
              },
              {
                "curve_id": "308c9dbd-2395-438f-a8a2-4cd5b04a89c2",
                "face_id": "7728b6ab-6049-477b-9af1-fb6c14d228af",
                "cap": "none"
              },
              {
                "curve_id": null,
                "face_id": "891a2b35-7670-41c6-af3f-d45cb553b031",
                "cap": "bottom"
              },
              {
                "curve_id": null,
                "face_id": "754d5fec-74f7-4f9c-b7fc-550cc60247e5",
                "cap": "top"
              }
            ]
          }
        },
        "raw": {
          "success": true,
          "request_id": "3d24c870-b809-48ca-b27b-1d4596a0c1c1",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "solid3d_get_extrusion_face_info",
                "data": {
                  "faces": [
                    {
                      "curve_id": "39bb99f8-2a2a-4b8e-a6de-3aaf9bcbdacf",
                      "face_id": "9d92f5e3-421e-4993-b714-406ecec3c6a4",
                      "cap": "none"
                    },
                    {
                      "curve_id": "1b7a95c1-698e-4550-aae4-91edf7913c63",
                      "face_id": "32dd5c77-ac3e-4c26-a2ca-c2d719096657",
                      "cap": "none"
                    },
                    {
                      "curve_id": "193b448e-704f-425c-b9c3-a892bac5e628",
                      "face_id": "66e28b70-7d8f-4991-84e1-edb72e98b5e6",
                      "cap": "none"
                    },
                    {
                      "curve_id": "2aa53dcf-2042-46d7-8278-1fd67ec00a6a",
                      "face_id": "0552ef76-6105-42f2-b821-b0987b735df4",
                      "cap": "none"
                    },
                    {
                      "curve_id": "dcf9d442-edb6-4284-84ae-4d73b7fac0d9",
                      "face_id": "c01c66e8-5331-47e9-a277-86360cf662c2",
                      "cap": "none"
                    },
                    {
                      "curve_id": "308c9dbd-2395-438f-a8a2-4cd5b04a89c2",
                      "face_id": "7728b6ab-6049-477b-9af1-fb6c14d228af",
                      "cap": "none"
                    },
                    {
                      "curve_id": null,
                      "face_id": "891a2b35-7670-41c6-af3f-d45cb553b031",
                      "cap": "bottom"
                    },
                    {
                      "curve_id": null,
                      "face_id": "754d5fec-74f7-4f9c-b7fc-550cc60247e5",
                      "cap": "top"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "95e66da7-ef27-4376-bf66-b2b4c09990d4": {
        "type": "result",
        "range": [1332, 1349],
        "pathToNode": [
          ["body", ""],
          [10, "index"],
          ["declarations", "VariableDeclaration"],
          [0, "index"],
          ["init", ""],
          ["body", "PipeExpression"],
          [8, "index"]
        ],
        "commandType": "object_bring_to_front",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "95e66da7-ef27-4376-bf66-b2b4c09990d4",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "0dfd4392-20c8-44cd-85a5-5a27ea54ebe7": {
        "type": "result",
        "range": [1332, 1349],
        "pathToNode": [
          ["body", ""],
          [10, "index"],
          ["declarations", "VariableDeclaration"],
          [0, "index"],
          ["init", ""],
          ["body", "PipeExpression"],
          [8, "index"]
        ],
        "commandType": "object_bring_to_front",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "0dfd4392-20c8-44cd-85a5-5a27ea54ebe7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "3c5b65c7-adaa-47a8-9d5a-64e26c42d34f": {
        "type": "result",
        "range": [1114, 1151],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "bfb65a9f-706a-418e-a862-b7d1452a9d8a": {
        "type": "result",
        "range": [1157, 1183],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "cb91463b-965b-47fa-8c05-3cd3025ff4c5": {
        "type": "result",
        "range": [1189, 1213],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "1959bc0e-e3af-449e-8a37-6847554db5de": {
        "type": "result",
        "range": [1219, 1269],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "af016013-e2d9-49bb-8122-1a55c7aa7592": {
        "type": "result",
        "range": [1275, 1312],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "6db3f493-3311-484e-b0ab-924e92611587": {
        "type": "result",
        "range": [1318, 1326],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "e09d6194-8466-4559-abda-606df81d0356",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "992db82c-5d3f-41f3-956a-6e1694af93dd": {
        "type": "result",
        "range": [1083, 1108],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        },
        "additionalData": { "type": "cap", "info": "start" }
      },
      "fc8c0f00-8ea6-44ed-a1ba-078a05f2a6e9": {
        "type": "result",
        "range": [1083, 1108],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        },
        "additionalData": { "type": "cap", "info": "end" }
      },
      "888d7348-0d3a-495c-8f36-35f1d7413c22": {
        "type": "result",
        "range": [1412, 1451],
        "pathToNode": [
          ["body", ""],
          [10, "index"],
          ["declarations", "VariableDeclaration"],
          [0, "index"],
          ["init", ""],
          ["body", "PipeExpression"],
          [9, "index"],
          ["arguments", "CallExpression"],
          [0, "index"],
          ["properties", "ObjectExpression"],
          [1, "index"],
          ["value", "Property"],
          ["elements", "ArrayExpression"],
          [0, "index"]
        ],
        "commandType": "solid3d_get_next_adjacent_edge",
        "data": {
          "type": "solid3d_get_next_adjacent_edge",
          "data": { "edge": "9eef506c-0bbc-49ae-a6ba-88c3eaae71f9" }
        },
        "raw": {
          "success": true,
          "request_id": "888d7348-0d3a-495c-8f36-35f1d7413c22",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "solid3d_get_next_adjacent_edge",
                "data": { "edge": "9eef506c-0bbc-49ae-a6ba-88c3eaae71f9" }
              }
            }
          }
        }
      },
      "9d92f5e3-421e-4993-b714-406ecec3c6a4": {
        "type": "result",
        "range": [1114, 1151],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "32dd5c77-ac3e-4c26-a2ca-c2d719096657": {
        "type": "result",
        "range": [1157, 1183],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "66e28b70-7d8f-4991-84e1-edb72e98b5e6": {
        "type": "result",
        "range": [1189, 1213],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "0552ef76-6105-42f2-b821-b0987b735df4": {
        "type": "result",
        "range": [1219, 1269],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "c01c66e8-5331-47e9-a277-86360cf662c2": {
        "type": "result",
        "range": [1275, 1312],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "7728b6ab-6049-477b-9af1-fb6c14d228af": {
        "type": "result",
        "range": [1318, 1326],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "parentId": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "891a2b35-7670-41c6-af3f-d45cb553b031": {
        "type": "result",
        "range": [1083, 1108],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        },
        "additionalData": { "type": "cap", "info": "start" }
      },
      "754d5fec-74f7-4f9c-b7fc-550cc60247e5": {
        "type": "result",
        "range": [1083, 1108],
        "pathToNode": [],
        "commandType": "solid3d_get_extrusion_face_info",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        },
        "additionalData": { "type": "cap", "info": "end" }
      },
      "ca953d8b-8aab-4864-890e-4f67a2ffeb22": {
        "type": "result",
        "range": [1412, 1451],
        "pathToNode": [
          ["body", ""],
          [10, "index"],
          ["declarations", "VariableDeclaration"],
          [0, "index"],
          ["init", ""],
          ["body", "PipeExpression"],
          [9, "index"],
          ["arguments", "CallExpression"],
          [0, "index"],
          ["properties", "ObjectExpression"],
          [1, "index"],
          ["value", "Property"],
          ["elements", "ArrayExpression"],
          [0, "index"]
        ],
        "commandType": "solid3d_get_next_adjacent_edge",
        "data": {
          "type": "solid3d_get_next_adjacent_edge",
          "data": { "edge": "324b82c9-bce6-4491-ad68-40e83d02ea26" }
        },
        "raw": {
          "success": true,
          "request_id": "ca953d8b-8aab-4864-890e-4f67a2ffeb22",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "solid3d_get_next_adjacent_edge",
                "data": { "edge": "324b82c9-bce6-4491-ad68-40e83d02ea26" }
              }
            }
          }
        }
      },
      "c1924efe-64aa-427c-b2c2-63fe56693cb2": {
        "type": "result",
        "range": [1355, 1471],
        "pathToNode": [],
        "commandType": "solid3d_fillet_edge",
        "data": {
          "type": "solid3d_get_next_adjacent_edge",
          "data": { "edge": "559e4fc0-a090-40b4-a103-c394674a2c41" }
        },
        "raw": {
          "success": true,
          "request_id": "2b7dc848-32d2-40b7-bf0e-6f2908db19b9",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "solid3d_get_next_adjacent_edge",
                "data": { "edge": "559e4fc0-a090-40b4-a103-c394674a2c41" }
              }
            }
          }
        }
      },
      "db293ff9-d892-4bb8-ae28-b495cc46cee3": {
        "type": "result",
        "range": [1546, 1585],
        "pathToNode": [],
        "commandType": "solid3d_get_next_adjacent_edge",
        "data": {
          "type": "solid3d_get_next_adjacent_edge",
          "data": { "edge": "559e4fc0-a090-40b4-a103-c394674a2c41" }
        },
        "raw": {
          "success": true,
          "request_id": "2b7dc848-32d2-40b7-bf0e-6f2908db19b9",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "solid3d_get_next_adjacent_edge",
                "data": { "edge": "559e4fc0-a090-40b4-a103-c394674a2c41" }
              }
            }
          }
        }
      },
      "04c063b6-2ab7-46b2-a1cd-63c39b66f58c": {
        "type": "result",
        "range": [1355, 1471],
        "pathToNode": [],
        "commandType": "solid3d_fillet_edge",
        "data": {
          "type": "solid3d_get_next_adjacent_edge",
          "data": { "edge": "2ff2be53-2e3e-4aee-8bfb-ceea39c7b4a0" }
        },
        "raw": {
          "success": true,
          "request_id": "8c35efd8-6d82-46fa-b9a6-ac88e56c768c",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "solid3d_get_next_adjacent_edge",
                "data": { "edge": "2ff2be53-2e3e-4aee-8bfb-ceea39c7b4a0" }
              }
            }
          }
        }
      },
      "3a3324e0-282e-46c5-8c4f-38d91cdaaee3": {
        "type": "result",
        "range": [1546, 1585],
        "pathToNode": [],
        "commandType": "solid3d_get_next_adjacent_edge",
        "data": {
          "type": "solid3d_get_next_adjacent_edge",
          "data": { "edge": "2ff2be53-2e3e-4aee-8bfb-ceea39c7b4a0" }
        },
        "raw": {
          "success": true,
          "request_id": "8c35efd8-6d82-46fa-b9a6-ac88e56c768c",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "solid3d_get_next_adjacent_edge",
                "data": { "edge": "2ff2be53-2e3e-4aee-8bfb-ceea39c7b4a0" }
              }
            }
          }
        }
      },
      "691c54cd-40bc-4d19-aa99-d9f15715c0c9": {
        "type": "result",
        "range": [1606, 1606],
        "pathToNode": [["body", ""]],
        "commandType": "solid3d_fillet_edge",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "691c54cd-40bc-4d19-aa99-d9f15715c0c9",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "fe45bd70-e801-41a8-b0f8-704394b2d487": {
        "type": "result",
        "range": [1606, 1606],
        "pathToNode": [["body", ""]],
        "commandType": "solid3d_fillet_edge",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "fe45bd70-e801-41a8-b0f8-704394b2d487",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      }
    },
    "command_logs": [
      {
        "type": "send-scene",
        "data": {
          "type": "modeling_cmd_req",
          "cmd_id": "6cc619fd-9741-463e-9e5f-34e72296a148",
          "cmd": {
            "type": "set_background_color",
            "color": {
              "r": 0.9764705882352941,
              "g": 0.9764705882352941,
              "b": 0.9764705882352941,
              "a": 1
            }
          }
        }
      },
      {
        "type": "send-scene",
        "data": {
          "cmd_id": "c2aabdfb-286c-4e55-a53e-0a22e58102b1",
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "set_default_system_properties",
            "color": {
              "r": 0.10980392156862745,
              "g": 0.10980392156862745,
              "b": 0.10980392156862745,
              "a": 1
            }
          }
        }
      },
      {
        "type": "send-scene",
        "data": {
          "type": "modeling_cmd_req",
          "cmd_id": "a3bb37bb-860f-4b39-86eb-6906e6bf1507",
          "cmd": { "type": "edge_lines_visible", "hidden": false }
        }
      },
      {
        "type": "send-scene",
        "data": {
          "type": "modeling_cmd_req",
          "cmd_id": "c4c63382-2833-4f98-a531-405adf656dbd",
          "cmd": { "type": "default_camera_get_settings" }
        }
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_batch_req",
          "batch_id": "6caf6e75-3bea-4889-a4e5-2844ce0200d3",
          "requests": [
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": -1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 1, "z": 0 }
              },
              "cmd_id": "0c78b43b-874e-48c2-a10e-a7027278fe64"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 1, "z": 0 }
              },
              "cmd_id": "940d1dbc-e638-43a5-b64f-82ab5950ba4a"
            },
            {
              "cmd": {
                "type": "plane_set_color",
                "color": { "a": 0.4, "b": 0.28, "g": 0.28, "r": 0.7 },
                "plane_id": "940d1dbc-e638-43a5-b64f-82ab5950ba4a"
              },
              "cmd_id": "feb06b13-36eb-404c-b022-64726d4bed3c"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 0, "y": 1, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "94144325-7f84-4b61-954e-af6bf977c1c9"
            },
            {
              "cmd": {
                "type": "plane_set_color",
                "color": { "a": 0.4, "b": 0.28, "g": 0.7, "r": 0.28 },
                "plane_id": "94144325-7f84-4b61-954e-af6bf977c1c9"
              },
              "cmd_id": "25666b4f-c83f-4390-8210-c13d35536743"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "2f7a68fb-7cc2-458b-af62-21876d0db0c3"
            },
            {
              "cmd": {
                "type": "plane_set_color",
                "color": { "a": 0.4, "b": 0.7, "g": 0.28, "r": 0.28 },
                "plane_id": "2f7a68fb-7cc2-458b-af62-21876d0db0c3"
              },
              "cmd_id": "ab387d25-4b58-48f9-9e5f-f699b805de31"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 0, "y": -1, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "d2db7a33-c63b-4623-b33a-58d3f96002a3"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": -1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "223d2c54-b25a-4626-b60b-9112f5678f1b"
            }
          ],
          "responses": false
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "6cc619fd-9741-463e-9e5f-34e72296a148",
        "cmd_type": "set_background_color"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "c2aabdfb-286c-4e55-a53e-0a22e58102b1",
        "cmd_type": "set_default_system_properties"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "a3bb37bb-860f-4b39-86eb-6906e6bf1507",
        "cmd_type": "edge_lines_visible"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "default_camera_get_settings",
              "data": {
                "settings": {
                  "pos": { "x": 0, "y": -1250, "z": 580 },
                  "center": { "x": 0, "y": 0, "z": 0 },
                  "up": { "x": 0, "y": 0, "z": 1 },
                  "orientation": {
                    "x": -0.5380994,
                    "y": 0,
                    "z": 0,
                    "w": 0.8428814
                  },
                  "fov_y": 45,
                  "ortho_scale": null,
                  "ortho": false
                }
              }
            }
          }
        },
        "id": "c4c63382-2833-4f98-a531-405adf656dbd",
        "cmd_type": "default_camera_get_settings"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "0c78b43b-874e-48c2-a10e-a7027278fe64",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "940d1dbc-e638-43a5-b64f-82ab5950ba4a",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "feb06b13-36eb-404c-b022-64726d4bed3c",
        "cmd_type": "plane_set_color"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "94144325-7f84-4b61-954e-af6bf977c1c9",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "25666b4f-c83f-4390-8210-c13d35536743",
        "cmd_type": "plane_set_color"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "2f7a68fb-7cc2-458b-af62-21876d0db0c3",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "ab387d25-4b58-48f9-9e5f-f699b805de31",
        "cmd_type": "plane_set_color"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "d2db7a33-c63b-4623-b33a-58d3f96002a3",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "223d2c54-b25a-4626-b60b-9112f5678f1b",
        "cmd_type": "make_plane"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_batch_req",
          "batch_id": "18f8cca6-89ac-4311-b68a-867996cd03e2",
          "requests": [
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": -1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 1, "z": 0 }
              },
              "cmd_id": "04cf5278-5df5-4183-a536-f9d0a8e70a3c"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 0, "y": -1, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "72216326-cc46-4a8c-9b31-98f4819c01ee"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": -1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "782416ee-b79f-454d-ace3-d80c0f2b8770"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "64a14e9c-a656-462f-9eda-4e46505363da"
            },
            {
              "cmd": {
                "type": "plane_set_color",
                "color": { "a": 0.4, "b": 0.7, "g": 0.28, "r": 0.28 },
                "plane_id": "64a14e9c-a656-462f-9eda-4e46505363da"
              },
              "cmd_id": "fcacdb0f-2b1e-4feb-9460-2dc12d2487e9"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 0, "y": 1, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "e6c71c40-54d7-4fbc-929e-5e477f974cc9"
            },
            {
              "cmd": {
                "type": "plane_set_color",
                "color": { "a": 0.4, "b": 0.28, "g": 0.7, "r": 0.28 },
                "plane_id": "e6c71c40-54d7-4fbc-929e-5e477f974cc9"
              },
              "cmd_id": "54c69967-e85a-409e-8913-7966d7e415d4"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 1, "z": 0 }
              },
              "cmd_id": "ba9a22cf-f8dd-4dc0-ae0a-8c7ab9fbd858"
            },
            {
              "cmd": {
                "type": "plane_set_color",
                "color": { "a": 0.4, "b": 0.28, "g": 0.28, "r": 0.7 },
                "plane_id": "ba9a22cf-f8dd-4dc0-ae0a-8c7ab9fbd858"
              },
              "cmd_id": "08d27974-5949-45c7-94c5-8b65f7092de5"
            }
          ],
          "responses": false
        }
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_batch_req",
          "batch_id": "4d43358c-5fba-46ae-8edc-059cdd550df2",
          "requests": [
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": -1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 1, "z": 0 }
              },
              "cmd_id": "dd14df42-36ac-4365-8d85-0b83d1e0b8ab"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 0, "y": -1, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "194feb77-da07-458c-8f25-2246a13cf92d"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": -1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "9aea9a4a-d7de-4bac-b0b7-7987ee5e71b2"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 1, "z": 0 }
              },
              "cmd_id": "9f7bd18d-7542-482a-9b56-5040192fd95c"
            },
            {
              "cmd": {
                "type": "plane_set_color",
                "color": { "a": 0.4, "b": 0.28, "g": 0.28, "r": 0.7 },
                "plane_id": "9f7bd18d-7542-482a-9b56-5040192fd95c"
              },
              "cmd_id": "12732b88-9858-49d2-9b3e-aae47847513e"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 0, "y": 1, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "010eee0c-eac5-46cd-9511-124748535eef"
            },
            {
              "cmd": {
                "type": "plane_set_color",
                "color": { "a": 0.4, "b": 0.28, "g": 0.7, "r": 0.28 },
                "plane_id": "010eee0c-eac5-46cd-9511-124748535eef"
              },
              "cmd_id": "8d8178fb-709d-47ff-b314-ff521c953847"
            },
            {
              "cmd": {
                "type": "make_plane",
                "clobber": false,
                "hide": true,
                "origin": { "x": 0, "y": 0, "z": 0 },
                "size": 100,
                "x_axis": { "x": 1, "y": 0, "z": 0 },
                "y_axis": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "14316987-db8a-49fd-885f-fe8befb7f26d"
            },
            {
              "cmd": {
                "type": "plane_set_color",
                "color": { "a": 0.4, "b": 0.7, "g": 0.28, "r": 0.28 },
                "plane_id": "14316987-db8a-49fd-885f-fe8befb7f26d"
              },
              "cmd_id": "7587421d-1f79-4a45-bf0c-a3c62cd62eb5"
            }
          ],
          "responses": false
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "a7bc3fba-301f-44d7-bc6c-41917c901fb8"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "03d69a62-2ebb-4c80-b809-861e021dbb18"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "04cf5278-5df5-4183-a536-f9d0a8e70a3c",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "72216326-cc46-4a8c-9b31-98f4819c01ee",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "782416ee-b79f-454d-ace3-d80c0f2b8770",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "64a14e9c-a656-462f-9eda-4e46505363da",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "fcacdb0f-2b1e-4feb-9460-2dc12d2487e9",
        "cmd_type": "plane_set_color"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "e6c71c40-54d7-4fbc-929e-5e477f974cc9",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "54c69967-e85a-409e-8913-7966d7e415d4",
        "cmd_type": "plane_set_color"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "ba9a22cf-f8dd-4dc0-ae0a-8c7ab9fbd858",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "08d27974-5949-45c7-94c5-8b65f7092de5",
        "cmd_type": "plane_set_color"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "dd14df42-36ac-4365-8d85-0b83d1e0b8ab",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "194feb77-da07-458c-8f25-2246a13cf92d",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "9aea9a4a-d7de-4bac-b0b7-7987ee5e71b2",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "9f7bd18d-7542-482a-9b56-5040192fd95c",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "12732b88-9858-49d2-9b3e-aae47847513e",
        "cmd_type": "plane_set_color"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "010eee0c-eac5-46cd-9511-124748535eef",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "8d8178fb-709d-47ff-b314-ff521c953847",
        "cmd_type": "plane_set_color"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "14316987-db8a-49fd-885f-fe8befb7f26d",
        "cmd_type": "make_plane"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "7587421d-1f79-4a45-bf0c-a3c62cd62eb5",
        "cmd_type": "plane_set_color"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_batch_req",
          "batch_id": "28f55445-daa4-4f71-ab31-5af463ad0f7e",
          "requests": [
            {
              "cmd": { "type": "set_scene_units", "unit": "mm" },
              "cmd_id": "865ba06d-5bd9-4066-a72b-a104de9ea447"
            },
            {
              "cmd": {
                "type": "enable_sketch_mode",
                "adjust_camera": false,
                "animated": false,
                "entity_id": "9f7bd18d-7542-482a-9b56-5040192fd95c",
                "ortho": false,
                "planar_normal": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "047cac0c-daf4-4d37-9b57-33c4c6bed91d"
            },
            {
              "cmd": { "type": "start_path" },
              "cmd_id": "e09d6194-8466-4559-abda-606df81d0356"
            },
            {
              "cmd": {
                "type": "move_path_pen",
                "path": "e09d6194-8466-4559-abda-606df81d0356",
                "to": { "x": 0, "y": 0, "z": 0 }
              },
              "cmd_id": "72ed9b93-d201-49e4-ad9d-d04d3354cfbe"
            },
            {
              "cmd": {
                "type": "extend_path",
                "path": "e09d6194-8466-4559-abda-606df81d0356",
                "segment": {
                  "type": "line",
                  "end": { "x": 0, "y": 6, "z": 0 },
                  "relative": true
                }
              },
              "cmd_id": "6eb1047f-8484-4755-a42b-08c4174f1697"
            },
            {
              "cmd": {
                "type": "extend_path",
                "path": "e09d6194-8466-4559-abda-606df81d0356",
                "segment": {
                  "type": "line",
                  "end": { "x": -8, "y": 0, "z": 0 },
                  "relative": true
                }
              },
              "cmd_id": "19f366a2-cf4b-487f-8f05-af2c74648eb7"
            },
            {
              "cmd": {
                "type": "extend_path",
                "path": "e09d6194-8466-4559-abda-606df81d0356",
                "segment": {
                  "type": "line",
                  "end": { "x": 0, "y": -0.32071349029490925, "z": 0 },
                  "relative": true
                }
              },
              "cmd_id": "9afbf31f-9276-4802-b46b-5e45f7a3b2c6"
            },
            {
              "cmd": {
                "type": "extend_path",
                "path": "e09d6194-8466-4559-abda-606df81d0356",
                "segment": {
                  "type": "line",
                  "end": { "x": 7.679286509705091, "y": 0, "z": 0 },
                  "relative": true
                }
              },
              "cmd_id": "9a6394df-64e7-41e8-964e-0152cb310ba7"
            },
            {
              "cmd": {
                "type": "extend_path",
                "path": "e09d6194-8466-4559-abda-606df81d0356",
                "segment": {
                  "type": "line",
                  "end": { "x": 0, "y": -5.679286509705091, "z": 0 },
                  "relative": true
                }
              },
              "cmd_id": "f5caff65-9ea7-4a77-a976-4bcd8eed336a"
            },
            {
              "cmd": {
                "type": "close_path",
                "path_id": "e09d6194-8466-4559-abda-606df81d0356"
              },
              "cmd_id": "00f1a6d4-2089-4739-9a25-c4e9eb538598"
            },
            {
              "cmd": { "type": "sketch_mode_disable" },
              "cmd_id": "588718ea-b8ec-45c2-92cb-9e9443b4f00d"
            }
          ],
          "responses": false
        }
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_batch_req",
          "batch_id": "bdf53fc0-01af-4451-8ea0-5f74685332d7",
          "requests": [
            {
              "cmd": { "type": "set_scene_units", "unit": "mm" },
              "cmd_id": "fb61b669-cfde-451c-ba20-eb2b86e71e6b"
            },
            {
              "cmd": {
                "type": "enable_sketch_mode",
                "adjust_camera": false,
                "animated": false,
                "entity_id": "9f7bd18d-7542-482a-9b56-5040192fd95c",
                "ortho": false,
                "planar_normal": { "x": 0, "y": 0, "z": 1 }
              },
              "cmd_id": "a4f99544-70c3-4f66-987a-eddd4829dcde"
            },
            {
              "cmd": { "type": "start_path" },
              "cmd_id": "4588299b-e9a3-4d67-9bee-ca0062f79c31"
            },
            {
              "cmd": {
                "type": "move_path_pen",
                "path": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
                "to": { "x": 0, "y": 0, "z": 0 }
              },
              "cmd_id": "b80b2e0d-fd12-4261-89a4-9d13b7b4835e"
            },
            {
              "cmd": {
                "type": "extend_path",
                "path": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
                "segment": {
                  "type": "line",
                  "end": { "x": 0, "y": 6, "z": 0 },
                  "relative": true
                }
              },
              "cmd_id": "39bb99f8-2a2a-4b8e-a6de-3aaf9bcbdacf"
            },
            {
              "cmd": {
                "type": "extend_path",
                "path": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
                "segment": {
                  "type": "line",
                  "end": { "x": -8, "y": 0, "z": 0 },
                  "relative": true
                }
              },
              "cmd_id": "1b7a95c1-698e-4550-aae4-91edf7913c63"
            },
            {
              "cmd": {
                "type": "extend_path",
                "path": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
                "segment": {
                  "type": "line",
                  "end": { "x": 0, "y": -0.32071349029490925, "z": 0 },
                  "relative": true
                }
              },
              "cmd_id": "193b448e-704f-425c-b9c3-a892bac5e628"
            },
            {
              "cmd": {
                "type": "extend_path",
                "path": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
                "segment": {
                  "type": "line",
                  "end": { "x": 7.679286509705091, "y": 0, "z": 0 },
                  "relative": true
                }
              },
              "cmd_id": "2aa53dcf-2042-46d7-8278-1fd67ec00a6a"
            },
            {
              "cmd": {
                "type": "extend_path",
                "path": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
                "segment": {
                  "type": "line",
                  "end": { "x": 0, "y": -5.679286509705091, "z": 0 },
                  "relative": true
                }
              },
              "cmd_id": "dcf9d442-edb6-4284-84ae-4d73b7fac0d9"
            },
            {
              "cmd": {
                "type": "close_path",
                "path_id": "4588299b-e9a3-4d67-9bee-ca0062f79c31"
              },
              "cmd_id": "308c9dbd-2395-438f-a8a2-4cd5b04a89c2"
            },
            {
              "cmd": { "type": "sketch_mode_disable" },
              "cmd_id": "3348d28e-a8aa-4db3-86e5-98a89ab6fc3a"
            }
          ],
          "responses": false
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "865ba06d-5bd9-4066-a72b-a104de9ea447",
        "cmd_type": "set_scene_units"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "047cac0c-daf4-4d37-9b57-33c4c6bed91d",
        "cmd_type": "enable_sketch_mode"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "e09d6194-8466-4559-abda-606df81d0356",
        "cmd_type": "start_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "72ed9b93-d201-49e4-ad9d-d04d3354cfbe",
        "cmd_type": "move_path_pen"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "6eb1047f-8484-4755-a42b-08c4174f1697",
        "cmd_type": "extend_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "19f366a2-cf4b-487f-8f05-af2c74648eb7",
        "cmd_type": "extend_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "9afbf31f-9276-4802-b46b-5e45f7a3b2c6",
        "cmd_type": "extend_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "9a6394df-64e7-41e8-964e-0152cb310ba7",
        "cmd_type": "extend_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "f5caff65-9ea7-4a77-a976-4bcd8eed336a",
        "cmd_type": "extend_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "00f1a6d4-2089-4739-9a25-c4e9eb538598",
        "cmd_type": "close_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "588718ea-b8ec-45c2-92cb-9e9443b4f00d",
        "cmd_type": "sketch_mode_disable"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "extrude",
            "cap": true,
            "distance": 6,
            "target": "e09d6194-8466-4559-abda-606df81d0356"
          },
          "cmd_id": "709c1b48-0f59-4d76-8df4-e475af27326a"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "fb61b669-cfde-451c-ba20-eb2b86e71e6b",
        "cmd_type": "set_scene_units"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "a4f99544-70c3-4f66-987a-eddd4829dcde",
        "cmd_type": "enable_sketch_mode"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
        "cmd_type": "start_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "b80b2e0d-fd12-4261-89a4-9d13b7b4835e",
        "cmd_type": "move_path_pen"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "39bb99f8-2a2a-4b8e-a6de-3aaf9bcbdacf",
        "cmd_type": "extend_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "1b7a95c1-698e-4550-aae4-91edf7913c63",
        "cmd_type": "extend_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "193b448e-704f-425c-b9c3-a892bac5e628",
        "cmd_type": "extend_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "2aa53dcf-2042-46d7-8278-1fd67ec00a6a",
        "cmd_type": "extend_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "dcf9d442-edb6-4284-84ae-4d73b7fac0d9",
        "cmd_type": "extend_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "308c9dbd-2395-438f-a8a2-4cd5b04a89c2",
        "cmd_type": "close_path"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "3348d28e-a8aa-4db3-86e5-98a89ab6fc3a",
        "cmd_type": "sketch_mode_disable"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "extrude",
            "cap": true,
            "distance": 6,
            "target": "4588299b-e9a3-4d67-9bee-ca0062f79c31"
          },
          "cmd_id": "3d24c870-b809-48ca-b27b-1d4596a0c1c1"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "709c1b48-0f59-4d76-8df4-e475af27326a",
        "cmd_type": "extrude"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "object_bring_to_front",
            "object_id": "e09d6194-8466-4559-abda-606df81d0356"
          },
          "cmd_id": "95e66da7-ef27-4376-bf66-b2b4c09990d4"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "3d24c870-b809-48ca-b27b-1d4596a0c1c1",
        "cmd_type": "extrude"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "object_bring_to_front",
            "object_id": "4588299b-e9a3-4d67-9bee-ca0062f79c31"
          },
          "cmd_id": "0dfd4392-20c8-44cd-85a5-5a27ea54ebe7"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "95e66da7-ef27-4376-bf66-b2b4c09990d4",
        "cmd_type": "object_bring_to_front"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "solid3d_get_extrusion_face_info",
            "edge_id": "6eb1047f-8484-4755-a42b-08c4174f1697",
            "object_id": "e09d6194-8466-4559-abda-606df81d0356"
          },
          "cmd_id": "709c1b48-0f59-4d76-8df4-e475af27326a"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "0dfd4392-20c8-44cd-85a5-5a27ea54ebe7",
        "cmd_type": "object_bring_to_front"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "solid3d_get_extrusion_face_info",
            "edge_id": "39bb99f8-2a2a-4b8e-a6de-3aaf9bcbdacf",
            "object_id": "4588299b-e9a3-4d67-9bee-ca0062f79c31"
          },
          "cmd_id": "3d24c870-b809-48ca-b27b-1d4596a0c1c1"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "solid3d_get_extrusion_face_info",
              "data": {
                "faces": [
                  {
                    "curve_id": "6eb1047f-8484-4755-a42b-08c4174f1697",
                    "face_id": "3c5b65c7-adaa-47a8-9d5a-64e26c42d34f",
                    "cap": "none"
                  },
                  {
                    "curve_id": "19f366a2-cf4b-487f-8f05-af2c74648eb7",
                    "face_id": "bfb65a9f-706a-418e-a862-b7d1452a9d8a",
                    "cap": "none"
                  },
                  {
                    "curve_id": "9afbf31f-9276-4802-b46b-5e45f7a3b2c6",
                    "face_id": "cb91463b-965b-47fa-8c05-3cd3025ff4c5",
                    "cap": "none"
                  },
                  {
                    "curve_id": "9a6394df-64e7-41e8-964e-0152cb310ba7",
                    "face_id": "1959bc0e-e3af-449e-8a37-6847554db5de",
                    "cap": "none"
                  },
                  {
                    "curve_id": "f5caff65-9ea7-4a77-a976-4bcd8eed336a",
                    "face_id": "af016013-e2d9-49bb-8122-1a55c7aa7592",
                    "cap": "none"
                  },
                  {
                    "curve_id": "00f1a6d4-2089-4739-9a25-c4e9eb538598",
                    "face_id": "6db3f493-3311-484e-b0ab-924e92611587",
                    "cap": "none"
                  },
                  {
                    "curve_id": null,
                    "face_id": "992db82c-5d3f-41f3-956a-6e1694af93dd",
                    "cap": "bottom"
                  },
                  {
                    "curve_id": null,
                    "face_id": "fc8c0f00-8ea6-44ed-a1ba-078a05f2a6e9",
                    "cap": "top"
                  }
                ]
              }
            }
          }
        },
        "id": "709c1b48-0f59-4d76-8df4-e475af27326a",
        "cmd_type": "solid3d_get_extrusion_face_info"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "solid3d_get_next_adjacent_edge",
            "edge_id": "9a6394df-64e7-41e8-964e-0152cb310ba7",
            "face_id": "1959bc0e-e3af-449e-8a37-6847554db5de",
            "object_id": "e09d6194-8466-4559-abda-606df81d0356"
          },
          "cmd_id": "888d7348-0d3a-495c-8f36-35f1d7413c22"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "solid3d_get_extrusion_face_info",
              "data": {
                "faces": [
                  {
                    "curve_id": "39bb99f8-2a2a-4b8e-a6de-3aaf9bcbdacf",
                    "face_id": "9d92f5e3-421e-4993-b714-406ecec3c6a4",
                    "cap": "none"
                  },
                  {
                    "curve_id": "1b7a95c1-698e-4550-aae4-91edf7913c63",
                    "face_id": "32dd5c77-ac3e-4c26-a2ca-c2d719096657",
                    "cap": "none"
                  },
                  {
                    "curve_id": "193b448e-704f-425c-b9c3-a892bac5e628",
                    "face_id": "66e28b70-7d8f-4991-84e1-edb72e98b5e6",
                    "cap": "none"
                  },
                  {
                    "curve_id": "2aa53dcf-2042-46d7-8278-1fd67ec00a6a",
                    "face_id": "0552ef76-6105-42f2-b821-b0987b735df4",
                    "cap": "none"
                  },
                  {
                    "curve_id": "dcf9d442-edb6-4284-84ae-4d73b7fac0d9",
                    "face_id": "c01c66e8-5331-47e9-a277-86360cf662c2",
                    "cap": "none"
                  },
                  {
                    "curve_id": "308c9dbd-2395-438f-a8a2-4cd5b04a89c2",
                    "face_id": "7728b6ab-6049-477b-9af1-fb6c14d228af",
                    "cap": "none"
                  },
                  {
                    "curve_id": null,
                    "face_id": "891a2b35-7670-41c6-af3f-d45cb553b031",
                    "cap": "bottom"
                  },
                  {
                    "curve_id": null,
                    "face_id": "754d5fec-74f7-4f9c-b7fc-550cc60247e5",
                    "cap": "top"
                  }
                ]
              }
            }
          }
        },
        "id": "3d24c870-b809-48ca-b27b-1d4596a0c1c1",
        "cmd_type": "solid3d_get_extrusion_face_info"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "solid3d_get_next_adjacent_edge",
            "edge_id": "2aa53dcf-2042-46d7-8278-1fd67ec00a6a",
            "face_id": "0552ef76-6105-42f2-b821-b0987b735df4",
            "object_id": "4588299b-e9a3-4d67-9bee-ca0062f79c31"
          },
          "cmd_id": "ca953d8b-8aab-4864-890e-4f67a2ffeb22"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "solid3d_get_next_adjacent_edge",
              "data": { "edge": "9eef506c-0bbc-49ae-a6ba-88c3eaae71f9" }
            }
          }
        },
        "id": "888d7348-0d3a-495c-8f36-35f1d7413c22",
        "cmd_type": "solid3d_get_next_adjacent_edge"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_batch_req",
          "batch_id": "2b7dc848-32d2-40b7-bf0e-6f2908db19b9",
          "requests": [
            {
              "cmd": {
                "type": "solid3d_fillet_edge",
                "edge_id": "9eef506c-0bbc-49ae-a6ba-88c3eaae71f9",
                "object_id": "e09d6194-8466-4559-abda-606df81d0356",
                "radius": 0.25,
                "tolerance": 1e-7
              },
              "cmd_id": "c1924efe-64aa-427c-b2c2-63fe56693cb2"
            },
            {
              "cmd": {
                "type": "solid3d_get_next_adjacent_edge",
                "edge_id": "6eb1047f-8484-4755-a42b-08c4174f1697",
                "face_id": "3c5b65c7-adaa-47a8-9d5a-64e26c42d34f",
                "object_id": "e09d6194-8466-4559-abda-606df81d0356"
              },
              "cmd_id": "db293ff9-d892-4bb8-ae28-b495cc46cee3"
            }
          ],
          "responses": false
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "solid3d_get_next_adjacent_edge",
              "data": { "edge": "324b82c9-bce6-4491-ad68-40e83d02ea26" }
            }
          }
        },
        "id": "ca953d8b-8aab-4864-890e-4f67a2ffeb22",
        "cmd_type": "solid3d_get_next_adjacent_edge"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_batch_req",
          "batch_id": "8c35efd8-6d82-46fa-b9a6-ac88e56c768c",
          "requests": [
            {
              "cmd": {
                "type": "solid3d_fillet_edge",
                "edge_id": "324b82c9-bce6-4491-ad68-40e83d02ea26",
                "object_id": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
                "radius": 0.25,
                "tolerance": 1e-7
              },
              "cmd_id": "04c063b6-2ab7-46b2-a1cd-63c39b66f58c"
            },
            {
              "cmd": {
                "type": "solid3d_get_next_adjacent_edge",
                "edge_id": "39bb99f8-2a2a-4b8e-a6de-3aaf9bcbdacf",
                "face_id": "9d92f5e3-421e-4993-b714-406ecec3c6a4",
                "object_id": "4588299b-e9a3-4d67-9bee-ca0062f79c31"
              },
              "cmd_id": "3a3324e0-282e-46c5-8c4f-38d91cdaaee3"
            }
          ],
          "responses": false
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "solid3d_get_next_adjacent_edge",
              "data": { "edge": "559e4fc0-a090-40b4-a103-c394674a2c41" }
            }
          }
        },
        "id": "c1924efe-64aa-427c-b2c2-63fe56693cb2",
        "cmd_type": "solid3d_fillet_edge"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "solid3d_get_next_adjacent_edge",
              "data": { "edge": "559e4fc0-a090-40b4-a103-c394674a2c41" }
            }
          }
        },
        "id": "db293ff9-d892-4bb8-ae28-b495cc46cee3",
        "cmd_type": "solid3d_get_next_adjacent_edge"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "solid3d_fillet_edge",
            "edge_id": "559e4fc0-a090-40b4-a103-c394674a2c41",
            "object_id": "e09d6194-8466-4559-abda-606df81d0356",
            "radius": 0.5707134902949093,
            "tolerance": 1e-7
          },
          "cmd_id": "691c54cd-40bc-4d19-aa99-d9f15715c0c9"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "solid3d_get_next_adjacent_edge",
              "data": { "edge": "2ff2be53-2e3e-4aee-8bfb-ceea39c7b4a0" }
            }
          }
        },
        "id": "04c063b6-2ab7-46b2-a1cd-63c39b66f58c",
        "cmd_type": "solid3d_fillet_edge"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "solid3d_get_next_adjacent_edge",
              "data": { "edge": "2ff2be53-2e3e-4aee-8bfb-ceea39c7b4a0" }
            }
          }
        },
        "id": "3a3324e0-282e-46c5-8c4f-38d91cdaaee3",
        "cmd_type": "solid3d_get_next_adjacent_edge"
      },
      {
        "type": "send-modeling",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "solid3d_fillet_edge",
            "edge_id": "2ff2be53-2e3e-4aee-8bfb-ceea39c7b4a0",
            "object_id": "4588299b-e9a3-4d67-9bee-ca0062f79c31",
            "radius": 0.5707134902949093,
            "tolerance": 1e-7
          },
          "cmd_id": "fe45bd70-e801-41a8-b0f8-704394b2d487"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "691c54cd-40bc-4d19-aa99-d9f15715c0c9",
        "cmd_type": "solid3d_fillet_edge"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "fe45bd70-e801-41a8-b0f8-704394b2d487",
        "cmd_type": "solid3d_fillet_edge"
      },
      {
        "type": "send-scene",
        "data": {
          "type": "modeling_cmd_batch_req",
          "batch_id": "e7fea969-7c93-45d7-941a-353132eaf958",
          "responses": false,
          "requests": [
            {
              "cmd_id": "42d601d2-dfba-4216-9e89-315717b4145f",
              "cmd": {
                "type": "edit_mode_enter",
                "target": "e09d6194-8466-4559-abda-606df81d0356"
              }
            },
            {
              "cmd_id": "fc6a084b-2713-4461-8e3b-48a5f271fc2a",
              "cmd": {
                "type": "set_selection_filter",
                "filter": ["face", "edge", "solid2d"]
              }
            }
          ]
        }
      },
      {
        "type": "send-scene",
        "data": {
          "type": "modeling_cmd_req",
          "cmd_id": "51f6ffbc-3758-4768-9867-a4f5a8524295",
          "cmd": { "type": "zoom_to_fit", "object_ids": [], "padding": 0.1 }
        }
      },
      {
        "type": "send-scene",
        "data": {
          "type": "modeling_cmd_batch_req",
          "batch_id": "694c8aa4-6712-4e97-afee-bc36f413cd06",
          "responses": false,
          "requests": [
            {
              "cmd_id": "926b437c-7282-4b14-86b0-e89188ebf24b",
              "cmd": {
                "type": "edit_mode_enter",
                "target": "4588299b-e9a3-4d67-9bee-ca0062f79c31"
              }
            },
            {
              "cmd_id": "16b07325-857a-4977-bed2-1c03e79d9129",
              "cmd": {
                "type": "set_selection_filter",
                "filter": ["face", "edge", "solid2d"]
              }
            }
          ]
        }
      },
      {
        "type": "send-scene",
        "data": {
          "type": "modeling_cmd_req",
          "cmd_id": "3b33a8df-45fe-461a-a10f-3a880d4693a0",
          "cmd": { "type": "zoom_to_fit", "object_ids": [], "padding": 0.1 }
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "e7fea969-7c93-45d7-941a-353132eaf958"
      },
      {
        "type": "send-scene",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": {
            "type": "select_with_point",
            "selected_at_window": { "x": 1078, "y": 116 },
            "selection_type": "add"
          },
          "cmd_id": "f3367759-f595-4aa6-960e-27c23641ed5f"
        }
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "zoom_to_fit",
              "data": {
                "settings": {
                  "pos": { "x": -4, "y": -9.970947, "z": 9.018494 },
                  "center": { "x": -4, "y": 3, "z": 3 },
                  "up": { "x": 0, "y": 0, "z": 1 },
                  "orientation": {
                    "x": -0.5380994,
                    "y": 0,
                    "z": 0,
                    "w": 0.8428814
                  },
                  "fov_y": 45,
                  "ortho_scale": null,
                  "ortho": false
                }
              }
            }
          }
        },
        "id": "51f6ffbc-3758-4768-9867-a4f5a8524295",
        "cmd_type": "zoom_to_fit"
      },
      { "type": "execution-done", "data": null },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": { "modeling_response": { "type": "empty" } }
        },
        "id": "694c8aa4-6712-4e97-afee-bc36f413cd06"
      },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "zoom_to_fit",
              "data": {
                "settings": {
                  "pos": { "x": -4, "y": -9.95733, "z": 9.012176 },
                  "center": { "x": -4, "y": 3, "z": 3 },
                  "up": { "x": 0, "y": 0, "z": 1 },
                  "orientation": {
                    "x": -0.5380994,
                    "y": 0,
                    "z": 0,
                    "w": 0.8428814
                  },
                  "fov_y": 45,
                  "ortho_scale": null,
                  "ortho": false
                }
              }
            }
          }
        },
        "id": "3b33a8df-45fe-461a-a10f-3a880d4693a0",
        "cmd_type": "zoom_to_fit"
      },
      { "type": "execution-done", "data": null },
      {
        "type": "receive-reliable",
        "data": {
          "type": "modeling",
          "data": {
            "modeling_response": {
              "type": "select_with_point",
              "data": { "entity_id": null }
            }
          }
        },
        "id": "f3367759-f595-4aa6-960e-27c23641ed5f",
        "cmd_type": "select_with_point"
      },
      {
        "type": "send-scene",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": { "type": "select_clear" },
          "cmd_id": "be3c09bf-f135-4a3b-8851-fccbe12530f9"
        }
      },
      {
        "type": "send-scene",
        "data": {
          "type": "modeling_cmd_req",
          "cmd": { "type": "select_add", "entities": [] },
          "cmd_id": "15c2c9f3-7ec6-401f-8712-157f3f569575"
        }
      }
    ],
    "engine_connection": { "state": { "type": "connection-established" } },
    "default_planes": {
      "xy": "9f7bd18d-7542-482a-9b56-5040192fd95c",
      "xz": "14316987-db8a-49fd-885f-fe8befb7f26d",
      "yz": "010eee0c-eac5-46cd-9511-124748535eef",
      "negXy": "dd14df42-36ac-4365-8d85-0b83d1e0b8ab",
      "negXz": "9aea9a4a-d7de-4bac-b0b7-7987ee5e71b2",
      "negYz": "194feb77-da07-458c-8f25-2246a13cf92d"
    },
    "in_sequence": 26,
    "out_sequence": 26,
    "scene_command_artifacts": {
      "6cc619fd-9741-463e-9e5f-34e72296a148": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "set_background_color",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "6cc619fd-9741-463e-9e5f-34e72296a148",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "c2aabdfb-286c-4e55-a53e-0a22e58102b1": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "set_default_system_properties",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "c2aabdfb-286c-4e55-a53e-0a22e58102b1",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "a3bb37bb-860f-4b39-86eb-6906e6bf1507": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "edge_lines_visible",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "a3bb37bb-860f-4b39-86eb-6906e6bf1507",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "c4c63382-2833-4f98-a531-405adf656dbd": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "default_camera_get_settings",
        "data": {
          "type": "default_camera_get_settings",
          "data": {
            "settings": {
              "pos": { "x": 0, "y": -1250, "z": 580 },
              "center": { "x": 0, "y": 0, "z": 0 },
              "up": { "x": 0, "y": 0, "z": 1 },
              "orientation": {
                "x": -0.5380994,
                "y": 0,
                "z": 0,
                "w": 0.8428814
              },
              "fov_y": 45,
              "ortho_scale": null,
              "ortho": false
            }
          }
        },
        "raw": {
          "success": true,
          "request_id": "c4c63382-2833-4f98-a531-405adf656dbd",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "default_camera_get_settings",
                "data": {
                  "settings": {
                    "pos": { "x": 0, "y": -1250, "z": 580 },
                    "center": { "x": 0, "y": 0, "z": 0 },
                    "up": { "x": 0, "y": 0, "z": 1 },
                    "orientation": {
                      "x": -0.5380994,
                      "y": 0,
                      "z": 0,
                      "w": 0.8428814
                    },
                    "fov_y": 45,
                    "ortho_scale": null,
                    "ortho": false
                  }
                }
              }
            }
          }
        }
      },
      "a7bc3fba-301f-44d7-bc6c-41917c901fb8": {
        "type": "result",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "a7bc3fba-301f-44d7-bc6c-41917c901fb8",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "03d69a62-2ebb-4c80-b809-861e021dbb18": {
        "type": "result",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "03d69a62-2ebb-4c80-b809-861e021dbb18",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "51f6ffbc-3758-4768-9867-a4f5a8524295": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "zoom_to_fit",
        "data": {
          "type": "zoom_to_fit",
          "data": {
            "settings": {
              "pos": { "x": -4, "y": -9.970947, "z": 9.018494 },
              "center": { "x": -4, "y": 3, "z": 3 },
              "up": { "x": 0, "y": 0, "z": 1 },
              "orientation": {
                "x": -0.5380994,
                "y": 0,
                "z": 0,
                "w": 0.8428814
              },
              "fov_y": 45,
              "ortho_scale": null,
              "ortho": false
            }
          }
        },
        "raw": {
          "success": true,
          "request_id": "51f6ffbc-3758-4768-9867-a4f5a8524295",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "zoom_to_fit",
                "data": {
                  "settings": {
                    "pos": { "x": -4, "y": -9.970947, "z": 9.018494 },
                    "center": { "x": -4, "y": 3, "z": 3 },
                    "up": { "x": 0, "y": 0, "z": 1 },
                    "orientation": {
                      "x": -0.5380994,
                      "y": 0,
                      "z": 0,
                      "w": 0.8428814
                    },
                    "fov_y": 45,
                    "ortho_scale": null,
                    "ortho": false
                  }
                }
              }
            }
          }
        }
      },
      "3b33a8df-45fe-461a-a10f-3a880d4693a0": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "zoom_to_fit",
        "data": {
          "type": "zoom_to_fit",
          "data": {
            "settings": {
              "pos": { "x": -4, "y": -9.95733, "z": 9.012176 },
              "center": { "x": -4, "y": 3, "z": 3 },
              "up": { "x": 0, "y": 0, "z": 1 },
              "orientation": {
                "x": -0.5380994,
                "y": 0,
                "z": 0,
                "w": 0.8428814
              },
              "fov_y": 45,
              "ortho_scale": null,
              "ortho": false
            }
          }
        },
        "raw": {
          "success": true,
          "request_id": "3b33a8df-45fe-461a-a10f-3a880d4693a0",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "zoom_to_fit",
                "data": {
                  "settings": {
                    "pos": { "x": -4, "y": -9.95733, "z": 9.012176 },
                    "center": { "x": -4, "y": 3, "z": 3 },
                    "up": { "x": 0, "y": 0, "z": 1 },
                    "orientation": {
                      "x": -0.5380994,
                      "y": 0,
                      "z": 0,
                      "w": 0.8428814
                    },
                    "fov_y": 45,
                    "ortho_scale": null,
                    "ortho": false
                  }
                }
              }
            }
          }
        }
      },
      "e7fea969-7c93-45d7-941a-353132eaf958": {
        "type": "result",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "e7fea969-7c93-45d7-941a-353132eaf958",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "f3367759-f595-4aa6-960e-27c23641ed5f": {
        "type": "result",
        "range": [0, 0],
        "pathToNode": [],
        "commandType": "select_with_point",
        "data": { "type": "select_with_point", "data": { "entity_id": null } },
        "raw": {
          "success": true,
          "request_id": "f3367759-f595-4aa6-960e-27c23641ed5f",
          "resp": {
            "type": "modeling",
            "data": {
              "modeling_response": {
                "type": "select_with_point",
                "data": { "entity_id": null }
              }
            }
          }
        }
      },
      "694c8aa4-6712-4e97-afee-bc36f413cd06": {
        "type": "result",
        "data": { "type": "empty" },
        "raw": {
          "success": true,
          "request_id": "694c8aa4-6712-4e97-afee-bc36f413cd06",
          "resp": {
            "type": "modeling",
            "data": { "modeling_response": { "type": "empty" } }
          }
        }
      },
      "be3c09bf-f135-4a3b-8851-fccbe12530f9": {
        "range": [0, 0],
        "pathToNode": [],
        "type": "pending",
        "commandType": "select_clear",
        "promise": {}
      },
      "15c2c9f3-7ec6-401f-8712-157f3f569575": {
        "range": [0, 0],
        "pathToNode": [],
        "type": "pending",
        "commandType": "select_add",
        "promise": {}
      }
    }
  },
  "kcl_manager": {
    "ast": {
      "start": 0,
      "end": 1606,
      "body": [
        {
          "type": "VariableDeclaration",
          "start": 354,
          "end": 375,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 360,
              "end": 375,
              "id": {
                "type": "Identifier",
                "start": 360,
                "end": 371,
                "name": "shelfMountL"
              },
              "init": {
                "type": "Literal",
                "start": 374,
                "end": 375,
                "value": 8,
                "raw": "8"
              }
            }
          ],
          "kind": "const"
        },
        {
          "type": "VariableDeclaration",
          "start": 438,
          "end": 458,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 444,
              "end": 458,
              "id": {
                "type": "Identifier",
                "start": 444,
                "end": 454,
                "name": "wallMountL"
              },
              "init": {
                "type": "Literal",
                "start": 457,
                "end": 458,
                "value": 6,
                "raw": "6"
              }
            }
          ],
          "kind": "const"
        },
        {
          "type": "VariableDeclaration",
          "start": 572,
          "end": 596,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 578,
              "end": 596,
              "id": {
                "type": "Identifier",
                "start": 578,
                "end": 588,
                "name": "sigmaAllow"
              },
              "init": {
                "type": "Literal",
                "start": 591,
                "end": 596,
                "value": 35000,
                "raw": "35000"
              }
            }
          ],
          "kind": "const"
        },
        {
          "type": "VariableDeclaration",
          "start": 604,
          "end": 619,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 610,
              "end": 619,
              "id": {
                "type": "Identifier",
                "start": 610,
                "end": 615,
                "name": "width"
              },
              "init": {
                "type": "Literal",
                "start": 618,
                "end": 619,
                "value": 6,
                "raw": "6"
              }
            }
          ],
          "kind": "const"
        },
        {
          "type": "VariableDeclaration",
          "start": 628,
          "end": 641,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 634,
              "end": 641,
              "id": {
                "type": "Identifier",
                "start": 634,
                "end": 635,
                "name": "p"
              },
              "init": {
                "type": "Literal",
                "start": 638,
                "end": 641,
                "value": 300,
                "raw": "300"
              }
            }
          ],
          "kind": "const"
        },
        {
          "type": "VariableDeclaration",
          "start": 666,
          "end": 678,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 672,
              "end": 678,
              "id": {
                "type": "Identifier",
                "start": 672,
                "end": 673,
                "name": "L"
              },
              "init": {
                "type": "Literal",
                "start": 676,
                "end": 678,
                "value": 12,
                "raw": "12"
              }
            }
          ],
          "kind": "const"
        },
        {
          "type": "VariableDeclaration",
          "start": 689,
          "end": 708,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 695,
              "end": 708,
              "id": {
                "type": "Identifier",
                "start": 695,
                "end": 696,
                "name": "M"
              },
              "init": {
                "type": "BinaryExpression",
                "start": 699,
                "end": 708,
                "operator": "/",
                "left": {
                  "type": "BinaryExpression",
                  "start": 699,
                  "end": 704,
                  "operator": "*",
                  "left": {
                    "type": "Identifier",
                    "start": 699,
                    "end": 700,
                    "name": "L"
                  },
                  "right": {
                    "type": "Identifier",
                    "start": 703,
                    "end": 704,
                    "name": "p"
                  }
                },
                "right": {
                  "type": "Literal",
                  "start": 707,
                  "end": 708,
                  "value": 2,
                  "raw": "2"
                }
              }
            }
          ],
          "kind": "const"
        },
        {
          "type": "VariableDeclaration",
          "start": 755,
          "end": 768,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 761,
              "end": 768,
              "id": {
                "type": "Identifier",
                "start": 761,
                "end": 764,
                "name": "FOS"
              },
              "init": {
                "type": "Literal",
                "start": 767,
                "end": 768,
                "value": 2,
                "raw": "2"
              }
            }
          ],
          "kind": "const"
        },
        {
          "type": "VariableDeclaration",
          "start": 886,
          "end": 944,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 892,
              "end": 944,
              "id": {
                "type": "Identifier",
                "start": 892,
                "end": 901,
                "name": "thickness"
              },
              "init": {
                "type": "CallExpression",
                "start": 904,
                "end": 944,
                "callee": {
                  "type": "Identifier",
                  "start": 904,
                  "end": 908,
                  "name": "sqrt"
                },
                "arguments": [
                  {
                    "type": "BinaryExpression",
                    "start": 909,
                    "end": 942,
                    "operator": "/",
                    "left": {
                      "type": "BinaryExpression",
                      "start": 909,
                      "end": 920,
                      "operator": "*",
                      "left": {
                        "type": "BinaryExpression",
                        "start": 909,
                        "end": 914,
                        "operator": "*",
                        "left": {
                          "type": "Literal",
                          "start": 909,
                          "end": 910,
                          "value": 6,
                          "raw": "6"
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 913,
                          "end": 914,
                          "name": "M"
                        }
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 917,
                        "end": 920,
                        "name": "FOS"
                      }
                    },
                    "right": {
                      "type": "BinaryExpression",
                      "start": 924,
                      "end": 942,
                      "operator": "*",
                      "left": {
                        "type": "Identifier",
                        "start": 924,
                        "end": 929,
                        "name": "width"
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 932,
                        "end": 942,
                        "name": "sigmaAllow"
                      }
                    }
                  }
                ],
                "optional": false
              }
            }
          ],
          "kind": "const"
        },
        {
          "type": "VariableDeclaration",
          "start": 973,
          "end": 993,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 979,
              "end": 993,
              "id": {
                "type": "Identifier",
                "start": 979,
                "end": 986,
                "name": "filletR"
              },
              "init": {
                "type": "Literal",
                "start": 989,
                "end": 993,
                "value": 0.25,
                "raw": "0.25"
              }
            }
          ],
          "kind": "const"
        },
        {
          "type": "VariableDeclaration",
          "start": 1042,
          "end": 1605,
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 1048,
              "end": 1605,
              "id": {
                "type": "Identifier",
                "start": 1048,
                "end": 1055,
                "name": "bracket"
              },
              "init": {
                "type": "PipeExpression",
                "start": 1058,
                "end": 1605,
                "body": [
                  {
                    "type": "CallExpression",
                    "start": 1058,
                    "end": 1077,
                    "callee": {
                      "type": "Identifier",
                      "start": 1058,
                      "end": 1071,
                      "name": "startSketchOn"
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 1072,
                        "end": 1076,
                        "value": "XY",
                        "raw": "'XY'"
                      }
                    ],
                    "optional": false
                  },
                  {
                    "type": "CallExpression",
                    "start": 1083,
                    "end": 1108,
                    "callee": {
                      "type": "Identifier",
                      "start": 1083,
                      "end": 1097,
                      "name": "startProfileAt"
                    },
                    "arguments": [
                      {
                        "type": "ArrayExpression",
                        "start": 1098,
                        "end": 1104,
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 1099,
                            "end": 1100,
                            "value": 0,
                            "raw": "0"
                          },
                          {
                            "type": "Literal",
                            "start": 1102,
                            "end": 1103,
                            "value": 0,
                            "raw": "0"
                          }
                        ]
                      },
                      { "type": "PipeSubstitution", "start": 1106, "end": 1107 }
                    ],
                    "optional": false
                  },
                  {
                    "type": "CallExpression",
                    "start": 1114,
                    "end": 1151,
                    "callee": {
                      "type": "Identifier",
                      "start": 1114,
                      "end": 1118,
                      "name": "line"
                    },
                    "arguments": [
                      {
                        "type": "ArrayExpression",
                        "start": 1119,
                        "end": 1134,
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 1120,
                            "end": 1121,
                            "value": 0,
                            "raw": "0"
                          },
                          {
                            "type": "Identifier",
                            "start": 1123,
                            "end": 1133,
                            "name": "wallMountL"
                          }
                        ]
                      },
                      {
                        "type": "PipeSubstitution",
                        "start": 1136,
                        "end": 1137
                      },
                      {
                        "type": "Literal",
                        "start": 1139,
                        "end": 1150,
                        "value": "outerEdge",
                        "raw": "'outerEdge'"
                      }
                    ],
                    "optional": false
                  },
                  {
                    "type": "CallExpression",
                    "start": 1157,
                    "end": 1183,
                    "callee": {
                      "type": "Identifier",
                      "start": 1157,
                      "end": 1161,
                      "name": "line"
                    },
                    "arguments": [
                      {
                        "type": "ArrayExpression",
                        "start": 1162,
                        "end": 1179,
                        "elements": [
                          {
                            "type": "UnaryExpression",
                            "start": 1163,
                            "end": 1175,
                            "operator": "-",
                            "argument": {
                              "type": "Identifier",
                              "start": 1164,
                              "end": 1175,
                              "name": "shelfMountL"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 1177,
                            "end": 1178,
                            "value": 0,
                            "raw": "0"
                          }
                        ]
                      },
                      { "type": "PipeSubstitution", "start": 1181, "end": 1182 }
                    ],
                    "optional": false
                  },
                  {
                    "type": "CallExpression",
                    "start": 1189,
                    "end": 1213,
                    "callee": {
                      "type": "Identifier",
                      "start": 1189,
                      "end": 1193,
                      "name": "line"
                    },
                    "arguments": [
                      {
                        "type": "ArrayExpression",
                        "start": 1194,
                        "end": 1209,
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 1195,
                            "end": 1196,
                            "value": 0,
                            "raw": "0"
                          },
                          {
                            "type": "UnaryExpression",
                            "start": 1198,
                            "end": 1208,
                            "operator": "-",
                            "argument": {
                              "type": "Identifier",
                              "start": 1199,
                              "end": 1208,
                              "name": "thickness"
                            }
                          }
                        ]
                      },
                      { "type": "PipeSubstitution", "start": 1211, "end": 1212 }
                    ],
                    "optional": false
                  },
                  {
                    "type": "CallExpression",
                    "start": 1219,
                    "end": 1269,
                    "callee": {
                      "type": "Identifier",
                      "start": 1219,
                      "end": 1223,
                      "name": "line"
                    },
                    "arguments": [
                      {
                        "type": "ArrayExpression",
                        "start": 1224,
                        "end": 1252,
                        "elements": [
                          {
                            "type": "BinaryExpression",
                            "start": 1225,
                            "end": 1248,
                            "operator": "-",
                            "left": {
                              "type": "Identifier",
                              "start": 1225,
                              "end": 1236,
                              "name": "shelfMountL"
                            },
                            "right": {
                              "type": "Identifier",
                              "start": 1239,
                              "end": 1248,
                              "name": "thickness"
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 1250,
                            "end": 1251,
                            "value": 0,
                            "raw": "0"
                          }
                        ]
                      },
                      {
                        "type": "PipeSubstitution",
                        "start": 1254,
                        "end": 1255
                      },
                      {
                        "type": "Literal",
                        "start": 1257,
                        "end": 1268,
                        "value": "innerEdge",
                        "raw": "'innerEdge'"
                      }
                    ],
                    "optional": false
                  },
                  {
                    "type": "CallExpression",
                    "start": 1275,
                    "end": 1312,
                    "callee": {
                      "type": "Identifier",
                      "start": 1275,
                      "end": 1279,
                      "name": "line"
                    },
                    "arguments": [
                      {
                        "type": "ArrayExpression",
                        "start": 1280,
                        "end": 1308,
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 1281,
                            "end": 1282,
                            "value": 0,
                            "raw": "0"
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 1284,
                            "end": 1307,
                            "operator": "+",
                            "left": {
                              "type": "UnaryExpression",
                              "start": 1284,
                              "end": 1295,
                              "operator": "-",
                              "argument": {
                                "type": "Identifier",
                                "start": 1285,
                                "end": 1295,
                                "name": "wallMountL"
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "start": 1298,
                              "end": 1307,
                              "name": "thickness"
                            }
                          }
                        ]
                      },
                      { "type": "PipeSubstitution", "start": 1310, "end": 1311 }
                    ],
                    "optional": false
                  },
                  {
                    "type": "CallExpression",
                    "start": 1318,
                    "end": 1326,
                    "callee": {
                      "type": "Identifier",
                      "start": 1318,
                      "end": 1323,
                      "name": "close"
                    },
                    "arguments": [
                      { "type": "PipeSubstitution", "start": 1324, "end": 1325 }
                    ],
                    "optional": false
                  },
                  {
                    "type": "CallExpression",
                    "start": 1332,
                    "end": 1349,
                    "callee": {
                      "type": "Identifier",
                      "start": 1332,
                      "end": 1339,
                      "name": "extrude"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1340,
                        "end": 1345,
                        "name": "width"
                      },
                      { "type": "PipeSubstitution", "start": 1347, "end": 1348 }
                    ],
                    "optional": false
                  },
                  {
                    "type": "CallExpression",
                    "start": 1355,
                    "end": 1471,
                    "callee": {
                      "type": "Identifier",
                      "start": 1355,
                      "end": 1361,
                      "name": "fillet"
                    },
                    "arguments": [
                      {
                        "type": "ObjectExpression",
                        "start": 1362,
                        "end": 1467,
                        "properties": [
                          {
                            "type": "ObjectProperty",
                            "start": 1371,
                            "end": 1386,
                            "key": {
                              "type": "Identifier",
                              "start": 1371,
                              "end": 1377,
                              "name": "radius"
                            },
                            "value": {
                              "type": "Identifier",
                              "start": 1379,
                              "end": 1386,
                              "name": "filletR"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1395,
                            "end": 1460,
                            "key": {
                              "type": "Identifier",
                              "start": 1395,
                              "end": 1399,
                              "name": "tags"
                            },
                            "value": {
                              "type": "ArrayExpression",
                              "start": 1401,
                              "end": 1460,
                              "elements": [
                                {
                                  "type": "CallExpression",
                                  "start": 1412,
                                  "end": 1451,
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 1412,
                                    "end": 1435,
                                    "name": "getPreviousAdjacentEdge"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Literal",
                                      "start": 1436,
                                      "end": 1447,
                                      "value": "innerEdge",
                                      "raw": "'innerEdge'"
                                    },
                                    {
                                      "type": "PipeSubstitution",
                                      "start": 1449,
                                      "end": 1450
                                    }
                                  ],
                                  "optional": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      { "type": "PipeSubstitution", "start": 1469, "end": 1470 }
                    ],
                    "optional": false
                  },
                  {
                    "type": "CallExpression",
                    "start": 1477,
                    "end": 1605,
                    "callee": {
                      "type": "Identifier",
                      "start": 1477,
                      "end": 1483,
                      "name": "fillet"
                    },
                    "arguments": [
                      {
                        "type": "ObjectExpression",
                        "start": 1484,
                        "end": 1601,
                        "properties": [
                          {
                            "type": "ObjectProperty",
                            "start": 1493,
                            "end": 1520,
                            "key": {
                              "type": "Identifier",
                              "start": 1493,
                              "end": 1499,
                              "name": "radius"
                            },
                            "value": {
                              "type": "BinaryExpression",
                              "start": 1501,
                              "end": 1520,
                              "operator": "+",
                              "left": {
                                "type": "Identifier",
                                "start": 1501,
                                "end": 1508,
                                "name": "filletR"
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 1511,
                                "end": 1520,
                                "name": "thickness"
                              }
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1529,
                            "end": 1594,
                            "key": {
                              "type": "Identifier",
                              "start": 1529,
                              "end": 1533,
                              "name": "tags"
                            },
                            "value": {
                              "type": "ArrayExpression",
                              "start": 1535,
                              "end": 1594,
                              "elements": [
                                {
                                  "type": "CallExpression",
                                  "start": 1546,
                                  "end": 1585,
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 1546,
                                    "end": 1569,
                                    "name": "getPreviousAdjacentEdge"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Literal",
                                      "start": 1570,
                                      "end": 1581,
                                      "value": "outerEdge",
                                      "raw": "'outerEdge'"
                                    },
                                    {
                                      "type": "PipeSubstitution",
                                      "start": 1583,
                                      "end": 1584
                                    }
                                  ],
                                  "optional": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      { "type": "PipeSubstitution", "start": 1603, "end": 1604 }
                    ],
                    "optional": false
                  }
                ],
                "nonCodeMeta": { "nonCodeNodes": {}, "start": [] }
              }
            }
          ],
          "kind": "const"
        }
      ],
      "nonCodeMeta": {
        "nonCodeNodes": {
          "0": [
            {
              "type": "NonCodeNode",
              "start": 375,
              "end": 437,
              "value": {
                "type": "inlineComment",
                "value": "The length of the bracket holding up the shelf is 6 inches",
                "style": "line"
              }
            }
          ],
          "1": [
            {
              "type": "NonCodeNode",
              "start": 458,
              "end": 487,
              "value": {
                "type": "inlineComment",
                "value": "the length of the bracket",
                "style": "line"
              }
            },
            {
              "type": "NonCodeNode",
              "start": 487,
              "end": 490,
              "value": { "type": "newLine" }
            },
            {
              "type": "NonCodeNode",
              "start": 490,
              "end": 571,
              "value": {
                "type": "blockComment",
                "value": "Define constants required to calculate the thickness needed to support 300 lbs",
                "style": "line"
              }
            }
          ],
          "2": [
            {
              "type": "NonCodeNode",
              "start": 596,
              "end": 603,
              "value": {
                "type": "inlineComment",
                "value": "psi",
                "style": "line"
              }
            }
          ],
          "3": [
            {
              "type": "NonCodeNode",
              "start": 619,
              "end": 627,
              "value": {
                "type": "inlineComment",
                "value": "inch",
                "style": "line"
              }
            }
          ],
          "4": [
            {
              "type": "NonCodeNode",
              "start": 641,
              "end": 665,
              "value": {
                "type": "inlineComment",
                "value": "Force on shelf - lbs",
                "style": "line"
              }
            }
          ],
          "5": [
            {
              "type": "NonCodeNode",
              "start": 678,
              "end": 688,
              "value": {
                "type": "inlineComment",
                "value": "inches",
                "style": "line"
              }
            }
          ],
          "6": [
            {
              "type": "NonCodeNode",
              "start": 708,
              "end": 754,
              "value": {
                "type": "inlineComment",
                "value": "Moment experienced at fixed end of bracket",
                "style": "line"
              }
            }
          ],
          "7": [
            {
              "type": "NonCodeNode",
              "start": 768,
              "end": 812,
              "value": {
                "type": "inlineComment",
                "value": "Factor of safety of 2 to be conservative",
                "style": "line"
              }
            },
            {
              "type": "NonCodeNode",
              "start": 812,
              "end": 815,
              "value": { "type": "newLine" }
            },
            {
              "type": "NonCodeNode",
              "start": 815,
              "end": 885,
              "value": {
                "type": "blockComment",
                "value": "Calculate the thickness off the bending stress and factor of safety",
                "style": "line"
              }
            }
          ],
          "8": [
            {
              "type": "NonCodeNode",
              "start": 944,
              "end": 972,
              "value": {
                "type": "newLineBlockComment",
                "value": "0.25 inch fillet radius",
                "style": "line"
              }
            }
          ],
          "9": [
            {
              "type": "NonCodeNode",
              "start": 993,
              "end": 1041,
              "value": {
                "type": "newLineBlockComment",
                "value": "Sketch the bracket and extrude with fillets",
                "style": "line"
              }
            }
          ]
        },
        "start": [
          {
            "type": "NonCodeNode",
            "start": 0,
            "end": 16,
            "value": {
              "type": "blockComment",
              "value": "Shelf Bracket",
              "style": "line"
            }
          },
          {
            "type": "NonCodeNode",
            "start": 17,
            "end": 316,
            "value": {
              "type": "blockComment",
              "value": "This is a shelf bracket made out of 6061-T6 aluminum sheet metal. The required thickness is calculated based on a point load of 300 lbs applied to the end of the shelf. There are two brackets holding up the shelf, so the moment experienced is divided by 2. The shelf is 1 foot long from the wall.",
              "style": "line"
            }
          },
          {
            "type": "NonCodeNode",
            "start": 316,
            "end": 319,
            "value": { "type": "newLine" }
          },
          {
            "type": "NonCodeNode",
            "start": 319,
            "end": 353,
            "value": {
              "type": "blockComment",
              "value": "Define our bracket feet lengths",
              "style": "line"
            }
          }
        ]
      }
    },
    "kcl_errors": []
  },
  "scene_infra": {
    "_baseUnit": "mm",
    "_baseUnitMultiplier": 1,
    "_theme": "dark",
    "callbacks": [],
    "currentMouseVector": { "x": 0.3474999999999999, "y": 0.13108614232209737 },
    "extraSegmentTexture": {
      "metadata": {
        "version": 4.6,
        "type": "Texture",
        "generator": "Texture.toJSON"
      },
      "uuid": "978ef02c-edf2-4c99-bfc6-7ed5bf33afac",
      "name": "",
      "image": "e41ecf0b-5e4e-4688-84e4-81a1f0bf18d1",
      "mapping": 300,
      "channel": 0,
      "repeat": [1, 1],
      "offset": [0, 0],
      "center": [0, 0],
      "rotation": 0,
      "wrap": [1001, 1001],
      "format": 1023,
      "internalFormat": null,
      "type": 1009,
      "colorSpace": "",
      "minFilter": 1008,
      "magFilter": 1006,
      "anisotropy": 16,
      "flipY": true,
      "generateMipmaps": true,
      "premultiplyAlpha": false,
      "unpackAlignment": 4
    },
    "fov": 45,
    "fovBeforeAnimate": 45,
    "hoveredObject": null,
    "isFovAnimationInProgress": false,
    "isPerspective": true,
    "lastMouseState": { "type": "idle" },
    "mouseDownVector": null,
    "overlayThrottleMap": {},
    "overlayTimeout": 99,
    "planeRaycaster": {
      "ray": {
        "origin": { "x": 0, "y": -1250, "z": 580 },
        "direction": {
          "x": 0.652600256511068,
          "y": 0.7035977870134367,
          "z": -0.28118154155542124
        }
      },
      "near": 0,
      "far": null,
      "camera": {
        "metadata": {
          "version": 4.6,
          "type": "Object",
          "generator": "Object3D.toJSON"
        },
        "object": {
          "uuid": "7b172ca4-d344-4916-b603-0149d54b64b5",
          "type": "PerspectiveCamera",
          "layers": 5,
          "matrix": [
            1, 0, 0, 0, 0, 0.42089661952487656, 0.9071086129414335, 0, 0,
            -0.9071086129414335, 0.42089661952487656, 0, -4, -9.970947,
            9.018494, 1
          ],
          "up": [0, 0.42089807143928004, 0.90710795122232],
          "fov": 45,
          "zoom": 1,
          "near": 1.428421019811302,
          "far": 28.568420396226042,
          "focus": 10,
          "aspect": 5.992509363295881,
          "filmGauge": 35,
          "filmOffset": 0
        }
      },
      "layers": { "mask": 3 },
      "params": {
        "Mesh": {},
        "Line": { "threshold": 1 },
        "LOD": {},
        "Points": { "threshold": 1 },
        "Sprite": {}
      }
    },
    "raycaster": {
      "ray": {
        "origin": { "x": 0, "y": -1250, "z": 580 },
        "direction": {
          "x": 0.6628844796611507,
          "y": 0.6965914249471351,
          "z": -0.2744896233275232
        }
      },
      "near": 0,
      "far": null,
      "camera": {
        "metadata": {
          "version": 4.6,
          "type": "Object",
          "generator": "Object3D.toJSON"
        },
        "object": {
          "uuid": "7b172ca4-d344-4916-b603-0149d54b64b5",
          "type": "PerspectiveCamera",
          "layers": 5,
          "matrix": [
            1, 0, 0, 0, 0, 0.42089661952487656, 0.9071086129414335, 0, 0,
            -0.9071086129414335, 0.42089661952487656, 0, -4, -9.970947,
            9.018494, 1
          ],
          "up": [0, 0.42089807143928004, 0.90710795122232],
          "fov": 45,
          "zoom": 1,
          "near": 1.428421019811302,
          "far": 28.568420396226042,
          "focus": 10,
          "aspect": 5.992509363295881,
          "filmGauge": 35,
          "filmOffset": 0
        }
      },
      "layers": { "mask": 4 },
      "params": {
        "Mesh": {},
        "Line": { "threshold": 1 },
        "LOD": {},
        "Points": { "threshold": 1 },
        "Sprite": {}
      }
    },
    "renderer": {
      "isWebGLRenderer": true,
      "domElement": {},
      "debug": { "checkShaderErrors": true, "onShaderError": null },
      "autoClear": true,
      "autoClearColor": true,
      "autoClearDepth": true,
      "autoClearStencil": true,
      "sortObjects": true,
      "clippingPlanes": [],
      "localClippingEnabled": false,
      "_outputColorSpace": "srgb",
      "_useLegacyLights": false,
      "toneMapping": 0,
      "toneMappingExposure": 1,
      "capabilities": {
        "isWebGL2": true,
        "precision": "highp",
        "logarithmicDepthBuffer": false,
        "maxTextures": 16,
        "maxVertexTextures": 16,
        "maxTextureSize": 16384,
        "maxCubemapSize": 16384,
        "maxAttributes": 16,
        "maxVertexUniforms": 1024,
        "maxVaryings": 15,
        "maxFragmentUniforms": 1024,
        "vertexTextures": true,
        "maxSamples": 4
      },
      "extensions": {},
      "properties": {},
      "renderLists": {},
      "shadowMap": {
        "enabled": false,
        "autoUpdate": true,
        "needsUpdate": false,
        "type": 1
      },
      "state": { "buffers": { "color": {}, "depth": {}, "stencil": {} } },
      "info": {
        "memory": { "geometries": 0, "textures": 0 },
        "render": {
          "frame": 144,
          "calls": 0,
          "triangles": 0,
          "points": 0,
          "lines": 0
        },
        "programs": [],
        "autoReset": true
      },
      "xr": {
        "cameraAutoUpdate": true,
        "enabled": false,
        "isPresenting": false,
        "_listeners": { "sessionstart": [null], "sessionend": [null] }
      }
    },
    "scene": {
      "metadata": {
        "version": 4.6,
        "type": "Object",
        "generator": "Object3D.toJSON"
      },
      "object": {
        "uuid": "0fdb3038-d05c-4e41-9e32-a45650fce63f",
        "type": "Scene",
        "layers": 1,
        "matrix": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],
        "up": [0, 1, 0],
        "children": [
          {
            "uuid": "26da13b8-4d81-4e1b-8f78-a4a4f742e2c3",
            "type": "AmbientLight",
            "layers": 1,
            "matrix": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],
            "up": [0, 1, 0],
            "color": 5263440,
            "intensity": 1
          }
        ],
        "backgroundRotation": [0, 0, 0, "XYZ"],
        "environmentRotation": [0, 0, 0, "XYZ"]
      }
    },
    "selected": null
  },
  "auth_machine": { "meta": [] },
  "command_bar_machine": { "meta": [] },
  "file_machine": { "meta": [] },
  "home_machine": { "meta": [] },
  "modeling_machine": { "meta": [] },
  "settings_machine": { "meta": [] }
}

@jessfraz How attached are we to making everything snake_case? Since I'm pulling the just pass me JSON escape hatch, I'm no longer coercing everything to snake_case in Rust. A quick scroll through the data above will display many instances of keys left in camelCase from the JavaScript side of things. If maintaining snake_case is important for our final object, I can update the keys in the TypeScript processing.

@jessfraz
Copy link
Contributor

super not attached ahaha even if we made a parser we could alias what we needed to make it work, its just internal use anyways

@dshaw
Copy link
Contributor Author

dshaw commented May 28, 2024

Cool, I won't prioritize.

@dshaw
Copy link
Contributor Author

dshaw commented May 28, 2024

Before I rip open XState, does anyone want to add any of the following singletons to coredump?

  • sceneEntitiesManager
  • editorManager
  • 🙅 enableMousePositionLogs
      // TODO: /src/lib/singletons.ts also defines the following singletons
      // sceneEntitiesManager
      console.log(
        'CoreDump: TODO? sceneEntitiesManager',
        globalThis?.window?.sceneEntitiesManager
      )
      // editorManager
      console.log(
        'CoreDump: TODO? editorManager',
        globalThis?.window?.editorManager
      )
      // enableMousePositionLogs
      console.log(
        'CoreDump: TODO? enableMousePositionLogs',
        globalThis?.window?.enableMousePositionLogs
      )

@franknoirot
Copy link
Collaborator

@Irev-Dev @franknoirot Currently dumping ast and kclErrors from kclManager. What other properties from kclManager would be useful for debugging?

@Irev-Dev will know better than me, but my thoughts are:

  1. isExecuting
  2. logs
  3. programMemory
  4. wasmInitFailed

@Irev-Dev
Copy link
Collaborator

Yeah I was going to mention programMemory

@franknoirot
Copy link
Collaborator

I'll be a bit more helpful on the XState set than I will be with the singletons. Getting access to each machine's state will be a matter of:

  1. destructuring it off of a call to the corresponding use<insertMachineName>Context()
  2. getting the current state machine node name with state.value and the event that brought us here with state.event
  3. getting the current stored values of the context (probably, unless we're maxed out on space) with state.context

For example:

const { state: modelingState } = useModelingContext()
const modelingDataToSend = {
  value: modelingState.value,
  event: modelingState.event,
  context: modelingState.context,
}

@dshaw
Copy link
Contributor Author

dshaw commented May 28, 2024

I'll be a bit more helpful on the XState set than I will be with the singletons. Getting access to each machine's state will be a matter of...

Thank you, @franknoirot. This is really helpful. I had punched my way into XState internals at one point during my testing, but __xstate__ is no longer showing up on global. https://github.com/KittyCAD/modeling-app/blob/coredump-clientstate/src/lib/coredump.ts#L349

Thanks for showing me the right way to access the reference. I was about to hit you up for this, so your timing is impeccable.

@franknoirot
Copy link
Collaborator

No sweat @dshaw! Just know that the use<insertMachineName>Context() function call is a React hook, so will only be available from within a React component. I think wherever the coredump.getClientState() gets called from React is where you can safely queue up all your XState context calls, and maybe it's best to pass them or their already-processed data into getClientState? However you want, just want you to know you can't call those hooks from outside a React component.

@dshaw
Copy link
Contributor Author

dshaw commented May 29, 2024

@franknoirot I think we might need to add some plumbing to the various machines so they each share the data we need with coredump given XState's data privacy. Given that, I think I might land the singleton portion of the code first to limit the surface area of these changes.

@Irev-Dev
Copy link
Collaborator

Irev-Dev commented May 29, 2024

  • sceneEntitiesManager : possibly activeSegments
  • editorManager: basically contains the code, we could derive this from the AST but it is probably best to capture it.
  • enableMousePositionLogs: no nothing valuable here

@dshaw
Copy link
Contributor Author

dshaw commented May 30, 2024

Coredump of all singletons have landed in https://github.com/KittyCAD/modeling-app/tree/coredump-clientstate. The size of the JSON we're producing is now significantly larger than the initial implementation, so the data can no longer be urlencode and pass to GitHub. It needs to be uploaded similar to how we upload screenshots.

One of my favorite commits as I prepare to land coredump was deleting all the Rust structs I had to build out before getting ts-rs upgraded to 8.1 and patched since it is the implementation I had in mind when I began working on this. ec20e97

I got hung up on some rust stuff that I'll try resolve on Thursday, 2024-05-30 with @paultag. 62302cc

Last but not least, I want to get a Playwright/e2e test in to accompany the PR.

@dshaw
Copy link
Contributor Author

dshaw commented Jun 13, 2024

Completed Rust upload implementation in https://github.com/KittyCAD/modeling-app/tree/coredump-uploadmulti

See demo of final upload in #2650

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
coredump Issues that contain a coredump.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants