Skip to content

[Bug]: 3D Orbit camera does not follow the cursor in projects created after the first (Windows 11, 2.1.2 Store) #1397

Closed

Description

@EtienneLescot

Search existing issues

Describe the bug

Reported by a user on Windows 11 with the Microsoft Store build of OpenScreen 2.1.2 (translated from Chinese):

The first project (draft) I created after installing worked: the 3D camera followed the mouse cursor. In every project created after that, automatic zooms are still generated, but the 3D camera no longer follows the cursor. I tried uninstalling and reinstalling, and the problem persists.

The user supplied a 23.9 s screen recording of the editor (1272×720, 30 fps) that shows a draft where Auto focus is selected and the 3D camera does not follow the pointer.

What the recording shows

  • The draft is a 12.4 s take with no webcam; project format 2560×1284.
  • One zoom span on the timeline, starting within the first second and running to the end of the take, at 1.80×. That span is too wide for an automatic zoom (the pass keeps the first 2.5 s and the last 1 s of the take wide, and starts a zoom 0.5 s before its first click), so this is most likely a hand-made zoom the reporter widened to test the camera. It has the timeline's selection highlight, so the inspector is editing this very region.
  • Around 0:03.5–0:10 the Zoom inspector is visible: 3D camera = 3D Orbit, Cursor = Visible, and the reporter switches Focus mode Manual → Auto → Manual → Auto. Every click is reflected in the inspector, but the rendered frame never changes.
  • The recording does carry editable-cursor telemetry: the rendered cursor is visible in the preview and moves with the page (it travels from the "下载 Windows 版" button near 0:17 to the right-hand "用你的 AI 代理制作演示" button near 0:19).
  • The preview stays a flat, fixed 1.8× zoom: no orbital movement while the cursor crosses the frame, no perspective/keystone on the screen, and no re-centring when Focus mode is set to Auto. It renders exactly as if the zoom had no 3D camera and a manual centre focus.

In short, the document/inspector reports rotationPreset = orbit and focusMode = auto, but the rendered frame behaves as if neither reaches the compositor in this project.

The video shows only this draft, so the "automatic zooms are still generated in later projects" half of the report cannot be checked from it; it is repeated here as reported.

Expected behavior

With 3D camera = 3D Orbit and Focus mode = Auto, the camera should follow the recorded cursor (the screen turns toward the side the pointer is on) in the preview and in the export. With Manual, the orbit should be posed by the zoom's focus point and hold there.

To Reproduce

As reported (not yet reproduced by a maintainer on a clean Store install):

  1. On Windows 11, install OpenScreen 2.1.2 from the Microsoft Store.
  2. Record a take with the Editable cursor. For the reporter, the first project created this way worked.
  3. Create more projects/recordings; automatic zooms are still generated in them.
  4. Select a zoom and set 3D camera = 3D Orbit, Focus mode = Auto.
  5. Play the preview: the camera does not follow the cursor; the zoom renders flat and centred.

OS

Windows

OS Version

Windows 11 (the reporter did not give a build number)

Device Type

Desktop / laptop not specified (Windows 11, x64)

Application version

OpenScreen 2.1.2, Microsoft Store build. About box reports: Electron 41.2.1 · Chromium 146.0.7680.188 · Node 24.14.1 · win32 x64 · store · https://getopenscreen.com/ · © 2025-2026 OpenScreen contributors — MIT License.

Additional context / triage notes

  • 3D Orbit is a per-zoom camera, not a project-wide default (technical-documentation/docs: "3D Orbit: a camera that moves with the zoom and follows its focus mode"), and automatic zooms are created flat with Auto focus. So the reporter's expectation that it would carry over into every new project is not what the editor promises — but the recording shows the camera is selected on the affected zoom (3D Orbit in the inspector) and the render still ignores it, so this is not just a misunderstanding of the per-zoom default.
  • The same install renders the first project correctly and the reporter says reinstalling does not help. Projects live in user data and are not removed by an uninstall, so this points at per-project state (the saved .openscreen document and/or the per-recording sidecars), not a corrupt installation.
  • Both rotationPreset and focusMode are per-zoom fields written by the same inspector and sent in the same scene (buildSceneDescription → native compositor), so their both being inert in the same project looks like one scene/document-side cause rather than two independent 3D bugs.

Useful checks on the reporter's machine:

  1. Does the setting survive a reopen? Close the editor and reopen the affected project: does the Zoom inspector still show 3D Orbit / Auto? (If not, saving the camera/focus change is failing for that project.)
  2. Does an export show the camera? Export the affected project to MP4 and check whether the 3D orbit appears there. If the export is correct and only the preview is flat, the break is in the preview scene path; if both are flat, the stored document is the suspect.
  3. Fresh zoom on the same take: press Z to add a new manual zoom on the same clip, set 3D Orbit + Auto, and play. If the fresh zoom follows but the original one does not, the stored zoom region is the suspect; if neither does, the take/preview is.
  4. Project assets: the .openscreen project file, the recording and its .cursor.json sidecar, plus a Save Diagnostics bundle from the tray (which includes the native addon/helper versions). Useful to rule out a recording whose cursor sidecar is not next to the video.

Video: the reporter's 23.9 s screen recording (Cap 2026-10-26 at 18.11.39.mp4) is available; the timestamps above refer to it. It is not attached to this issue yet.

Activity

  1. EtienneLescot commented on Oct 26, 2026

    @EtienneLescot
    MemberAuthor

    Investigation update: 3D Orbit itself works in the 2.1.2 Store build. A synthetic take exported through that build follows the cursor in Auto and holds on the focus point in Manual.

    The reported symptom (flat, centred, fixed zoom in both Auto and Manual) reproduces exactly when the project's video has no <video>.cursor.json next to it: the compositor reads the cursor track only from that path, for preview and export. A moved or renamed video can still keep its auto zooms while the camera goes inert.

    To confirm, could the reporter share:

    1. The .openscreen file of an affected project, and of the first project (the one that worked).
    2. Whether a <video>.cursor.json file sits next to the affected project's video.
    3. Whether the later projects come from a new recording, or from an imported or moved video.
    4. The HUD cursor mode used for those recordings: Editable or System.
    5. Whether an MP4 export of the affected project shows the orbit.
    6. Whether "Show cursor" is on in that project's Cursor panel.
    7. A Save Diagnostics file from the tray menu.

    Thanks!

  2. EtienneLescot commented on Oct 26, 2026

    @EtienneLescot
    MemberAuthor

    Root cause, confirmed by the reporter: the later takes were recorded in the System cursor mode, so they carry no .cursor.json and the compositor has no cursor track. 3D Orbit under Auto focus reads that track; without it the camera holds still at its resting pose, which is the flat, static zoom shown in the video. Enabling Editable cursor for the take makes the camera follow.

    Two things made this look like "only the first project works":

    • 3D Orbit is a per-zoom camera, and automatic zooms are created flat, so it never carried over into new projects by design.
    • The inspector offered 3D Orbit on takes where it could not do anything, with no indication that the take had no cursor data. That is the actual bug.

    UX fix: #1399 stops offering 3D Orbit under Auto focus when the recordings under the zoom have no cursor data. The gate is per zoom, not per project: a zoom over a take with a cursor is still offered next to a system-cursor take, and a zoom pill cut across both takes (one fragment per clip) is not, because the camera would hold still for the part without a track. Manual focus still offers it, where the focus point poses the camera, and a zoom that already stores rotationPreset: "orbit" still lists it so the row can show the current pick. That PR resolves this issue.

    Reporter's confirmation, for the record:

    I've resolved the issue! I found that Editable Cursor needs to be enabled during screen recording for the 3D Orbit effect to follow the mouse cursor's movement.

  3. added
    status: fixed in mainWork is merged into main but may not be in a downloadable release yet.
    status: pending releaseMerged change is waiting for a packaged desktop release.
    on Oct 26, 2026
  4. added this to the Next Release milestone on Oct 26, 2026
  5. github-actions commented on Oct 26, 2026

    @github-actions
    Contributor

    Fixed by #1399 and merged into main.

    This change is assigned to the Next Release release milestone and is not necessarily available in the latest downloadable desktop release yet. It is currently marked as status: pending release until a packaged release containing it is published.

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

    bugSomething isn't workingstatus: fixed in mainWork is merged into main but may not be in a downloadable release yet.status: pending releaseMerged change is waiting for a packaged desktop release.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions