Skip to content

Show the tick's camera frame in the projection strip. - #2749

Merged
horatiualmasan merged 1 commit into
mainfrom
horatiu-lig-11087-camera-strip-shows-the-same-image-for-10-ticks-pr5
Oct 9, 2026
Merged

horatiualmasan merged 1 commit into
mainfrom
horatiu-lig-11087-camera-strip-shows-the-same-image-for-10-ticks-pr5

Conversation

@horatiualmasan

@horatiualmasan horatiualmasan commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

What has changed and why?

The strip asked only for the keyframe, so the image stayed the same for about one group of pictures while the point cloud moved on every tick. This is the user-visible fix for LIG-11087. Depends on PR4.

Each selected camera tile sends keyframe_log_time_ns and log_time_ns from the tick.
Both times stay strings, so the nanosecond values are not rounded.
The image is requested only when the recording id and both times are present.
The channel picker is unchanged.

How has it been tested?

New tests

Did you update CHANGELOG.md?

  • Yes
  • Not needed (internal change)

Summary by CodeRabbit

  • Bug Fixes
    • Camera projection frames now use the keyframe timestamp and displayed frame time together, helping ensure the requested image matches the selected point cloud frame.

@horatiualmasan
horatiualmasan added this pull request to stack #2746 October 8, 2026 12:46
@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

⚙️ Run configuration
  • Configuration used: Repository: lightly-ai/lightly-studio/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3d2781cb-4837-4e37-933c-e358b7902460

📥 Commits

Reviewing files that changed from the base of the PR and between ed460b1 and 87f51ec.


You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: lightly-ai/lightly-studio/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e4cf516c-8713-4c75-b05d-691793b0ace3

📥 Commits

Reviewing files that changed from the base of the PR and between 49a556d and cda5773.


📒 Files selected for processing (6)
  • lightly_studio_view/src/lib/components/PointCloudLabelingWorkspace/CameraProjectionStrip/CameraProjectionFrame/CameraProjectionFrame.svelte
  • lightly_studio_view/src/lib/components/PointCloudLabelingWorkspace/CameraProjectionStrip/CameraProjectionFrame/CameraProjectionFrame.test.ts
  • lightly_studio_view/src/lib/components/PointCloudLabelingWorkspace/CameraProjectionStrip/CameraProjectionStrip.svelte
  • lightly_studio_view/src/lib/components/PointCloudLabelingWorkspace/CameraProjectionStrip/CameraProjectionStrip.test.ts
  • lightly_studio_view/src/lib/components/PointCloudLabelingWorkspace/CameraProjectionStrip/getCameraFrameUrl/getCameraFrameUrl.test.ts
  • lightly_studio_view/src/lib/components/PointCloudLabelingWorkspace/CameraProjectionStrip/getCameraFrameUrl/getCameraFrameUrl.ts

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 0 remain after this review.



📝 Walkthrough

Walkthrough

Camera frame requests now use separate keyframe and log timestamps. The camera projection strip passes both values to the frame component, which includes both in the generated URL.

Changes

Camera frame timestamp requests

Layer / File(s) Summary
Build frame requests with two timestamps
lightly_studio_view/src/lib/components/PointCloudLabelingWorkspace/CameraProjectionStrip/...
getCameraFrameUrl sends keyframe_timestamp_ns and log_time_ns. The strip passes the channel’s keyframe and log timestamps to the frame component. Tests check the URL parameters and describe decoding from the keyframe.

Priority: ⬇️ Low

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

Change: Bug fix

Suggested reviewers: ikondrat


Merge Risk: ⚪ Minimal · up to cda57

The projection strip now requests the tick’s camera frame using its matching keyframe. No actionable merge-blocking risk was established.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: showing the tick-specific camera frame in the projection strip.
Description check ✅ Passed The description explains the user-visible issue, the fix, the dependency, key implementation details, and changelog status. The testing section only states that new tests were added and does not provi…
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 4 files. (2 skipped: 2 …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.


✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR


  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@horatiualmasan
horatiualmasan force-pushed the horatiu-lig-11087-camera-strip-shows-the-same-image-for-10-ticks-pr5 branch from 1bb760e to 79dfa67 Compare October 8, 2026 15:46
@horatiualmasan
horatiualmasan requested a review from a team as a code owner October 8, 2026 15:46
@horatiualmasan
horatiualmasan force-pushed the horatiu-lig-11087-camera-strip-shows-the-same-image-for-10-ticks-pr5 branch from 79dfa67 to cda5773 Compare October 8, 2026 15:57
@lightly-fast-track-bot

lightly-fast-track-bot Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

✅  Fast Track: all required checks passed — auto-approved.

Guardrail Result Message
frontend/complexity ✅ 6 file(s) checked, no violations.
backend/complexity ✅ 0 file(s) checked.
backend/coverage ✅ 0 file(s) checked.
diff-size ✅ PR adds 36 line(s) (limit: 215).
frontend/coverage ✅ 3 file(s) checked at 90%.
[PASS] lightly_studio_view/src/lib/components/PointCloudLabelingWorkspace/CameraProjectionStrip/CameraProjectionFrame/CameraProjectionFrame.svelte: 100.0%
[PASS] lightly_studio_view/src/lib/components/PointCloudLabelingWorkspace/CameraProjectionStrip/CameraProjectionStrip.svelte: 100.0%
[PASS] lightly_studio_view/src/lib/components/PointCloudLabelingWorkspace/CameraProjectionStrip/getCameraFrameUrl/getCameraFrameUrl.ts: 100.0%

View the guardrail run

To run the guardrails locally, from fast_track/ run make install once, then make run-guardrails (or GUARDRAILS=<name1>,<name2> make run-guardrails for some guardrails).

Reflects 87f51ec.

@horatiualmasan
horatiualmasan force-pushed the horatiu-lig-11087-camera-strip-shows-the-same-image-for-10-ticks-pr5 branch from cda5773 to ed460b1 Compare October 9, 2026 07:32
Base automatically changed from horatiu-lig-11087-camera-strip-shows-the-same-image-for-10-ticks-pr4 to main October 9, 2026 08:18
The strip sends the tick's log time as well as its keyframe, so the image changes with the point cloud instead of repeating the keyframe.
@horatiualmasan
horatiualmasan force-pushed the horatiu-lig-11087-camera-strip-shows-the-same-image-for-10-ticks-pr5 branch from ed460b1 to 87f51ec Compare October 9, 2026 08:18
@horatiualmasan
horatiualmasan added this pull request to the merge queue Oct 9, 2026
Merged via the queue into main with commit 733256e Oct 9, 2026
26 checks passed
@horatiualmasan
horatiualmasan deleted the horatiu-lig-11087-camera-strip-shows-the-same-image-for-10-ticks-pr5 branch October 9, 2026 08:42
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.

1 participant