Files
workinf_Blender_Wasm/my-tools
mes123456 e3677bd2a1
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled
docs(web): publish detailed feature completeness audit
2026-09-07 08:41:30 +08:00
..

Blender Web Unattended Tools

my-tools is the project-local launcher and observability layer for the Blender 5.2 Web/WASM capability workflow. The repository's Node tools remain authoritative for queue ownership, source mapping, Chromium evidence, handoff, commit and push.

Entrypoints

  • run_blender_web_scheduler.py: foreground wrapper around tools/web/run-wbv2-scheduler.mjs.
  • watch_blender_web_scheduler.py: single-instance watchdog; it only restarts a missing scheduler and stops on a terminal or blocked checkpoint.
  • show_blender_web_scheduler.py: delegates live RUNNING/IDLE/BLOCKED state to tools/web/print-wbv2-live-status.mjs.
  • validate_incremental_context.py: validates only the active batch metadata; unchanged inputs return incremental-context-ok ... context=REUSED.
  • start_unattended.sh: launches the scheduler and watchdog with nohup and setsid for process-level continuity.
  • check_continuation_state.py and validate_web_context.py: read-only WBV2 context and governance gates.
  • prepare_web_task_context.py: writes the canonical tests/golden/<task>/task-context.json through the repository checker.

All scripts and reference documents use Blender terminology and paths.

Start

From the repository root:

chmod +x my-tools/start_unattended.sh
my-tools/start_unattended.sh
python3 my-tools/show_blender_web_scheduler.py

Equivalent foreground command:

python3 my-tools/run_blender_web_scheduler.py --max-iterations 0 --commit --push

The scheduler reads docs/EXECUTION_QUEUE.md, runs the current authorized nextTask through the native Blender/WASM production path, and writes all receipts and checkpoints under tests/golden/WBV2. It does not fabricate a task, bypass a blocked checkpoint, or replay a terminal task.

Runtime State

tests/golden/WBV2/continuous-scheduler.json
tests/golden/WBV2/continuous-scheduler.log
tests/golden/WBV2/continuous-guardian.json
tests/golden/WBV2/continuous-supervisor.json
tests/golden/WBV2/my-tools-scheduler.json
tests/golden/WBV2/my-tools-watchdog.json

For machine-readable live state:

python3 my-tools/show_blender_web_scheduler.py --json

Implementation cycles use a bounded fast path: each module manifest carries a stable batchId and selected record IDs, context metadata compares bytes/mtime_ns before hashing, and the outer scheduler owns planner and continuation rotation. Full API, format, Chromium, performance and release gates remain an explicit final-audit operation.

--commit --push is enabled by the launcher and can be disabled for a local dry run with WBV2_AUTO_COMMIT=0 WBV2_AUTO_PUSH=0.

On Linux, the launcher uses /dev/shm/blender-wasm-<uid> for Emscripten and temporary compiler caches. CPU compilation remains capped at the repository's required -j8; Chromium evidence stays single-worker for determinism.