{ "schema": "freecad-web-p6-robot-action-04-kernel/v1", "taskId": "FW-P6-ROB-ACT-04-C", "module": "Robot", "action": "save/reopen", "result": "pass", "fixture": { "module": "Robot", "action": "save/reopen", "format": "FCStd", "path": "/tmp/RobotAction04.FCStd", "objectType": "Robot::RobotObject", "axis1": 15, "axis2": -10, "inputSha256": "628440a1c3a3278e31faaf58801ab3a7fe86693939bbfa4f95dd9070321b1603" }, "first": { "configured": 1, "run": 1, "error": "", "path": "/tmp/RobotAction04.FCStd", "size": 1949, "objectType": "Robot::RobotObject", "objectCount": 1, "resourcesReleased": 1, "beforeAxis1": 15, "afterAxis1": 15, "beforeAxis2": -10, "afterAxis2": -10 }, "second": { "configured": 1, "run": 1, "error": "", "path": "/tmp/RobotAction04.FCStd", "size": 1949, "objectType": "Robot::RobotObject", "objectCount": 1, "resourcesReleased": 1, "beforeAxis1": 15, "afterAxis1": 15, "beforeAxis2": -10, "afterAxis2": -10 }, "deterministic": true, "roundTrip": true, "source": { "save": "src/Mod/Robot/App/RobotObject.cpp::RobotObject::Save", "restore": "src/Mod/Robot/App/RobotObject.cpp::RobotObject::Restore", "probe": "freecad-source/src/WebAssembly/FreeCADCoreProbe/RobotRuntimeProbeFixed.cpp", "wasm": "freecad-source/build-web/configure/bin/FreeCADWebRobotRuntimeProbe.wasm", "wasmSha256": "0c230d536240bb54703ef773624368976fd9c948c21603d0f8cc1fcfa6ffb136" }, "resultSha256": "f2df93639d4e8539d66b9037e5fdd0a8b5fb2acf16ef915149b96ec24b556703", "commands": [ "EM_CACHE=/tmp/freecad-p6-emcache ninja -C freecad-source/build-web/configure FreeCADWebRobotRuntimeProbe -j8", "node tools/run_p6_robot_action04_kernel.mjs freecad-source/build-web/configure/bin" ], "artifacts": { "wasm": "freecad-source/build-web/configure/bin/FreeCADWebRobotRuntimeProbe.wasm", "log": "docs/freecad-p6-robot-action-04-c-kernel.log" }, "boundaries": [ "Native RobotObject::Save/Restore is exercised through App::Document FCStd serialization.", "Cross-version migration and arbitrary external paths remain out of scope." ] }