Skip to content

[Feature] Deliver standard editor navigation commands and preferences #784

Description

@JeanPhilippeKernel

Type

  • Bug
  • Feature
  • Refactor / cleanup
  • Task / chore

Overview

The editor has basic fly, pan, orbit, focus, and numeric bookmarks, but it lacks the navigation commands and configurable preferences expected in a production DCC or game-engine editor.

Context

Focus and bookmark inputs are currently routed only in RMB Fly state. The feature should preserve current default bindings while allowing a familiar profile to be selected and persisted per user.

Depends on #780 and #782.

What needs to be done

  1. Make frame selected and frame all work whenever the viewport has keyboard focus.
  2. Add named, persistent camera bookmarks.
  3. Add perspective/orthographic switching and axis-aligned view shortcuts.
  4. Add configurable movement speed, scroll behavior, mouse sensitivity, and invert-Y.
  5. Add rebindable navigation profiles such as Unreal, Maya, and Blender conventions.
  6. Persist user preferences and per-scene camera state with safe defaults/migration.

Resources

  • Tetragrama/Controllers/EditorCameraController.cpp
  • ZEngine/ZEngine/Controllers/FlyCameraController.cpp
  • ZEngine/ZEngine/Rendering/Cameras/FlyCamera.cpp
  • ZEngine/docs/future-plan/fly-camera-redesign.md

Testing

  • Unit-test profile/default resolution and serialization/migration.
  • Manually verify each navigation profile in the viewport.
  • Verify preferences survive editor restart and invalid configuration falls back safely.

Acceptance criteria

  • Frame selected/all work with focused viewport without RMB fly mode.
  • Bookmarks can be named and persist across restart.
  • Perspective, orthographic, and aligned-view commands are available.
  • Navigation preferences are configurable, rebindable, and persisted.
  • Existing default controls remain usable after migration.
  • Builds without warnings in Debug and Release.
  • All relevant unit tests pass.
  • No regression in existing functionality.

Estimated effort

1–2 weeks

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions