Skip to content

Conversation

@eloisebrosseau
Copy link
Contributor

@eloisebrosseau eloisebrosseau commented Dec 11, 2025

SG-41173: Add uuid and soft_deleted properties for OTIO-based Live Review

Summarize your change.

  • Generate a UUID for each new drawn stroke with generateUuid()
  • Add PyObject_Str in the MuPy converter to convert a UUID object to a string
  • Add findStrokeByUuid() to retrieve the RV node string based on its uuid
  • Update undo, redo and clear operations to use the uuid instead of the RV node string
  • Send an internal event for undo and redo paint events with the list of affected strokes to allow the Live Review plugin to send PAINT_BATCH_UPDATE events with the corresponding uuids
  • Add soft_deleted as a new OTIO Paint schema property required in the new PAINT_BATCH_UPDATE payload
  • Update the OTIO Paint schema to version 2 (Note that this will prevent any apps from understanding strokes drawn by RV until they also update their version)

Describe the reason for the change.

These changes are needed to match the new requirements for undo-redo in OTIO-based Live Review sessions. All strokes drawn are received will identified via a uuid to manage their state. The soft_deleted property will be used to know if the stroke should be rendered or not. Note that the behaviour of the annotate mode should be the same as before. The only difference is that strokes are tracked through their uuid instead of their RV node string to facilitate the new implementation of undo-redo required for Live Review. This PR is needed for a second PR that will be created soon on the Commercial RV repo.

Describe what you have tested and on which operating system.

Drawing, undoing, redoing and clearing strokes was tested on macOS 15.6.1 with RV standalone and between two instances of RV in an OTIO-based Live Review session

Copy link
Contributor

@bernie-laberge bernie-laberge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants