hara.runtime.blender.impl

+default-blender-container+

+init+

+server-blender+

blender

added in 4.1

(blender)(blender m)

Creates and starts a Blender runtime.

blender-bootstrap

added in 4.1

(blender-bootstrap port)(blender-bootstrap port host)

Python bootstrap that runs inside Blender and starts a TCP server on PORT. HOST defaults to 127.0.0.1; use 0.0.0.0 when running inside a container.

blender-exec

added in 4.1

(blender-exec)

Resolves the blender executable.

blender-shared:create

added in 4.1

(blender-shared:create m)

Creates a shared Blender runtime client.

A flat :id is promoted to :rt/id so that (script :python {:runtime :blender :id :shared}) shares the same process across namespaces.

blender:create

added in 4.1

(blender:create {:keys [id exec container], :as m})

Creates a Blender runtime.

invoke-ptr-blender

added in 4.1

(invoke-ptr-blender rt ptr args)

Invokes a pointer in the Blender runtime.

raw-eval-blender

added in 4.1

(raw-eval-blender {:keys [reader output], :as rt} code)

Evaluates Python code inside Blender and returns the JSON-decoded result.

start-blender

added in 4.1

(start-blender {:keys [exec container], :as rt})

Starts a headless blender process with a Python socket server. Falls back to a Docker container when the local binary is missing and a :container image is configured.

stop-blender

added in 4.1

(stop-blender {:keys [process socket container], :as rt})

Stops the blender process/socket or container.