properties: copy the path, and copy the call that would set it - #122
Open
zmaril wants to merge 1 commit into
Open
properties: copy the path, and copy the call that would set it#122zmaril wants to merge 1 commit into
zmaril wants to merge 1 commit into
Conversation
powderman previewhttps://powderman-pr-122.fly.dev The workbench, live: split/join/swap areas, the F3 palette, the widgets, themes, tooltips, the status bar. On branches with the MCP server, point an agent at it: claude mcp add --transport http powderman-preview "https://powderman-pr-122.fly.dev/mcp"Updated on every push. Destroyed when this PR closes. |
zmaril
force-pushed
the
properties/context-menu
branch
from
August 21, 2026 16:43
777f73c to
5509664
Compare
zmaril
force-pushed
the
properties/context-menu
branch
from
August 22, 2026 20:54
5509664 to
aecf0a5
Compare
zmaril
force-pushed
the
properties/context-menu
branch
from
August 22, 2026 21:58
aecf0a5 to
092685c
Compare
Blender's property right-click has Copy Data Path, and it is there because
the gap it closes is real: you are looking at a thing and you need the
words that address it. Blender's words are Python. Ours are a JSON pointer
and the command that writes it — which is the sentence someone hands an
agent, so this is the most powderman-shaped thing on the Blender review.
A field's menu gains Copy data path and Copy as command. Both go through
the clipboard action the menu shim already has, so neither costs a message
and neither needed a new mechanism.
The Info log gets the other half. Blender's Info editor shows every
operator as the Python that ran it, which is what makes it more than a
receipt — you can copy a line out of the log into a script. A row now
copies as `workspace_add {"name":"x"}`: the MCP tool spelling, because the
point is to paste it where an agent reads. `tool_name` moved out of the
parity test to do it, so the spelling rule the test checks with is the one
the UI shows.
Two corrections to my own review. Reset to default already existed — I
listed it as missing and it has been there since the widget kit landed.
What was missing is that `/theme` was the one field without a default, so
it alone had no reset row.
Writing the test for that found a real one: `/diff_split` was offered in
Preferences and was not in the settings document at all, so it had no
default to reset to and every reader guessed one. Now the test holds the
field defaults and the document defaults together, which is the drift that
makes a reset button quietly reset to a value the daemon never used.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XjCx5QszLXroGYh1YBxybw
zmaril
force-pushed
the
properties/context-menu
branch
from
August 22, 2026 22:25
092685c to
b7baba6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #121. Second of the Blender-review sequence — with two corrections to my own review.
Blender's property right-click has Copy Data Path, and it's there because the gap it closes is real: you're looking at a thing and you need the words that address it. Blender's words are Python. Ours are a JSON pointer and the command that writes it — which is the sentence someone hands an agent.
What's new
Field menu gains Copy data path (
/accent) and Copy as command:Info log rows gain a menu. Blender's Info editor shows every operator as the Python that ran it — that's what makes it more than a receipt, you can copy a line out of the log into a script. A row now copies as:
The MCP tool spelling, because the point is to paste it where an agent reads.
tool_namemoved out of the parity test to do it, so the spelling rule the test checks with is the one the UI shows. There's a test that every command's copied form names a tool the server actually answers.Both go through the clipboard action the menu shim already had, so neither costs a message and neither needed a new mechanism.
Correction 1: reset-to-default already existed
I listed it as a gap in my review. It's been there since the widget kit landed —
Field.defaultplus a "Reset to default" row. My mistake.What was missing:
/themewas the one field with no default, so it alone had no reset row. Fixed.Correction 2: writing the test for that found a real bug
/diff_splitwas offered in Preferences and absent from the settings document entirely. So it had no default to reset to, and every reader guessed one (.unwrap_or(false)in three places). Now declared.The test holds field defaults and document defaults together:
That's the drift that makes a reset button quietly reset to a value the daemon has never used — a control that looks like it works.
168 tests pass; fmt clean, clippy clean under
-D warnings,docs/reference.mdregenerated.🤖 Generated with Claude Code
https://claude.ai/code/session_01XjCx5QszLXroGYh1YBxybw