Add editor right-click context actions
Native and manual checks / native (ubuntu-24.04) (push) Failing after 1m54s
Native and manual checks / manual (push) Successful in 32s
Native and manual checks / native (windows-2025) (push) Canceled after 0s
Windows editor and software Vulkan / windows-graphics (push) Canceled after 0s

This commit is contained in:
Emil
2026-09-24 15:44:25 +03:00
parent 3eea1fe9f1
commit f07eb4091e
11 changed files with 733 additions and 14 deletions
+10 -1
View File
@@ -1,4 +1,4 @@
# P1 editor visual references
# Editor visual references
These image prototypes were generated from the recorded native editor screenshot in
`docs/validation/checkpoint5-linux-2026-09-18/editor-blender.png` before changing the
@@ -15,3 +15,12 @@ Both were created with the built-in image generation tool using the cited screen
as the edit reference. The accepted behavior and validation criteria are in the
[P1 design](../superpowers/specs/2026-09-24-p1-iteration-design.md) and
[`PLAN.md`](../../PLAN.md).
The [editor context-menu reference](editor-context-menu-reference.png) explores
the hierarchy, asset-browser, and viewport menus in the same dark editor style.
It is a **visual reference**, not the authority for enabled actions, wording,
positions, or behavior. The [Editor workspace manual](../manual/editor/workspace.md#right-click-context-menus)
describes the intended interaction; source code and tests determine the implemented
behavior.
The [Linux implementation capture](../validation/context-menus-2026-09-24/scene-context.png)
shows the Scene-root menu rendered by the acceptance test.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

+36
View File
@@ -94,6 +94,42 @@ These shortcuts apply when a text or numeric editor is not consuming the key.
The viewport camera is an editing camera; navigating it does not rewrite a scene
camera component.
## Right-click context menus
Right-click a Scene-tree row to act on that row. Right-click the scene root or
empty space in the tree to **Create object**, **Create cube**, **Create plane**,
or **Create sprite**. An ordinary local object offers **Frame selection**,
**Rename**, **Add child object**, **Duplicate**, and **Delete**. Duplicate and
Delete are single authoring actions; use **Undo** to reverse either one.
Add child creates an object parented to the
selected row. Right-clicking also selects the target, so an action applies to the
row under the pointer rather than a previously selected object.
Template content keeps its ownership rules. An inherited object offers
**Frame selection**, **Open template source**, **Add local child**, and
**Hide in this scene**. Locally added objects have no corresponding source
object, so they omit **Open template source**. Open an inherited object's source
scene to rename or change its inherited structure; suppression hides it only in
the containing instance. A top-level instance group offers **Open template source**,
**Add local object**, and **Remove instance**. Nested instance groups direct
structural changes to their source. See [Scene templates](templates.md) for
restoring suppressed objects and the difference between source and local edits.
In **Assets**, right-click a project file to select it and show actions appropriate
to its type: **Open script** or **Open scene**, **Import / Reimport** for a
supported source asset, and **Copy project path**. An imported-asset row offers
**Copy asset ID**, **Place in scene** when the cooked asset is available, and
**Reimport source** when it still has a source file. Import and Reimport start jobs;
check **Jobs** or **Console** for the result.
See [Assets and Blender](assets.md) for supported formats and reimport behavior.
A short right-click in the viewport opens the menu for the object under the
pointer, or creation actions when the pointer is over empty space. Moving while
holding the right button past the drag threshold keeps the existing camera
gesture: orbit in 3D or pan in 2D, with no menu on release. Press **Escape** or
click outside a menu to close it. These menus edit the scene through the same
authoring commands as the toolbar and MCP; they do not affect the running Player.
## Edit components and undo
The Inspector uses the registered component schema to show numbers, vectors,
@@ -0,0 +1,13 @@
# Editor context menus — Linux, 2026-09-24
`scene-context.png` is a GPU capture of the implemented Editor at 1280 × 900 with
the Scene-root context menu open. It was produced by the headless
`editor_ui_context_menu` test using `FASET_CONTEXT_CAPTURE`.
The test also exercises entity Duplicate/Delete with Undo, inherited-instance
parenting, contextual file actions, menu dismissal, and the viewport's click vs.
right-drag camera gesture. It checks that selecting an unavailable imported asset
cannot use toolbar actions on a previously selected file. See
`tests/editor_ui_context_menu.cpp` for the exact acceptance assertions. The
generated visual exploration lives separately in
`docs/design/editor-context-menu-reference.png`.
Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB