Skip to content

Keep mesh identifiers stable and remove destroyed annotation entries - #175

Open
LuuSir wants to merge 1 commit into
Cosys-Lab:5.2.1from
LuuSir:codex/fix-annotation-lifecycle
Open

LuuSir wants to merge 1 commit into
Cosys-Lab:5.2.1from
LuuSir:codex/fix-annotation-lifecycle

Conversation

@LuuSir

@LuuSir LuuSir commented Oct 5, 2026

Copy link
Copy Markdown

Base: Cosys-Lab/Cosys-AirSim:5.2.1 (09d8f992).

A spawned component can initially be registered using GetUniqueID(), then later be renamed by the identifier generator using its render proxy's persistent index. During runtime validation, registration used Cube_0_MergeAuditCube_39097, while deletion looked for Cube_0_MergeAuditCube_438. This leaves stale entries and prevents cleanup.

Use the UObject ID consistently for the component lifetime. During deletion, resolve the original registered name by component pointer, evaluate DeleteComponent in all build configurations, remove the component's color/value/texture entries, and list live components from the component registry. destroyObject unregisters the actor and refreshes annotation camera lists before destruction. This complements the spawn registration already integrated from PR #153.

Validation

  • Isolated UE 5.2.1 BlocksEditor build passes.
  • PythonClient/tests/smoke_annotation_lifecycle.py --port <disposable simulator port> performs two spawn/render/update/destroy cycles using existing upstream APIs. Requires a level with a Cube asset.
  • Two fresh simulator runs of the integrated merge passed 38 RPC checks, including spawn/update/destroy, segmentation pixels and post-test health. This isolated PR branch has not been built separately. Shipping builds are not tested. Earlier runs encountered intermittent D3D12/Nanite renderer failures whose cause has not been isolated; this PR does not claim to fix those renderer failures.

The ID suffix now uses UObject identity and remains unique for live components; identifiers remain session-specific.

Copilot AI balanced review requested due to automatic review settings October 5, 2026 07:24

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

This branch has not been deployed

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants