Skip to content

[Bug]: CLI export of a v2 project drops 3D cursor, click effects, webcam and audio-gain settings #1467

Closed

Description

@EtienneLescot

Describe the bug

openscreen export on a legacy v2 project ({ version, media, editor }, the shape openscreen record --project writes) silently drops editor keys the export knows how to render. loadLegacyProject (src/cli/loadCliProject.ts) migrates normalizeProjectEditor(project.editor), and that function keeps an allowlist. Everything outside it is gone before getEditorSettings reads legacyEditor, so it falls back to defaults.

Keys read by getEditorSettings but dropped on this path (checked on v2.2.0 and main):

  • Cursor: cursorModel3d, cursorClickImpact, cursorClickSound, cursorClickSoundGainDb, cursorShow, cursorAutoHide
  • Webcam: webcamAnchor, webcamBackgroundMode, webcamBlurIntensity, webcamCropPan, webcamCropRegion, webcamRoundness, webcamWallpaper
  • Audio: audioGainDb

Expected behavior

The same keys render the same whether the project is a v2 file or a document file.

To Reproduce

  1. openscreen record --duration 10 --project demo.openscreen and click a few times.
  2. In demo.openscreen, set editor.cursorModel3d: true and editor.cursorClickSound: true.
  3. openscreen export demo.openscreen -o out.mp4.

Measured on the 2.2.0 Windows build, with the same project exported twice:

v2 project (CLI) same editor as a document file
Cursor flat sprite, no shadow modelled 3D cursor with cast shadow
Audio at the clicks -91 dB (silence) -7 dB (click hits)

OS

Windows 11, OpenScreen 2.2.0

Activity

  1. added
    bugSomething isn't working
    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 Nov 2, 2026
  2. EtienneLescot commented on Nov 2, 2026

    @EtienneLescot
    MemberAuthor

    Fixed in main by #1469. #1470 adds a loader-level regression test. Ships in the next release.

  3. EtienneLescot commented on Nov 3, 2026

    @EtienneLescot
    MemberAuthor

    Released in v2.2.1.

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.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions