Repository navigation
0.5.4 — reviewable as a desktop extension
The release that makes AnkusDrive reviewable as a desktop extension. Every one of the
281 tools now says what it is and whether it can change your work, so clients can run
the read-only ones unasked and confirm the rest; the package ships a privacy policy
backed by an audit that found no network access in its code; and the .mcpb carries
both, which Anthropic's extension directory requires. Two capabilities arrive with it:
a Blender studio backend for photoreal renders, and a container backend for the
OpenFOAM-backed solver families.
Added
- Every MCP tool now carries a display
titleand behaviour hints (readOnlyHint,
destructiveHint,openWorldHint: false), so clients can auto-approve the 143
read-only tools and ask before the 46 that may change or remove existing state
(closing documents, overwriting files, editing objects,run_script). The
classification lives in one registry,ankusdrive/tool_annotations.py, with each
destructive mark's reason. The server refuses to import with an unclassified tool,
and a fast-lane test fails a read-only tool whose handler visibly mutates
(#368). PRIVACY.md, plus a README Privacy Policy section andprivacy_policiesin the
MCPB manifest. AnkusDrive collects nothing and its code makes no network requests;
the policy lists exactly what is stored locally and where
(#368).- A Blender (Cycles) backend for
render_photoreal: assemblies with per-part
appearance (the 14 Render card names or a neutral PBR dict), a studio scene
(cyclorama plus key/fill/rim/top lights scaled to the model),qualitydraft /
preview / final with OIDN denoising, GPUdeviceauto-selection with CPU fallback,
and a.blendalongside the PNG for refinement in Blender. Blender is discovered
like a solver (ANKUSDRIVE_BLENDER_PATH, PATH, per-OS dirs), reported by
setup_status/render_capabilitieswith an install hint, and installable with
scripts/install-renderers.sh blender/install-solvers.ps1 blender
(#357). - A container substrate for the OpenFOAM-backed families:
ANKUSDRIVE_SUBSTRATE
=native | wsl | multipass | container, with docker / podman / nerdctl via
ANKUSDRIVE_CONTAINER_ENGINE. Unset keeps each OS's existing default; an invalid
selection raises a named error rather than silently defaulting. See
docs/CONTAINER_SUBSTRATE.md(#366).
Fixed
solve_capabilities,setup_statusanddoctorreported openEMS, Bempp and KrakenOS
as absent on installs where the worker actually runs them: discovery checked the
module in its own process, not the dedicated interpreter the solve uses. One
resolver,solvers.solver_python, now probes each candidate interpreter in a child
process (find_spec only, so the GPL boundary holds) and is shared by discovery and
the worker (#353).- The release's
.mcpb.sha256nameddist/ankusdrive-<version>.mcpb, so
sha256sum -cbeside a downloaded bundle failed; it now names the bare filename
(#355).