WIP: Blender node graphs: design #3

Draft
libby wants to merge 5 commits from libby/blender-node-graphs-design into main
Member

Design only, no code. Adds docs/blender-node-graphs.md: how Brokkr creates, configures and reads back Blender shader/material, world, geometry-node and compositor graphs.

Covers: the typed graph document brokkr.blender.node_graph.v0 (nodes by Brokkr-owned id, blIdname, location; sockets by Blender identifier with type and default; links; group nodes and group interfaces; tree kinds material | world | geometry | compositor | shaderGroup), snapshot read-back with caps and revision/contentHash, the actions (createNodeTree, createNodeGroup, addNode, removeNode, setNodeInput, setNodeProperty, linkSockets, unlinkSockets, assignNodeTree, setModifierInput) plus an atomic editNodeTree batch, idempotency by node id, error slugs, what must not be exposed (script nodes/OSL, evaluated strings, file-touching nodes), what is testable without Blender versus what needs a live one, a Blender version matrix, a five-cut plan and open questions.

Nothing in it has been run against Blender (not installed). Rows of the version matrix marked "confirm" are unverified claims and are labelled as such in the doc.

Draft; not merged.

🤖 Generated with Claude Code

**Design only, no code.** Adds `docs/blender-node-graphs.md`: how Brokkr creates, configures and reads back Blender shader/material, world, geometry-node and compositor graphs. Covers: the typed graph document `brokkr.blender.node_graph.v0` (nodes by Brokkr-owned id, `blIdname`, location; sockets by Blender identifier with type and default; links; group nodes and group interfaces; tree kinds material | world | geometry | compositor | shaderGroup), snapshot read-back with caps and `revision`/`contentHash`, the actions (`createNodeTree`, `createNodeGroup`, `addNode`, `removeNode`, `setNodeInput`, `setNodeProperty`, `linkSockets`, `unlinkSockets`, `assignNodeTree`, `setModifierInput`) plus an atomic `editNodeTree` batch, idempotency by node id, error slugs, what must not be exposed (script nodes/OSL, evaluated strings, file-touching nodes), what is testable without Blender versus what needs a live one, a Blender version matrix, a five-cut plan and open questions. Nothing in it has been run against Blender (not installed). Rows of the version matrix marked "confirm" are unverified claims and are labelled as such in the doc. Draft; not merged. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Design only. Typed brokkr.blender.node_graph.v0 document, tree kinds, read-back,
the node actions, idempotency by node id, error slugs, exclusion of script nodes,
testable-without-Blender split, version matrix, cut plan.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Five real setups (grass tuft, index-of-nearest helpers, raycast helpers, shortest-path
labyrinth, Blender essentials as library groups) plus the scripted habitats, expressed
as Brokkr ops where possible, with eleven numbered design gaps. Nothing run in Blender.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Folds item sockets (addNodeItem), zones (addZone, in v1), interface field-ness,
multi-input sockets, library groups (linkNodeGroupAsset) and evaluated read-back
(queryEvaluated) into the design. node_graph_probe.py ran 37 checks on Blender
5.2.3 LTS; it corrected the modifier input API, opaque interface identifiers,
capture item identifiers, Poisson socket availability and the library asset counts.
A verification-status table records what was and was not run.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin libby/blender-node-graphs-design:libby/blender-node-graphs-design
git switch libby/blender-node-graphs-design

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff libby/blender-node-graphs-design
git switch libby/blender-node-graphs-design
git rebase main
git switch main
git merge --ff-only libby/blender-node-graphs-design
git switch libby/blender-node-graphs-design
git rebase main
git switch main
git merge --no-ff libby/blender-node-graphs-design
git switch main
git merge --squash libby/blender-node-graphs-design
git switch main
git merge --ff-only libby/blender-node-graphs-design
git switch main
git merge libby/blender-node-graphs-design
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Brokkr!3
No description provided.