Skip to content

Dirty scene state - #86

Merged
deanblackborough merged 6 commits into
mainfrom
dirty-scene-state
Jul 12, 2026
Merged

Dirty scene state#86
deanblackborough merged 6 commits into
mainfrom
dirty-scene-state

Conversation

@deanblackborough

@deanblackborough deanblackborough commented Jul 12, 2026

Copy link
Copy Markdown
Owner

What's Changed?

  • Added makes_dirty to commands/tools
  • Show dirty scene state in UI
  • Updated README with missing features
  • Updated the ready for users when... section

Summary by CodeRabbit

  • New Features
    • Added scene dirty-state tracking for editor changes, including undo and redo actions.
    • Added a visible * indicator beside the scene name when unsaved changes exist.
    • Dirty state is cleared after successful saves and when loading a scene.
    • Camera movements continue to be saved without marking the scene as dirty.
  • Documentation
    • Updated capability, readiness and development-planning documentation to reflect current editor, runtime, audio and save behaviour.

@deanblackborough deanblackborough self-assigned this Jul 12, 2026
@deanblackborough
deanblackborough merged commit 68caba7 into main Jul 12, 2026
1 check passed
@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 10c01d95-7733-4d32-a07f-c81ea7195fb6

📥 Commits

Reviewing files that changed from the base of the PR and between 7e38bab and 94149b7.

📒 Files selected for processing (10)
  • NOTES.md
  • README.md
  • src/prune/app/app.cpp
  • src/prune/editor/editor_command.cpp
  • src/prune/editor/editor_command.hpp
  • src/prune/scene/scene.hpp
  • src/prune/scene/scene_state.hpp
  • src/prune/scene/world_scene.cpp
  • src/prune/scene/world_scene.hpp
  • src/prune/tooling/ui.cpp

📝 Walkthrough

Walkthrough

The change introduces scene dirty-state tracking in SceneState, propagates dirty semantics through editor command recording, undo, and redo, and clears the state after successful save or load operations. WorldScene exposes the state to the UI, which displays a marker beside the scene name. Scene persistence methods are now non-const. Documentation is updated, and audio loading return values are explicitly discarded.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: enhancement

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dirty-scene-state

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot added the enhancement New feature or request label Jul 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant