Skip to content

[Bug - NOK] Controller: Object UUID does not persist after occlusions #1152

@COZYTRICKSTER

Description

@COZYTRICKSTER

Description

Static objects in the scene receive a new UUID when they are temporarily occluded and then reappear.

For short occlusions, the object identity should persist so that the same UUID continues to represent the same physical object.

This behavior was observed while testing SceneScape release 2025.2.


Environment

  • SceneScape Version: 2025.2
  • Deployment: Kubernetes
  • Component: controller
  • OS: Ubuntu 24.04.3 LTS

Steps to Reproduce

  1. Deploy SceneScape.
  2. Add a camera with a video or scenario containing a static object in the scene.
  3. Temporarily occlude the object (for example, another object passing in front of it).
  4. Wait for the original object to reappear.
  5. Observe the object's UUID on the scene map and compare it before and after the occlusion.

Expected Behavior

The object should retain the same UUID after short occlusions.

Example:

Before occlusion:
Object A → UUID1

After occlusion:
Object A → UUID1

Actual Behavior

A new UUID is assigned when the object reappears.

Example:

Before occlusion:
Object A → UUID1

After occlusion:
Object A → UUID2

Impact

This behavior breaks object identity tracking across frames and may affect:

  • Object tracking consistency
  • Analytics pipelines
  • Event correlation
  • Downstream processing that relies on stable object identifiers

Additional Context

The issue appears to originate in the controller component responsible for object lifecycle handling.

A potential fix would involve preserving the object state for a short occlusion window instead of immediately treating the object as a new entity when it reappears.

The issue was identified while testing SceneScape release 2025.2.


Proposed Fix

A fix has been identified and a pull request will be submitted shortly.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions