Skip to content

Implement imgui animation progress bar#3223

Merged
Meakk merged 1 commit into
f3d-app:masterfrom
exbluesbreaker:animation_imgui_progress_bar
Jun 29, 2026
Merged

Implement imgui animation progress bar#3223
Meakk merged 1 commit into
f3d-app:masterfrom
exbluesbreaker:animation_imgui_progress_bar

Conversation

@exbluesbreaker

@exbluesbreaker exbluesbreaker commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Describe your changes

Issue ticket number and link if any

Checklist for finalizing the PR

  • I have performed a self-review of my code
  • I have added tests for new features and bugfixes
  • I have added documentation for new features
  • If it is a modifying the libf3d API, I have updated bindings
  • If it is a modifying the .github/workflows/versions.json, I have updated docker_timestamp

AI Disclosure

  • I did not use AI to generate any of the content of that pull request
  • I used AI to generate code in that pull request, if yes please disclose which part of the code was generated and with which model.
  • I used Claude code to figure out imgui components to be used for progress bar visualization and interaction

Continuous integration

Please write a comment to run CI, eg: \ci fast.
See here for more info.

@exbluesbreaker exbluesbreaker requested a review from a team as a code owner June 7, 2026 21:27
@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

\ci full

@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

Implements #3116 . I didn't implement everyting yet - tests and maybe something else (like bindings)

@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

@mwestphal @Meakk I apologize, but I have vacation next week till Friday without PC access. I will finish missing parts and address review findings after getting back on Jun 12, I hope it is fine.

@exbluesbreaker exbluesbreaker force-pushed the animation_imgui_progress_bar branch 4 times, most recently from ef7c2ec to 6ba4153 Compare June 8, 2026 04:48
@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

Tests seems to fail due to old renders with VTK progress bar, maybe I do not even need to add new dedicated tests - but just fix the old ones.

@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

Anyway, I will be able to fix it after Friday

@mwestphal mwestphal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

looks good on a quick look.

However I wonder if we should have different animation bar mode:

  • none
  • default
  • advanced

@Meakk @Ni-g-3l ?

@Meakk

Meakk commented Jun 8, 2026

Copy link
Copy Markdown
Member

That looks great indeed!

However I wonder if we should have different animation bar mode

That's probably useful. Maybe we should also adapt the animation bar based on the animation type? key frames with continuous range, fixed time steps (and probably upcoming infinite simulation)

@Ni-g-3l

Ni-g-3l commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Here is some screenshot if someone wants to see the change without build the branch :

image image

@Ni-g-3l

Ni-g-3l commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

looks good on a quick look.

However I wonder if we should have different animation bar mode:

* `none`

* `default`

* `advanced`

@Meakk @Ni-g-3l ?

I'm not sure what you want in each mode however I think it could be good to be able to choose between time navigation or frame (could be done in another PR)

@mwestphal

Copy link
Copy Markdown
Member

looks good on a quick look.
However I wonder if we should have different animation bar mode:

* `none`

* `default`

* `advanced`

@Meakk @Ni-g-3l ?

I'm not sure what you want in each mode however I think it could be good to be able to choose between time navigation or frame (could be done in another PR)

none is nothing
default is what is in master
advanced is what you are developing.

@Ni-g-3l

Ni-g-3l commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Ah ! I think I would prefer keep the same design for default and advancedand add more information in advanced mode like 'keyframes' 'frame' may be DeltaTime too

@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

So, I am back. How do we want to proceed with progress bar. We want 3 modes? If so let's be more specific what to do in every mode?

@mwestphal @Meakk @Ni-g-3l

@mwestphal

Copy link
Copy Markdown
Member

So, I am back. How do we want to proceed with progress bar. We want 3 modes? If so let's be more specific what to do in every mode?

@mwestphal @Meakk @Ni-g-3l

lets discuss on discord :)

@exbluesbreaker exbluesbreaker force-pushed the animation_imgui_progress_bar branch from 6ba4153 to b5ce522 Compare June 13, 2026 10:11
@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

@mwestphal

Copy link
Copy Markdown
Member

Advanced: Screencast from 2026-06-13 12-10-48.webm Default: Screencast from 2026-06-13 12-11-11.webm

Looks great!

@mwestphal mwestphal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@exbluesbreaker exbluesbreaker force-pushed the animation_imgui_progress_bar branch 3 times, most recently from 0c6d349 to 7f68735 Compare June 13, 2026 21:41
@codecov

codecov Bot commented Jun 13, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.55769% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 97.03%. Comparing base (7a8cf18) to head (ace6757).
⚠️ Report is 10 commits behind head on master.

Files with missing lines Patch % Lines
vtkext/private/module/vtkF3DUIActor.h 25.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3223      +/-   ##
==========================================
+ Coverage   97.01%   97.03%   +0.01%     
==========================================
  Files         212      212              
  Lines       17641    17817     +176     
==========================================
+ Hits        17115    17288     +173     
- Misses        526      529       +3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@exbluesbreaker exbluesbreaker force-pushed the animation_imgui_progress_bar branch 3 times, most recently from 983e4cf to aeb8fde Compare June 16, 2026 21:26
Comment thread application/testing/tests.features.cmake

@mwestphal mwestphal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good!

Comment thread doc/user/03-OPTIONS.md Outdated
Comment thread vtkext/private/module/vtkF3DRenderer.cxx
Comment thread vtkext/private/module/vtkF3DUIActor.h
@exbluesbreaker exbluesbreaker force-pushed the animation_imgui_progress_bar branch from 6e18124 to 17579ae Compare June 26, 2026 22:28
@exbluesbreaker exbluesbreaker requested a review from mwestphal June 26, 2026 22:29
@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

Tried to fix all of the last stuff, there is one open question about enum placement.

@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

I actually forgot - there were some test failures now, will have a look once this CI is ready. But I was quite surprised that happened - maybe something went wrong at merge/rebase as I remember fixing all the tests before it

@mwestphal

Copy link
Copy Markdown
Member

I actually forgot - there were some test failures now, will have a look once this CI is ready. But I was quite surprised that happened - maybe something went wrong at merge/rebase as I remember fixing all the tests before it

let me know if you need any help :)

Comment thread doc/user/07-COMMANDS.md Outdated

@mwestphal mwestphal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm, lets fix CI :)

@exbluesbreaker exbluesbreaker force-pushed the animation_imgui_progress_bar branch 4 times, most recently from e582403 to f58eae8 Compare June 27, 2026 19:43
@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

I updated few other cases of "default" progress bar with scalar bar, new change of the way bar is rendered affected default mode as well, but in a good way I believe.

@exbluesbreaker exbluesbreaker force-pushed the animation_imgui_progress_bar branch from f58eae8 to fa8479e Compare June 27, 2026 22:00
@exbluesbreaker exbluesbreaker requested a review from mwestphal June 27, 2026 23:10
@exbluesbreaker

Copy link
Copy Markdown
Contributor Author

Looks good from my side, I seemed to fix evertying @mwestphal @Meakk @snoyer @Ni-g-3l

Comment thread doc/user/05-ANIMATIONS.md Outdated
Comment thread library/src/animationManager.cxx Outdated
Comment thread vtkext/private/module/vtkF3DImguiActor.cxx Outdated

@mwestphal mwestphal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Awesome work! One question about the behavior of juimp_to_time.

Sorrry, I should have caught it earlier.

@exbluesbreaker exbluesbreaker requested a review from mwestphal June 28, 2026 11:12
@mwestphal mwestphal requested a review from a team June 28, 2026 11:28
  Draw an interactive progress bar at the bottom of the view during
  playback. Click or drag it to seek to a point in time.

  --animation-progress becomes a mode string instead of a boolean flag:
  none, default (the bar alone), or advanced (adds time range, animation
  name, current time, keyframe markers and a hover tooltip). A bare
  --animation-progress implies default.

  Seeking is backed by two new commands, jump_to_time and
  jump_to_time_relative (time in seconds), mirroring the jump_to_frame /
  jump_to_frame_relative pair. They are wired through the ImGui actor,
  renderer and animation manager so the bar tracks playback.

  The scalar bar is offset by the progress bar height so the two no longer
  overlap.
@exbluesbreaker exbluesbreaker force-pushed the animation_imgui_progress_bar branch from fe75711 to ace6757 Compare June 28, 2026 11:29

@Meakk Meakk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Incredible work! Well done @exbluesbreaker!

@Meakk Meakk merged commit 0fb136e into f3d-app:master Jun 29, 2026
55 checks passed
@mwestphal mwestphal mentioned this pull request Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants