Skip to content

Manual verification needed: hot-reload swap actually updates a mesh in the running editor #749

Description

@JeanPhilippeKernel

Summary

PR #748 implements and code/test-verifies the RenderResourceManager hot-reload swap mechanism (ScheduleSwap/FlushPendingSwaps) — editing and re-saving a mesh asset while the editor is open should now update the live GPU buffer instead of silently doing nothing (the previous behavior, see #740).

What's missing is an actual manual, visual, end-to-end check in the running editor: import a mesh, place it in a scene, edit the source file on disk, and confirm the mesh visibly updates in the viewport without a restart.

Why this wasn't done as part of #748

  1. SampleProject's DefaultScene has no mesh assets loaded at all today (just a DirectionalLight) — there's nothing already in the scene to hot-reload against.
  2. Getting one in requires importing a mesh through the editor GUI (drag-and-drop / import dialog), which isn't automatable in this environment:
    • cliclick's synthetic mouse clicks don't reach the Obelisk window (missing Accessibility/Input Monitoring permission for the driving process).
    • AppleScript's System Events can move/resize the window but can't click inside its custom-rendered ZUI content (no native accessibility elements exposed).

What's needed to close this

Either:

  • Manual pass: import a test mesh (e.g. a simple glTF/OBJ) into SampleProject, place it in DefaultScene, run the editor, edit the source mesh file (change a vertex, re-export), save, and confirm the in-viewport mesh updates within a few frames without restarting. Also worth checking that the previous geometry doesn't flash/corrupt during the swap.
  • Or: grant Accessibility/Input Monitoring permission to whatever process drives future automated GUI testing, so this (and similar future UI-driven checks) can be scripted.

Where

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions