460 lines
18 KiB
JSON
460 lines
18 KiB
JSON
{
|
|
"schema": "freecad-web-assembly-module-batch-runtime/v1",
|
|
"taskId": "FW-P6-FPA-Y",
|
|
"batchId": "2ca87987ab766f2b97a11da6",
|
|
"module": "Assembly",
|
|
"tier": "tier-1-readonly",
|
|
"family": "generic-object",
|
|
"status": "pass_with_boundaries",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"route": {
|
|
"command": "assembly.pythonFamily",
|
|
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/AssemblyRuntimeProbe.cpp:fc_web_dispatch_json",
|
|
"facade": "web/src/assembly-python-family-facade.ts",
|
|
"worker": "web/src/assembly.worker.ts"
|
|
},
|
|
"input": {
|
|
"cmd": "assembly.pythonFamily",
|
|
"args": {
|
|
"tier": "tier-1-readonly",
|
|
"records": [
|
|
{
|
|
"apiId": "py:Assembly:class:MakeJointSelGate",
|
|
"name": "MakeJointSelGate",
|
|
"family": "generic-object",
|
|
"sourcePath": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 1426,
|
|
"disposition": "planned"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:method:TaskAssemblyCreateJoint.getMovingPart",
|
|
"name": "TaskAssemblyCreateJoint.getMovingPart",
|
|
"family": "generic-object",
|
|
"sourcePath": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 2131,
|
|
"disposition": "planned"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:class:PreferencesPage",
|
|
"name": "PreferencesPage",
|
|
"family": "generic-object",
|
|
"sourcePath": "src/Mod/Assembly/Preferences.py",
|
|
"sourceLine": 34,
|
|
"disposition": "planned"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:class:SoSwitchMarker",
|
|
"name": "SoSwitchMarker",
|
|
"family": "generic-object",
|
|
"sourcePath": "src/Mod/Assembly/SoSwitchMarker.py",
|
|
"sourceLine": 41,
|
|
"disposition": "planned"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"inputSha256": "4e6b32007a61a28a3f572936ace036780662ec25701cc1ea9ff055befe40f33a",
|
|
"result": {
|
|
"cmd": "assembly.pythonFamily",
|
|
"count": 4,
|
|
"module": "Assembly",
|
|
"ok": true,
|
|
"records": [
|
|
{
|
|
"apiId": "py:Assembly:class:MakeJointSelGate",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "MakeJointSelGate",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 1426,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:method:TaskAssemblyCreateJoint.getMovingPart",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "TaskAssemblyCreateJoint.getMovingPart",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 2131,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:class:PreferencesPage",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "PreferencesPage",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/Preferences.py",
|
|
"sourceLine": 34,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:class:SoSwitchMarker",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "SoSwitchMarker",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/SoSwitchMarker.py",
|
|
"sourceLine": 41,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
}
|
|
],
|
|
"resourcesReleased": true,
|
|
"schema": "freecad-web-assembly/python-family/v1",
|
|
"source": "freecad-source",
|
|
"tier": "tier-1-readonly"
|
|
},
|
|
"resultSha256": "e923005a7cb63775f3b075f753e9429b887fea0f6442befb67932ee437ed9e34",
|
|
"replay": {
|
|
"equal": true,
|
|
"resultSha256": "e923005a7cb63775f3b075f753e9429b887fea0f6442befb67932ee437ed9e34"
|
|
},
|
|
"facadeWorker": {
|
|
"ready": {
|
|
"kind": "ready",
|
|
"action": "assembly.pythonFamily"
|
|
},
|
|
"success": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "assembly-generic-batch-success",
|
|
"result": {
|
|
"cmd": "assembly.pythonFamily",
|
|
"count": 4,
|
|
"module": "Assembly",
|
|
"ok": true,
|
|
"records": [
|
|
{
|
|
"apiId": "py:Assembly:class:MakeJointSelGate",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "MakeJointSelGate",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 1426,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:method:TaskAssemblyCreateJoint.getMovingPart",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "TaskAssemblyCreateJoint.getMovingPart",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 2131,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:class:PreferencesPage",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "PreferencesPage",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/Preferences.py",
|
|
"sourceLine": 34,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:class:SoSwitchMarker",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "SoSwitchMarker",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/SoSwitchMarker.py",
|
|
"sourceLine": 41,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
}
|
|
],
|
|
"resourcesReleased": true,
|
|
"schema": "freecad-web-assembly/python-family/v1",
|
|
"source": "freecad-source",
|
|
"tier": "tier-1-readonly"
|
|
}
|
|
},
|
|
"repeat": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "assembly-generic-batch-repeat",
|
|
"result": {
|
|
"cmd": "assembly.pythonFamily",
|
|
"count": 4,
|
|
"module": "Assembly",
|
|
"ok": true,
|
|
"records": [
|
|
{
|
|
"apiId": "py:Assembly:class:MakeJointSelGate",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "MakeJointSelGate",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 1426,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:method:TaskAssemblyCreateJoint.getMovingPart",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "TaskAssemblyCreateJoint.getMovingPart",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 2131,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:class:PreferencesPage",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "PreferencesPage",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/Preferences.py",
|
|
"sourceLine": 34,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:class:SoSwitchMarker",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "generic-object",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"name": "SoSwitchMarker",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "gui-command",
|
|
"sourceEntry": "src/Mod/Assembly/SoSwitchMarker.py",
|
|
"sourceLine": 41,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "restricted"
|
|
}
|
|
],
|
|
"resourcesReleased": true,
|
|
"schema": "freecad-web-assembly/python-family/v1",
|
|
"source": "freecad-source",
|
|
"tier": "tier-1-readonly"
|
|
}
|
|
},
|
|
"crossModule": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "assembly-generic-batch-cross",
|
|
"result": {
|
|
"cmd": "assembly.pythonFamily",
|
|
"count": 1,
|
|
"module": "Assembly",
|
|
"ok": true,
|
|
"records": [
|
|
{
|
|
"apiId": "py:BIM:class:Binding",
|
|
"code": "unmatched_source_record",
|
|
"family": "generic-object",
|
|
"message": "Assembly API record is not part of this module-scoped adapter",
|
|
"name": "MakeJointSelGate",
|
|
"native": true,
|
|
"parameterSchema": "unmatched",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "unmatched",
|
|
"sourceEntry": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 1426,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceVerified": true,
|
|
"status": "not_implemented"
|
|
}
|
|
],
|
|
"resourcesReleased": true,
|
|
"schema": "freecad-web-assembly/python-family/v1",
|
|
"source": "freecad-source",
|
|
"tier": "tier-1-readonly"
|
|
}
|
|
},
|
|
"malformed": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "invalid",
|
|
"error": {
|
|
"code": "invalid_request",
|
|
"message": "Assembly Python family envelope is invalid"
|
|
}
|
|
},
|
|
"cancelled": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "assembly-family-cancel-1",
|
|
"error": {
|
|
"code": "cancelled",
|
|
"message": "request was cancelled"
|
|
}
|
|
},
|
|
"reset": {
|
|
"kind": "reset",
|
|
"requestId": "assembly-generic-batch-reset"
|
|
},
|
|
"traceSha256": "e261adc1c2ae7bef9ff71b6db99228dbc0fcf67d452a9c6776d658b807aca29b"
|
|
},
|
|
"dispositionCounts": {
|
|
"exposed": 0,
|
|
"restricted": 4,
|
|
"nonportable": 0,
|
|
"not_implemented": 0
|
|
},
|
|
"records": [
|
|
{
|
|
"apiId": "py:Assembly:class:MakeJointSelGate",
|
|
"name": "MakeJointSelGate",
|
|
"family": "generic-object",
|
|
"status": "restricted",
|
|
"code": "gui_dependency_unavailable",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"sourceEntry": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 1426,
|
|
"sourceVerified": true,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceLineHash": "62ff9706f6789cf3a00dfb7fbfcd5760f860c596eb5301b6c9784736dbf3376e",
|
|
"parameterSchema": "source-declared",
|
|
"returnSchema": "gui-command",
|
|
"evidenceSha256": "10a0ca017d1c4ac0559c931dec07cd85dcaa7f5c30d9c9b3dab44cdb2d08cc56"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:method:TaskAssemblyCreateJoint.getMovingPart",
|
|
"name": "TaskAssemblyCreateJoint.getMovingPart",
|
|
"family": "generic-object",
|
|
"status": "restricted",
|
|
"code": "gui_dependency_unavailable",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"sourceEntry": "src/Mod/Assembly/JointObject.py",
|
|
"sourceLine": 2131,
|
|
"sourceVerified": true,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceLineHash": "ebdd7ed40f80c19b243e372e4da062c3b7c758eea7b393d83162c2fb6f1e4ebb",
|
|
"parameterSchema": "source-declared",
|
|
"returnSchema": "gui-command",
|
|
"evidenceSha256": "717c013a4bbe3c6b4a3dd81138be40a30b1f0014b056af418e2f68dd4a931a23"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:class:PreferencesPage",
|
|
"name": "PreferencesPage",
|
|
"family": "generic-object",
|
|
"status": "restricted",
|
|
"code": "gui_dependency_unavailable",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"sourceEntry": "src/Mod/Assembly/Preferences.py",
|
|
"sourceLine": 34,
|
|
"sourceVerified": true,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceLineHash": "87469ccac81be92f5291cb68a7d699be2acb75e2e996e3223d78a3640179e993",
|
|
"parameterSchema": "source-declared",
|
|
"returnSchema": "gui-command",
|
|
"evidenceSha256": "205d3b87eb905fdf052491e5c2796defff1f2f4245966abaab40659cd305ba2a"
|
|
},
|
|
{
|
|
"apiId": "py:Assembly:class:SoSwitchMarker",
|
|
"name": "SoSwitchMarker",
|
|
"family": "generic-object",
|
|
"status": "restricted",
|
|
"code": "gui_dependency_unavailable",
|
|
"message": "Assembly declaration is GUI/task-panel bound and FreeCADGui/PySide is unavailable in the headless Web runtime",
|
|
"sourceEntry": "src/Mod/Assembly/SoSwitchMarker.py",
|
|
"sourceLine": 41,
|
|
"sourceVerified": true,
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"sourceLineHash": "051901af7a604b9ca98a3824589f1a80ddd82a7862849f9be1852545ebf86810",
|
|
"parameterSchema": "source-declared",
|
|
"returnSchema": "gui-command",
|
|
"evidenceSha256": "4b201435d26192fed0a47dbae2d9fe132d84a241a8137cf7002e2c75911b2b74"
|
|
}
|
|
],
|
|
"resources": {
|
|
"resourcesReleased": true,
|
|
"documentMutation": false,
|
|
"readonlyFixture": true
|
|
},
|
|
"artifacts": {
|
|
"wasm": {
|
|
"path": "web/public/kernel/FreeCADWebAssemblyProbe.wasm",
|
|
"sha256": "b92789f859c04d84cca3d8c287b87e91e9f124b3ead56e04d8e0580a3a41ac7b"
|
|
},
|
|
"loader": {
|
|
"path": "web/public/kernel/FreeCADWebAssemblyProbe.js",
|
|
"sha256": "bee119323deee64f876f7e0af93001a6cbb28f7e35be6904d373ae27d735ec40"
|
|
}
|
|
},
|
|
"boundaries": [
|
|
"Assembly command, view-provider and task-panel declarations remain restricted because FreeCADGui/PySide is unavailable in the GUI-free Web runtime.",
|
|
"Simulation, Motion, Joint and helper declarations retain source-verified method_evidence_pending boundaries until a typed native argument/return fixture exists.",
|
|
"All statuses, source lines and hashes derive from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope."
|
|
]
|
|
}
|