Entity picker and properties panel #10

Closed
opened 2026-03-17 00:51:17 +00:00 by kit · 0 comments
Owner

Add an interactive entity inspector — click to select entities, view their properties, and optionally manipulate them.

Features

Entity picker

  • Click on an entity in the 3D viewport to select it
  • Raycasting from camera through mouse position to find intersecting entity meshes
  • Visual highlight/outline on the selected entity

Properties panel

  • Show entity properties: classname, position, angles, model path, entity ID
  • Show server-streamed properties (velocity, health, etc. — as we add them to the protocol)
  • Live-updating as snapshots arrive

Entity list / filter

  • Expand the current lil-gui entity panel into a more capable entity browser
  • Filter by classname, search by name/class
  • Click an entity in the list to select it in the viewport (and vice versa)

Manipulation (stretch goal)

  • Edit entity position/angles from the properties panel
  • Send manipulation commands back to the server
  • This requires a server-side command handler — probably a separate protocol message type

Design notes

  • The current lil-gui Entities folder handles visibility toggles per classname — this should coexist with the new panel
  • Need to discuss: do we build this as a custom HTML panel, or extend lil-gui, or use a different UI library?
  • Raycasting needs to work with both placeholder boxes and loaded MDL models

Label: design — needs discussion before implementation.

Add an interactive entity inspector — click to select entities, view their properties, and optionally manipulate them. ## Features ### Entity picker - Click on an entity in the 3D viewport to select it - Raycasting from camera through mouse position to find intersecting entity meshes - Visual highlight/outline on the selected entity ### Properties panel - Show entity properties: classname, position, angles, model path, entity ID - Show server-streamed properties (velocity, health, etc. — as we add them to the protocol) - Live-updating as snapshots arrive ### Entity list / filter - Expand the current lil-gui entity panel into a more capable entity browser - Filter by classname, search by name/class - Click an entity in the list to select it in the viewport (and vice versa) ### Manipulation (stretch goal) - Edit entity position/angles from the properties panel - Send manipulation commands back to the server - This requires a server-side command handler — probably a separate protocol message type ## Design notes - The current lil-gui Entities folder handles visibility toggles per classname — this should coexist with the new panel - Need to discuss: do we build this as a custom HTML panel, or extend lil-gui, or use a different UI library? - Raycasting needs to work with both placeholder boxes and loaded MDL models **Label: `design`** — needs discussion before implementation.
kit closed this issue 2026-03-19 06:11:56 +00:00
Sign in to join this conversation.
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
kit/gmod-web-stream#10
No description provided.