Repository navigation
[Bug]: 3D Orbit camera does not follow the cursor in projects created after the first (Windows 11, 2.1.2 Store) #1397
Description
Search existing issues
- I searched the existing issues. The closest reports are [Bug]: Auto zoom does not follow the cursor #72 (1.x, auto zoom did not follow the cursor, fixed in fix(zoom): auto-placed zoom regions follow the cursor for their whole span #118) and feat(zoom): give the 3D Orbit camera the zoom's focus mode #834 (3D Orbit reads the zoom's focus mode). Neither describes the camera and focus mode being inert in later projects while the same install renders the first project correctly.
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):
- On Windows 11, install OpenScreen 2.1.2 from the Microsoft Store.
- Record a take with the Editable cursor. For the reporter, the first project created this way worked.
- Create more projects/recordings; automatic zooms are still generated in them.
- Select a zoom and set 3D camera = 3D Orbit, Focus mode = Auto.
- 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
.openscreendocument and/or the per-recording sidecars), not a corrupt installation. - Both
rotationPresetandfocusModeare 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:
- 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.)
- 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.
- Fresh zoom on the same take: press
Zto 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. - Project assets: the
.openscreenproject file, the recording and its.cursor.jsonsidecar, plus aSave Diagnosticsbundle 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
EtienneLescot commentedon Oct 26, 2026
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.jsonnext 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:
.openscreenfile of an affected project, and of the first project (the one that worked).<video>.cursor.jsonfile sits next to the affected project's video.Save Diagnosticsfile from the tray menu.Thanks!
EtienneLescot commentedon Oct 26, 2026
Root cause, confirmed by the reporter: the later takes were recorded in the System cursor mode, so they carry no
.cursor.jsonand 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":
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:
fix(editor): offer 3D Orbit only with a recorded cursor
fix(editor): offer 3D Orbit only with a recorded cursor
github-actions commentedon Oct 26, 2026
Fixed by #1399 and merged into
main.This change is assigned to the
Next Releaserelease milestone and is not necessarily available in the latest downloadable desktop release yet. It is currently marked asstatus: pending releaseuntil a packaged release containing it is published.