[admin-toolkit] Edit tab 'No entity selected' persists across all world clicks; full admin deploy loop is dead-ended #12

Closed
opened 2026-10-06 22:41:50 +00:00 by Mark · 0 comments
Owner

Summary

The Creation Toolkit's Edit tab never enters the "entity selected" state when an admin clicks on a 3D entity in the world, even when the click clearly hits the entity's collision shape. The whole "select entity → attach script → deploy" loop is gated on this and is currently non-functional.

Environment

  • Repo: Mark/veilwalkers
  • Build: debug (Godot 4.7.2, res://scenes/main.tscn, host on :0, NVIDIA RTX 2060)
  • Driven by: Computer Use MCP (mcp__computer_use_linux__click, uinput absolute pointer) and by hand-click on a touchpad
  • Player: not attached (this is admin-tool-only testing — no Player scene, no script attached to a player)

Steps to Reproduce

  1. Boot the game: DISPLAY=:0 XMODIFIERS= GTK_IM_MODULE= QT_IM_MODULE= /home/b/bin/godot --path /home/b/Projects/veilwalkers --resolution 1280x720 --position 220,160 res://scenes/main.tscn
  2. Press Tab then Return at the main menu to host the world.
  3. Press F1 to open the Veilwalkers — Creation Toolkit.
  4. Click the Edit tab. The panel shows "Select entity (click in world)" and "No entity selected."
  5. Click directly on a 3D entity in the world. Sample targets:
    • The large central yellow/cream capsule (mana_crystal at world (0, 1, -6))
    • The two tan/peach capsules visible to the right of the toolkit panel (wander_beast)
    • The green grass-like structures (reed_plant at world (-3, 0, -8))
  6. Observe: the Edit tab continues to display "No entity selected." and the "Apply changes" / "Delete entity" buttons stay grayed out.

Expected

After clicking on a 3D entity, the Edit tab's property panel should populate with that entity's def_id, scale, color, and other Component-typed fields. "Apply changes" and "Delete entity" should become enabled.

Actual

The panel state does not change. The click is being received by the world (the CreatorPoints.grant counter at the bottom-right increments on every world click — verified going 0 → 1 → 2 → 3 → 4 → 8 → 9 → 10 across multiple clicks), but the selection event never reaches the Edit tab's controller. Script tab's "Target: (none — select in the Edit tab)" status is also stuck.

Suspected Cause

  • The Edit tab's ToolkitController selection callback may be listening to a different input event than the one that increments CreatorPoints (mouse-button vs. mouse-position vs. entity-raycast).
  • Or the entity-raycast on click is failing because the camera angle, layer mask, or collision shape on the spawned entities doesn't match the raycast query.
  • Or the Edit tab was added to the toolkit but the controller wiring (controller reference assignment) was never completed.

Why This Blocks Phase 1 / Phase 5.5 Verification

The admin deployment path is the only way to attach a Wanderer, Mana Fountain, or Breeder template to an existing entity and observe the magic verbs (move_to, emit_energy, spawn) firing. Without entity selection, none of the Phase 1 verbs can be tested in a live running game — the entire admin-toy demo flow is dead-ended at this gate.

Screenshots (1280x720, captured during this playtest)

  • Main menu: ~/.hermes/cache/images/img_4b654c43c586.jpg
  • World loaded after Host World: ~/.hermes/cache/images/img_022abef9e5fb.jpg
  • Toolkit open, Edit tab, "No entity selected": ~/.hermes/cache/images/img_638af6e6aabc.jpg, ~/.hermes/cache/images/img_b62a38abef3a.jpg
  • World with no toolkit (entities clearly visible, mana_crystal at center): ~/.hermes/cache/images/img_a3dd2468ed0a.jpg, ~/.hermes/cache/images/img_991f05976a53.jpg

Suggested Investigation Path

  1. Add a print() in scenes/admin/admin_toolkit.gd ToolkitController.set_selected_entity() (or whatever the entry point is) and verify whether it fires on a world click. Compare against the CreatorPoints.grant print path that does fire.
  2. Trace the click pipeline: world-click event → admin-toolkit input handler → entity raycast → controller callback. Find where the chain breaks.
  3. Verify the Edit tab's _target_label/_status label is wired to the controller's selection_changed signal.
## Summary The Creation Toolkit's **Edit** tab never enters the "entity selected" state when an admin clicks on a 3D entity in the world, even when the click clearly hits the entity's collision shape. The whole "select entity → attach script → deploy" loop is gated on this and is currently non-functional. ## Environment - Repo: `Mark/veilwalkers` - Build: debug (Godot 4.7.2, `res://scenes/main.tscn`, host on `:0`, NVIDIA RTX 2060) - Driven by: Computer Use MCP (`mcp__computer_use_linux__click`, uinput absolute pointer) and by hand-click on a touchpad - Player: not attached (this is admin-tool-only testing — no Player scene, no script attached to a player) ## Steps to Reproduce 1. Boot the game: `DISPLAY=:0 XMODIFIERS= GTK_IM_MODULE= QT_IM_MODULE= /home/b/bin/godot --path /home/b/Projects/veilwalkers --resolution 1280x720 --position 220,160 res://scenes/main.tscn` 2. Press **Tab** then **Return** at the main menu to host the world. 3. Press **F1** to open the Veilwalkers — Creation Toolkit. 4. Click the **Edit** tab. The panel shows "Select entity (click in world)" and "No entity selected." 5. Click directly on a 3D entity in the world. Sample targets: - The large central yellow/cream capsule (mana_crystal at world `(0, 1, -6)`) - The two tan/peach capsules visible to the right of the toolkit panel (wander_beast) - The green grass-like structures (reed_plant at world `(-3, 0, -8)`) 6. Observe: the **Edit** tab continues to display "No entity selected." and the "Apply changes" / "Delete entity" buttons stay grayed out. ## Expected After clicking on a 3D entity, the Edit tab's property panel should populate with that entity's `def_id`, `scale`, `color`, and other Component-typed fields. "Apply changes" and "Delete entity" should become enabled. ## Actual The panel state does not change. The click is being received by the world (the `CreatorPoints.grant` counter at the bottom-right increments on every world click — verified going 0 → 1 → 2 → 3 → 4 → 8 → 9 → 10 across multiple clicks), but the selection event never reaches the Edit tab's controller. Script tab's "Target: (none — select in the Edit tab)" status is also stuck. ## Suspected Cause - The Edit tab's `ToolkitController` selection callback may be listening to a different input event than the one that increments `CreatorPoints` (mouse-button vs. mouse-position vs. entity-raycast). - Or the entity-raycast on click is failing because the camera angle, layer mask, or collision shape on the spawned entities doesn't match the raycast query. - Or the Edit tab was added to the toolkit but the controller wiring (controller reference assignment) was never completed. ## Why This Blocks Phase 1 / Phase 5.5 Verification The admin deployment path is the only way to attach a `Wanderer`, `Mana Fountain`, or `Breeder` template to an existing entity and observe the magic verbs (`move_to`, `emit_energy`, `spawn`) firing. Without entity selection, **none of the Phase 1 verbs can be tested in a live running game** — the entire admin-toy demo flow is dead-ended at this gate. ## Screenshots (1280x720, captured during this playtest) - Main menu: `~/.hermes/cache/images/img_4b654c43c586.jpg` - World loaded after Host World: `~/.hermes/cache/images/img_022abef9e5fb.jpg` - Toolkit open, Edit tab, "No entity selected": `~/.hermes/cache/images/img_638af6e6aabc.jpg`, `~/.hermes/cache/images/img_b62a38abef3a.jpg` - World with no toolkit (entities clearly visible, mana_crystal at center): `~/.hermes/cache/images/img_a3dd2468ed0a.jpg`, `~/.hermes/cache/images/img_991f05976a53.jpg` ## Suggested Investigation Path 1. Add a `print()` in `scenes/admin/admin_toolkit.gd` `ToolkitController.set_selected_entity()` (or whatever the entry point is) and verify whether it fires on a world click. Compare against the `CreatorPoints.grant` print path that does fire. 2. Trace the click pipeline: world-click event → admin-toolkit input handler → entity raycast → controller callback. Find where the chain breaks. 3. Verify the `Edit` tab's `_target_label`/`_status` label is wired to the controller's `selection_changed` signal.
Mark 2026-10-06 22:59:47 +00:00
Sign in to join this conversation.
No description provided.