Skip to content

[VideoRectangle] width/height changes don’t trigger updates; sizes stay global across keyframes #8750

@sijinli

Description

@sijinli

Describe the bug
There are two related issues in video tracking () annotations in Label Studio 1.21.0:
1. Width/height changes do not trigger keyframe updates.
Resizing a bounding box (changing width/height) without moving it does not create or update a keyframe. After saving or reopening, the change is lost.
2. All keyframes share the same bounding-box size.
Within a single track, all keyframes use identical width and height. Adjusting the size of one box updates all others visually, and the exported JSON shows the same size for every frame.

To Reproduce
Issue 1 — Width/height changes do not trigger update
1. Create a project with:
2. Draw a bounding box on frame 1.
3. Move to frame 10 and resize the box (change width/height) without moving it.
4. Save and reopen the task.
Result:
• The resized box reverts to its original size.
• No new keyframe is created when only width/height changes.

Issue 2 — All keyframes share the same bounding-box size
1. Using the same project setup as above, draw a bounding box on frame 1.
2. Move to frame 10, slightly move and resize the box (so a keyframe is created).
3. Move to frame 20, adjust size again.
4. Save and export the annotation JSON.

Result:
• All keyframes in the track show the same width and height values.
• Adjusting size on one keyframe changes all boxes.
• Exported JSON contains identical width/height for all frames; only x and y differ.

Expected behavior
Width/height changes should create a keyframe update, even when position doesn’t change.
• Each keyframe should maintain its own independent bounding-box dimensions.
• Exported JSON should correctly reflect per-frame size differences

Screenshots

Image

Environment (please complete the following information):

  • OS: [Mac]
  • Label Studio Version [1.21.0]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions