Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.1.0 Release #2108

Open
6 of 37 tasks
mwestphal opened this issue Mar 30, 2025 · 2 comments
Open
6 of 37 tasks

3.1.0 Release #2108

mwestphal opened this issue Mar 30, 2025 · 2 comments
Milestone

Comments

@mwestphal
Copy link
Member

mwestphal commented Mar 30, 2025

Before release:

  • Force fetch origin remote tag with git fetch origin --tags --force
  • Write and format release notes from the ongoing changelog, including contributors and packagers

Release Split :

  • Create, review and merge a MR from master branch into release: release...master

Release Candidates :

  • Commit, review and merge a v3.1.0-RC1 version change in https://github.com/f3d-app/f3d CMakeLists.txt and pyproject.toml in the release branch
  • Tag and push to https://github.com/f3d-app/f3d: git tag v3.1.0-RC1 -m v3.1.0-RC1
  • Trigger a release build using https://github.com/f3d-app/f3d-superbuild actions with v3.1.0-RC1 F3D version, superbuild main branch and prerelease publish true
  • Download the prerelease from https://github.com/f3d-app/f3d/releases
  • Locally test the prerelease on Linux
  • Locally test the prerelease on macOS (Intel)
  • Locally test the prerelease on macOS (Silicon)
  • Locally test the prerelease on Windows
  • Locally test the python wheels on Linux
  • Locally test the python wheels on macOS (Silicon)
  • Locally test the python wheels on Windows
  • If it fails,
    • Fix the issues in release branch,
    • Merge F3D release into master: master...release
    • Edit this paragraph and increment N
  • Else proceed to the next part

Release :

Linux testing protocol:

  • Install F3D-X.Y.Z-RCN-Linux-x86_64-raytracing system wide
  • f3d testing/data/cow.vtp -> check render, orientation, press R and check raytracing
  • f3d testing/data/f3d.stp -> check render, orientation
  • f3d testing/data/f3d.glb -> press "Space", check animation is going smoothly and takes 4 seconds
  • f3d /path/to/any/new/file.format -> check render
  • rm -rf ~/.cache/thumbnails
  • pcmanfm (or another supported file manager)
  • Check that all supported files in testing/data have a generated thumbnails, especially for new file formats if any
  • Double click on supported file in testing/data, especially for new file formats if any and check it opens in F3D
  • Drag&Drop cow.vtp, Drag&Drop palermo_park.hdr, check render
  • Check that CTRL+O (file dialog) is working
  • Press "Esc" and check the following commands reload_current_file_group, set_camera top, toggle_volume_rendering, exit
  • cd examples/libf3d && mkdir build && cd build && cmake ../ && make
  • ./cpp/check-engine/check-engine
  • ./cpp/render-interact/render-interact ../../../testing/data/cow.vtp

macOS testing protocol:

  • Install F3D-X.Y.Z-RCN-macOS-x86_64-raytracing.dmg
  • Double click on cow.vtp, check render and orientation, press R and check raytracing
  • Double click on f3d.stp, check render and orientation
  • Double click on f3d.glb, press "Space", check animation is going smoothly and takes 4 seconds
  • Double click on any new supported file.format, check render
  • Check all supported file in testing/data directory in finder have the f3d mark, if not, check that "open with" suggest F3D
  • Drag&Drop cow.vtp, Drag&Drop palermo_park.hdr, check render
  • Check that CTRL+O (file dialog) is working
  • Press "Esc" and check the following commands reload_current_file_group, set_camera top, toggle_volume_rendering, exit

Windows testing protocol:

  • Install F3D-X.Y.Z-RCN-Windows-x86_64-raytracing.exe, add F3D to path for all users
  • Start -> Disk Cleanup -> select thumbnails -> Ok -> Delete Files
  • Open testing/data directory in file manager
  • Wait for thumbnails to be generated
  • Check that every supported file has a generated thumbnails, except .tif.
  • Check that every supported file has a small "f3d" mark, for those that don't check that "Open with" -> "Use another app" suggest F3D.
  • Double click on cow.vtp, check render and orientation, press R and check raytracing
  • Double click on f3d.stp, check render and orientation
  • Double click on f3d.glb, press "Space", check animation is going smoothly and takes 4 seconds
  • Double click on any new supported file format, check render
  • Check that CTRL+O (file dialog) is working
  • Press "Esc" and check the following commands reload_current_file_group, set_camera top, toggle_volume_rendering, exit
  • cd examples\libf3d && mkdir build && cd build && cmake ../ && cmake --build . --config Release
  • .\cpp\check-engine\Release\check-engine
  • .\cpp\render-interact\Release\render-interact ..\..\..\testing\data\cow.vtp

Python testing protocol:

  • Use a venv or make sure f3d is not installed in your python environment
  • pip install f3d==X.Y.Z-RCN
  • python
import f3d
eng = f3d.Engine.create()
eng.scene.add("/path/to/cow.vtp")
eng.window.render() # No effect on Windows
eng.interactor.start()
  • Check the following
    • The name of the window is f3d at all time
    • Python provides suggestions whenever the "Tab" key is pressed
    • shell completions?
@mwestphal mwestphal added this to the 3.1.0 milestone Mar 30, 2025
@mwestphal
Copy link
Member Author

mwestphal commented Mar 30, 2025

3.1.0 Release

[TODO]

🗣 Join our community:

F3D Community is welcoming to users and developers alike!
Ask questions, gets involved and starts contributing in a beginner-friendly environment.
Discord

❤️ Sponsor F3D:

F3D is looking for sponsors!
We have some expenses mainly related to github and web hosting bills, any help to cover the cost would be highly appreciated.
To thank you, we'll offer preferential support and vote on next feature and bugfix as soon as you start sponsoring.
Sponsors
Much love to our sponsors for this release @Saijin-Naib @CriticalPoint @kidharb @Ramalama2 ❤️

🔫 Quake MDL support

[TODO]

🖼️ Supersampling anti aliasing

[TODO]

#️⃣ Improved option parsing

[TODO]

📝 Complete changelog

For F3D users:

  • Added support for reading Quake MDL files (Thanks @malespiaut @Youva !)
  • Added support supersampling anti aliasing and enable it for thumbnails
  • Added support for displaying metadata with assimp formats (FBX and more) (Thanks @exbluesbreaker !)
  • Added support for --up vector to be any direction (Thanks @snoyer !)
  • Added support for parsing color options with syntax: #ff00ff, hsv(240 , 100% , 100%) and more (Thanks @VittorioSanchez !)
  • Added support for parsing direction options with syntax: +X, -z+y and more (Thanks @snoyer !)
  • Added support for parsing path options with syntax: ~/path/to/../to/relative/file.ext
  • Added support for parsing colormap options with syntax: val, color, val, color,....
  • Added bind to increase opacity (Ctrl+P) and decrease opacity (Shift+P) (Thanks @19jrushlow !)
  • Added report of config file locations being checked
  • Added support for imperative (force) option in configuration files
  • Added XDG support for cache location
  • Added support for history and command action in console (Thanks @exbluesbreaker !)
  • Added a remove_file_groups command (Thanks @yankadeshkovski !)
  • Added increase_opacity and decrease_opacity commands (Thanks @19jrushlow !)
  • Added alias command to create aliases of other commands (Thanks @v0id-strike !)
  • Added support for seting and reseting libf3d options from CLI using --define and --reset (Thanks @Denys619 !)
  • Added many reader specific options that can be controlled using --define
  • Added PWA support to F3DWeb (Thanks @snoyer !)
  • Added support for url-params in F3DWeb (Thanks @jo-chemla !)
  • Improved documentation (Thanks @Denys619 !)
  • Changed report of Unset value to Unset instead of N/A in cheatsheet (Thanks @19jrushlow !)
  • Changed dropzone to be implemented using ImGui (Thanks @Ni-g-3l and @Denys619 !)
  • Fixed an issue where scalar bar and axis displayed on top of console (Thanks @Yogesh9000 !)
  • Fixed zsh completion (Thanks @jia-kai !)
  • Fixed multiple OBJ related loading issues
  • Fixed multiple assimp related loading issues (Thanks @exbluesbreaker !)
  • Fixed crashes when opening PLY files
  • Fixed cheatsheet location (Thanks @Ni-g-3l !)
  • Fixed final-shader to only be applied on VTK rendering (Thanks @samoncrief !)
  • Fixed an issue when using camera shortcut and then interacting (Thanks @samoncrief !)
  • Fixed config file location on macOS
  • Fixed multiple issues where exceptions would result in errors (Thanks @exbluesbreaker !)
  • Removed skip frame logic with animations after fixes in VTK (Thanks @exbluesbreaker !)

For libf3d users:

  • Added parsing/formatting for color_t (Thanks @VittorioSanchez !)
  • Added parsing/formatting for direction_t (Thanks @snoyer !)
  • Added parsing/formatting for std::filesystem::path
  • Added parsing/formatting for colormap_t
  • Changed color options to use actual type color_t
  • Changed direction options to use actual type direction_t
  • Changed path options to use actual type std::filesystem::path. Note that path should now be collapsed.
  • Changed colormap_t options to use actual type colormap_t

For F3D packagers:

  • Fixed compatibility with FreeBSD
  • Fixed reproducible build for man generation (Thanks @Antiz96 !)

For F3D plugin developpers:

  • Added support for reader specific options

@mwestphal mwestphal added this to F3D Mar 30, 2025
This was referenced Mar 30, 2025
@mwestphal
Copy link
Member Author

mwestphal commented Apr 3, 2025

3.1.0-RC0 testing results:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant