feat(blender): extension set live in the GUI; MCP acceptance 9/9, probe made safe-mode compliant
This commit is contained in:
@@ -230,4 +230,25 @@ z = 0, area 399.999982 mm² against 400. Extruded 2 mm, it gave a valid 799.9999
|
||||
real NURBS surface reaches the kernel, not triangles, and millimetres hold across the hop. That is
|
||||
one run of a flat bilinear patch; curved and trimmed patches are untested.
|
||||
|
||||
**MCP (GUI) path:** pending the stack deploy that mounts the repo and hook into the GUI container.
|
||||
**MCP (GUI) path, 2026-09-28 1506 (after Prime ran the deploy):** the hook log read
|
||||
`enabled 8/8`, `hardened: surfacepsycho ... literal_eval`, `online access: False`. Through
|
||||
`scripts/blender-mcp` → `execute_blender_code` under safe mode, the probe passed **9 of 9**,
|
||||
including CAD Sketcher (a sketch on the XY origin plane, then a full solve), because the GUI has
|
||||
the workspace tool that `-b` lacks. The eval patch held under MCP: the code payload was refused
|
||||
(`ValueError: malformed node`) and the literal `{3, 5}` was accepted.
|
||||
- **CAD Sketcher sketch, re-solved headless:** the MCP-made sketch was saved
|
||||
(`cad-sketch-mcp.blend`), then `blender-run --cpu --extensions` opened it and
|
||||
`view3d.slvs_solve(all=True)` returned FINISHED. Authoring is in the GUI; re-solving works in batch.
|
||||
- **Not solved yet:** drawing CAD Sketcher geometry from code. `slvs_add_rectangle` with
|
||||
`p1_fallback`/`p2_fallback` and `wait_for_input=False` raised
|
||||
`'NoneType' object has no attribute 'co'`. Its drawing ops are stateful and expect point picks,
|
||||
and its Python entity API is out of reach under safe mode. Sketches work; agent-drawn profiles
|
||||
need more work.
|
||||
- **Not confirmed:** MeasureIt overlays in `get_viewport_screenshot`. The segment was created and
|
||||
`measureit.runopengl` returned FINISHED, but two screenshots (a top view with a 20 mm edge
|
||||
dimension) showed no dimension.
|
||||
- `blender-run --extensions` (the real wrapper, `--cpu`) ran the same probe at 8 of 9, the one
|
||||
miss being CAD Sketcher for the headless reason above.
|
||||
|
||||
Safe-mode note for probe authors: safe mode refuses calling a function held in a variable and
|
||||
any dunder attribute (`type(ex).__name__`). The probe calls each test by name and uses `repr(ex)`.
|
||||
|
||||
Reference in New Issue
Block a user