Phase 4 updates

Phase 4 · Slice 15 ·

The editor: asset fields, editing while playing

  • The inspector edits fields by what they are (the engine's types; for fields it doesn't describe, their names and values): colors with a color picker (Unity's gamma values; a pick is one command, when the pointer lets go), a MeshFilter's mesh from the primitives, inline materials (shader from the built-in and URP ones, color, main texture; the rest kept), and textures, sprites and clips as paths beside the scene with a Browse button. Project assets ({"asset"}) and resources stay JSON. A renderer's sharedMaterial default hides when the scene sets material, and vice versa.
  • Editing while playing, as Unity's play mode does: the live inspector edits the running game (active, position, rotation, scale, and every component field with the same editors), and Stop discards it; the edited scene doesn't change. The runtime's {"editor_set"} finds the live object by instance id and sets fields the way loading does (the loader's per-field rules are now one ApplyField both use). References between live objects are shown, not edited.
  • Tests: which editor a field gets; picking a mesh from the list; typing a Rigidbody's mass while playing changes the running game and leaves the scene's value after Stop (kittest, in-process runtime).
  • Not yet: the agent marks haven't been looked at in a window; resource notifications over HTTP; handles and grid drawn over objects; project assets in the inspector (a picker over the project's GUIDs).