f3d icon indicating copy to clipboard operation
f3d copied to clipboard

2.5.0 Release

Open mwestphal opened this issue 1 year ago • 8 comments

Before release:

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

Release Split :

  • [x] Create, review and merge a MR from master branch into release: https://github.com/f3d-app/f3d/compare/release...master

Release Candidates :

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

Release :

  • [ ] Commit, review and merge v2.5.0 version change in https://github.com/f3d-app/f3d CMakeLists.txt, pyproject.toml and the multiple doxygen\conf.py in the release branch
  • [ ] Tag v2.5.0 and push it to https://github.com/f3d-app/f3d: git tag v2.5.0 -m v2.5.0
  • [ ] Commit, review and merge adding X.Y.Z in https://github.com/f3d-app/f3d-superbuild versions.cmake in the main branch
  • [ ] Tag v2.5.0 and push it to https://github.com/f3d-app/f3d-superbuild: git tag v2.5.0 -m v2.5.0
  • [ ] Merge F3D release into master: https://github.com/f3d-app/f3d/compare/master...release
  • [ ] Trigger a release build using https://github.com/f3d-app/f3d-superbuild actions with v2.5.0 F3D version, v2.5.0 sb version and prerelease publish true
  • [ ] Finalize release note and add them to the release
  • [ ] Release
  • [ ] Update download links and update changelog in https://github.com/f3d-app/f3d doc
  • [ ] Communicate on discord
  • [ ] Communicate on reddit
  • [ ] Communicate on hackernews
  • [ ] Communicate on linkedin
  • [ ] Move all issue from current milestone to next milestone, close current roadmap issue and open a next roadmap issue
  • [ ] Update doc/dev/ROADMAPS_AND_RELEASES.md for next release
  • [ ] Create an issue for updating dependencies in CI and superbuild
  • [ ] Update .github/ISSUE_TEMPLATE/new_release.md in https://github.com/f3d-app/f3d if needed

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 /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
  • 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 (Intel only)
  • Double click on f3d.stp, check render and orientation
  • 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

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 any new supported file format, check render
  • 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(f3d.Window.NATIVE)
eng.loader.load_geometry("/path/to/cow.vtp")
eng.window.render()
eng.interactor.start()

mwestphal avatar Jun 28 '24 14:06 mwestphal

2.5.0 Release

https://github.com/f3d-app/f3d/assets/3129530/49801f18-7b6a-493f-9d5a-6e08ffb11952

shader-rain

🗣 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 expanses 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 @parkerstafford @kidharb @Ramalama2 :heart:

🌐 F3D Web

F3D is now available as 3D web viewer!

Thanks to webassembly, you can now use F3D in the comfort of your browser. F3D Web is a simple yet complete application based on the f3d javascript package available at https://f3d.app/web

https://github.com/f3d-app/f3d/assets/3129530/a9b98587-5591-43d7-9b3a-3ffbdcdf91e5

f3dweb

🖼️ Rendering Improvements

Rendering improvements have been added!

F3D now uses Khronos' "PBR Neutral" tone mapping for nicer renderings:

Before:

no

Now:

neutral

You can also now specify your own custom post-processing shader for even fancier effects, using --final-shader option, here using a "negative" shader.

negative

📸 Screenshot

Do you use F3D interactively and wants to take a screenshot at any point? Just press F12 and a screenshot will be saved on disk. F3D will name and number the image so you can save many screenshots as you want but you can specify your own filename template using --screenshot-filename if you prefer.

https://github.com/f3d-app/f3d/assets/3129530/974222b9-4562-43a6-b05d-11427a2abe11

ss

📝 Complete changelog

For F3D users:

  • Added a Webassembly version available online: https://f3d.app/web
  • Added a "neutral" tone mapping feature
  • Added an screenshot feature when pressing F12, with its dedicated option, --screenshot-filename (thanks @snoyer!)
  • Added a --final-shader option to customize post-processing.
  • Added a --grid-color option to set the color of the grid
  • Added a --animation-progress option to control if the animation progress bar should be shown (thanks @spevnev!)
  • Added a --backface-type option to control backface visibility (thanks @KeflerExe!)
  • Added a concept of filename template for saving screenshots and outputs (thanks @snoyer!)
  • Added native menus for macOS
  • Improved documentation all around (thanks @kidharb @kathleenhang @Nokse22 @vikaskok @spevnev!)
  • Reworked config file logic to avoid duplicating of the default config (thanks @snoyer!)
  • Fixed a long standing issue with FBX skinning animation
  • Fixed zsh completion (thanks @allemangD!)
  • Fixed an opacity blending issue
  • Fixed a crash when dropping a HDRI while playing an animation
  • Fixed a focus issue on macOS
  • Fixed a high DPI issue on Windows

For libf3d users:

  • Added an API to control camera pan and zoom (thanks @snoyer!)
  • Added a tkinter python example (thanks @JPLost!)
  • Exposed log level in the python API (thanks @snoyer!)

For F3D packagers:

  • Fixed compatibility with CMake 3.29.1
  • Fixed compatibility with OCCT 7_8_0
  • Fixed build reproducability by removing a path from the binary

Thanks to all our packagers that help F3D reach a wider audience: AndnoVember @kylosus @kevinsmia1939 @yurivict @bcdarwin @svenstaro @mzf-guest @papoteur-mga @berolinux @topazus @thierry-FreeBSD @xiota @alerque @chenrui333 Thanks to all our contributors for this release: @allemangD @snoyer @kathleenhang @shambhupatil @JPLost @KeflerExe @kidharb @vikaskok @spevnev @Meakk @mwestphal @jubalh

Credits:

mwestphal avatar Jun 28 '24 14:06 mwestphal

2.5.0-RC1 Linux validated

mwestphal avatar Jun 28 '24 16:06 mwestphal

2.5.0-RC1 Windows validated

mwestphal avatar Jun 28 '24 16:06 mwestphal

2.5.0-RC1 Linux python wheels validated

mwestphal avatar Jun 28 '24 17:06 mwestphal

2.5.0-RC1 Windows python wheels validated

mwestphal avatar Jun 28 '24 17:06 mwestphal

2.5.0-RC1 MacOS -> Everything Perfect :-)

Ramalama2 avatar Jun 28 '24 17:06 Ramalama2

@Ramalama2 I suppose you tested arm64 ?

mwestphal avatar Jun 28 '24 17:06 mwestphal

Validated on macOS arm64.

Double click on cow.vtp, check render and orientation, press R and check raytracing (Intel only)

Works fine on arm64, you can remove (Intel only) from the release testing process.

Meakk avatar Jun 30 '24 09:06 Meakk

@Ramalama2 I suppose you tested arm64 ?

Yeah i did. Like Meakk said, but going further, is the intel version necessary at all for MacOS? The thing is, those Laptops are gotten too Old. Its probably helpful for a Hackintosh to have an x86 Version, but Hackintosh is almost dead either and usually those People have nothing todo with Contructions/Designing anyway.

Ramalama2 avatar Jul 03 '24 09:07 Ramalama2

I dont see a reason to remove these builds until they are End Of Life

mwestphal avatar Jul 03 '24 09:07 mwestphal

Posted on /r/webdev, /r/programming, /r/shaders, /r/GraphicsProgramming

mwestphal avatar Jul 03 '24 09:07 mwestphal

F3D package in Flatpak has been update in https://github.com/flathub/io.github.f3d_app.f3d/pull/77

kevinsmia1939 avatar Jul 05 '24 11:07 kevinsmia1939

f3d 2.5.0 has been built in Fedora 40 and rawhide, https://bodhi.fedoraproject.org/updates/?packages=f3d

topazus avatar Jul 06 '24 15:07 topazus