Skip to content

Commit e88e37f

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents df92a59 + ab32260 commit e88e37f

546 files changed

Lines changed: 18592 additions & 9583 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-tidy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Checks: '-*,performance-*,modernize-*,-modernize-use-trailing-return-type,-modernize-use-nodiscard,-modernize-avoid-c-arrays,-modernize-use-auto,-modernize-avoid-bind,-performance-no-int-to-ptr'
1+
Checks: '-*,performance-*,modernize-*,-modernize-use-trailing-return-type,-modernize-use-nodiscard,-modernize-avoid-c-arrays,-modernize-use-auto,-modernize-avoid-bind,-performance-no-int-to-ptr,-modernize-use-emplace'
22
WarningsAsErrors: '*'
33
UseColor: true
44
FormatStyle: none

.cppcheck.supp

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
// remove some checks
2+
duplInheritedMember // VTK design
3+
missingIncludeSystem // cppcheck seems confused about this
24
missingInclude
35
unusedFunction
46
unknownMacro
@@ -12,14 +14,27 @@ unknownMacro
1214
*:external/imgui/*.h
1315
*:external/imgui/*.cpp
1416

17+
// generated files
18+
*:*vtkextTests.cxx
19+
*:*vtkextPrivateTests.cxx
20+
*:*vtkextNativeTests.cxx
21+
*:*VTKExtensionsPluginAlembic.cxx
22+
*:*VTKExtensionsPluginAssimp.cxx
23+
*:*vtkextDracoTests.cxx
24+
*:*vtkextOCCTTests.cxx
25+
*:*VTKExtensionsPluginUSD.cxx
26+
*:*libf3dSDKTests.cxx
27+
1528
// specific checks
1629
knownConditionTrueFalse:library/testing/TestSDKImage.cxx
1730
knownConditionTrueFalse:library/testing/TestSDKImageDeprecated.cxx
1831
noExplicitConstructor:library/public/types.h
1932
preprocessorErrorDirective:library/src/engine.cxx
2033
preprocessorErrorDirective:plugins/draco/module/vtkF3DDracoReader.cxx
2134
unknownMacro:library/VTKExtensions/Applicative/vtkF3DObjectFactory.cxx
22-
unusedVariable:*factory.cxx*
2335
constParameter:library/src/image.cxx
2436
invalidPointerCast:plugins/native/module/vtkF3DSplatReader.cxx
2537
invalidPointerCast:plugins/draco/module/vtkF3DGLTFDocumentLoader.cxx
38+
unusedStructMember:plugins/native/module/vtkF3DQuakeMDLImporter.cxx
39+
unusedStructMember:plugins/native/module/vtkF3DSPZReader.cxx
40+
constParameterPointer:vtkext/private/module/vtkF3DMetaImporter.cxx

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ testing/data/**/* filter=lfs diff=lfs merge=lfs -text
22
testing/baselines/**/* filter=lfs diff=lfs merge=lfs -text
33
testing/data/DATA_LICENSES.md !filter !diff !merge text
44
examples/**/*/data/**/* filter=lfs diff=lfs merge=lfs -text
5+
examples/**/*/public/**/* filter=lfs diff=lfs merge=lfs -text
56
examples/**/*/baselines/**/* filter=lfs diff=lfs merge=lfs -text
67
.github/baselines/**/* filter=lfs diff=lfs merge=lfs -text

.github/FUNDING.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
github: f3d-app
2-
patreon: f3d_app_foundation
32
ko_fi: f3d_app
43
liberapay: f3d-app
5-
buy_me_a_coffee: f3d.app
6-
custom: [fr.tipeee.com/f3d-app, donorbox.org/support-f3d]
4+
custom: f3d.app/thanks

.github/ISSUE_TEMPLATE/new_release.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,15 @@ Before release:
1515

1616
- [ ] Force fetch origin remote tag with `git fetch origin --tags --force`
1717
- [ ] Write and format release notes from the pull requests since last release, including contributors and packagers
18+
- [ ] Create a new [NPM token](https://www.npmjs.com/package/f3d) and replace the existing `NPM_TOKEN` in https://github.com/f3d-app/f3d-superbuild/settings/secrets/actions
1819

1920
Release Split :
2021

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

2324
Release Candidates :
2425

25-
- [ ] Commit, review and merge a `vX.Y.Z-RCN` version change in https://github.com/f3d-app/f3d `CMakeLists.txt` and `pyproject.toml` in the `release` branch
26+
- [ ] Commit, review and merge a `vX.Y.Z-RCN` version change in https://github.com/f3d-app/f3d `CMakeLists.txt`, `pyproject.toml` and `package.json` in the `release` branch
2627
- [ ] Tag and push to https://github.com/f3d-app/f3d: `git tag vX.Y.Z-RCN -m vX.Y.Z-RCN`
2728
- [ ] Trigger a release build using https://github.com/f3d-app/f3d-superbuild actions with `vX.Y.Z-RCN` F3D version, superbuild `main` branch and prerelease publish `true`
2829
- [ ] Download the prerelease from https://github.com/f3d-app/f3d/releases
@@ -33,6 +34,7 @@ Release Candidates :
3334
- [ ] Locally test the python wheels on Linux
3435
- [ ] Locally test the python wheels on macOS (Silicon)
3536
- [ ] Locally test the python wheels on Windows
37+
- [ ] Locally test the wasm package
3638
- If it fails,
3739
- [ ] Fix the issues in `release` branch,
3840
- [ ] Edit this issue and increment `N`
@@ -41,23 +43,27 @@ Release Candidates :
4143

4244
Release :
4345

44-
- [ ] Commit, review and merge `vX.Y.Z` version change in https://github.com/f3d-app/f3d `CMakeLists.txt`, `pyproject.toml`, `webassembly/package.json` and the multiple `doxygen\conf.py` in the `release` branch
46+
- [ ] Commit, review and merge `vX.Y.Z` version change in https://github.com/f3d-app/f3d `CMakeLists.txt`, `pyproject.toml` and `package.json` in the `release` branch
4547
- [ ] Tag `vX.Y.Z` and push it to https://github.com/f3d-app/f3d: `git tag vX.Y.Z -m vX.Y.Z`
4648
- [ ] Commit, review and merge adding `X.Y.Z` in https://github.com/f3d-app/f3d-superbuild `versions.cmake` in the `main` branch
4749
- [ ] Tag `vX.Y.Z` and push it to https://github.com/f3d-app/f3d-superbuild: `git tag vX.Y.Z -m vX.Y.Z`
4850
- [ ] Merge F3D release into master: https://github.com/f3d-app/f3d/compare/master...release
4951
- [ ] Trigger a release build using https://github.com/f3d-app/f3d-superbuild actions with `vX.Y.Z` F3D version, `vX.Y.Z` sb version and prerelease publish true
5052
- [ ] Finalize release note and add them to the release
53+
- [ ] Format the release note into a changelog and commit/review/merge them into https://github.com/f3d-app/f3d
54+
- [ ] Update dev and nightly docs as described [here](https://f3d.app/dev/TOOLING#how-to-update-the-doc-using-latest-master), commit/review/merge into https://github.com/f3d-app/f3d-website
55+
- [ ] Add a **new versioned doc** as described [here](https://f3d.app/dev/TOOLING#how-to-update-the-doc-for-a-new-release), commit/review/merge into https://github.com/f3d-app/f3d-website
56+
- [ ] Commit review and merge a bump of F3D version in `package.json` in https://github.com/f3d-app/f3d-website
57+
- [ ] Update **download links** using `GITHUB_TOKEN=$PAT npm run update-downloads`, commit/review/merge into https://github.com/f3d-app/f3d-website and then immediately
5158
- [ ] Release
52-
- [ ] Update **download links** and **changelog** in https://github.com/f3d-app/f3d `doc`
5359
- [ ] Communicate on discord
5460
- [ ] Communicate on reddit
5561
- [ ] Communicate on hackernews
5662
- [ ] Communicate on linkedin
5763
- [ ] Communicate on mastodon
5864
- [ ] Communicate on bluesky
5965
- [ ] Move all issue from current milestone to next milestone, close current roadmap issue and open a next roadmap issue
60-
- [ ] Update `doc/dev/ROADMAPS_AND_RELEASES.md` for next release
66+
- [ ] Update `dev/ROADMAPS_AND_RELEASES.md` for next release in https://github.com/f3d-app/f3d-website
6167
- [ ] Create an issue for updating dependencies in CI and superbuild
6268
- [ ] Update `.github/ISSUE_TEMPLATE/new_release.md` in https://github.com/f3d-app/f3d if needed
6369

@@ -128,6 +134,18 @@ eng.interactor.start()
128134
- The name of the window is `f3d` at all time
129135
- Python provides suggestions whenever the "Tab" key is pressed
130136

137+
Webassembly testing protocol:
138+
139+
- Clone https://github.com/f3d-app/f3d-website
140+
- Replace the current `f3d` version by the last RC available and run the website locally to check the web viewer
141+
- Make sure to check for broken anchor in the npm output
142+
143+
```bash
144+
npm uninstall f3d
145+
npm install f3d --tag next
146+
npm run start
147+
```
148+
131149
Once a release cycle:
132150

133151
- Check that completions are still working with `fish` and `zsh` when tab is pressed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,13 @@
44

55
### Checklist for finalizing the PR
66

7-
- [ ] I have performed a [self-review](https://f3d.app/doc/dev/CODING_STYLE.html) of my code
8-
- [ ] I have added [tests](https://f3d.app/doc/dev/TESTING.html) for new features and bugfixes
9-
- [ ] I have added [documentation](https://f3d.app/) for new features
7+
- [ ] I have performed a [self-review](https://f3d.app/dev/CODING_STYLE) of my code
8+
- [ ] I have added [tests](https://f3d.app/dev/TESTING) for new features and bugfixes
9+
- [ ] I have added [documentation](https://f3d.app/docs/next/user/QUICKSTART) for new features
1010
- [ ] If it is a modifying the libf3d API, I have updated bindings
11-
- [ ] If it is a modifying the `.github/workflows/versions.json`, I have updated `timestamp`
11+
- [ ] If it is a modifying the `.github/workflows/versions.json`, I have updated `docker_timestamp`
1212

1313
### Continuous integration
1414

15-
Please check the checkbox of the CI you want to run, then push again on your branch.
16-
17-
- [ ] Style checks
18-
- [ ] Fast CI
19-
- [ ] Coverage cached CI
20-
- [ ] Analysis cached CI
21-
- [ ] WASM docker CI
22-
- [ ] Android docker CI
23-
- [ ] macOS Intel cached CI
24-
- [ ] macOS ARM cached CI
25-
- [ ] Windows cached CI
26-
- [ ] Linux cached CI
27-
- [ ] Other cached CI
15+
Please write a comment to run CI, eg: `\ci fast`.
16+
See [here](https://f3d.app/dev/CONTRIBUTING#continuous-integration) for more info.

.github/actions/alembic-install-dep/action.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ inputs:
1111
imath_version:
1212
description: "Version of imath to build against"
1313
required: true
14+
global_cache_index:
15+
description: "Global cache index"
16+
required: true
1417

1518
runs:
1619
using: "composite"
@@ -20,13 +23,14 @@ runs:
2023
run: |
2124
[[ "${{ inputs.version }}" ]] || { echo "version input is empty" ; exit 1; }
2225
[[ "${{ inputs.imath_version }}" ]] || { echo "imath_version input is empty" ; exit 1; }
26+
[[ "${{ inputs.global_cache_index }}" ]] || { echo "global_cache_index input is empty" ; exit 1; }
2327
2428
- name: Cache Alembic
2529
id: cache-alembic
2630
uses: actions/cache/restore@v4
2731
with:
2832
path: dependencies/alembic_install
29-
key: alembic-${{inputs.version}}-${{inputs.imath_version}}-${{runner.os}}-${{inputs.cpu}}-0
33+
key: alembic-${{inputs.version}}-${{inputs.imath_version}}-${{runner.os}}-${{inputs.cpu}}-${{inputs.global_cache_index}}-3
3034

3135
- name: Checkout Alembic
3236
if: steps.cache-alembic.outputs.cache-hit != 'true'
@@ -36,6 +40,13 @@ runs:
3640
path: "./dependencies/alembic"
3741
ref: ${{inputs.version}}
3842

43+
# https://github.com/alembic/alembic/issues/476
44+
- name: Patch Alembic rpath issue
45+
if: steps.cache-alembic.outputs.cache-hit != 'true' && inputs.version == '1.8.9'
46+
working-directory: ${{github.workspace}}/dependencies/alembic
47+
shell: bash
48+
run: patch -p1 < $GITHUB_ACTION_PATH/fix_cmake_rpath.patch
49+
3950
- name: Setup Alembic
4051
if: steps.cache-alembic.outputs.cache-hit != 'true'
4152
working-directory: ${{github.workspace}}/dependencies
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
From 99caa8156fb65a1c0a97ef4b168ca720787e04b8 Mon Sep 17 00:00:00 2001
2+
From: Mathieu Westphal <mathieu.westphal@kitware.com>
3+
Date: Thu, 30 Oct 2025 08:49:47 +0100
4+
Subject: [PATCH] fix_cmake_rpath
5+
6+
---
7+
lib/Alembic/CMakeLists.txt | 3 +++
8+
1 file changed, 3 insertions(+)
9+
10+
diff --git a/lib/Alembic/CMakeLists.txt b/lib/Alembic/CMakeLists.txt
11+
index 8cb8ddb9..b5a73a6d 100644
12+
--- a/lib/Alembic/CMakeLists.txt
13+
+++ b/lib/Alembic/CMakeLists.txt
14+
@@ -67,6 +67,9 @@ IF (ALEMBIC_SHARED_LIBS)
15+
VERSION ${PROJECT_VERSION})
16+
ENDIF()
17+
18+
+if (APPLE OR UNIX)
19+
+ set_target_properties(Alembic PROPERTIES INSTALL_RPATH "$<TARGET_FILE_DIR:Imath::Imath>")
20+
+endif ()
21+
22+
TARGET_LINK_LIBRARIES(Alembic
23+
LINK_PUBLIC
24+
--
25+
2.51.1
26+

.github/actions/assimp-install-dep/action.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ inputs:
88
version:
99
description: "Version of assimp to build"
1010
required: true
11+
global_cache_index:
12+
description: "Global cache index"
13+
required: true
1114

1215
runs:
1316
using: "composite"
@@ -16,13 +19,14 @@ runs:
1619
shell: bash
1720
run: |
1821
[[ "${{ inputs.version }}" ]] || { echo "version input is empty" ; exit 1; }
22+
[[ "${{ inputs.global_cache_index }}" ]] || { echo "global_cache_index input is empty" ; exit 1; }
1923
2024
- name: Cache ASSIMP
2125
id: cache-assimp
2226
uses: actions/cache/restore@v4
2327
with:
2428
path: dependencies/assimp_install
25-
key: assimp-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-0
29+
key: assimp-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-${{inputs.global_cache_index}}-1
2630

2731
- name: Checkout ASSIMP
2832
if: steps.cache-assimp.outputs.cache-hit != 'true'

.github/actions/blosc-install-dep/action.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ inputs:
1111
zlib_version:
1212
description: "Version of zlib to build against"
1313
required: true
14+
global_cache_index:
15+
description: "Global cache index"
16+
required: true
1417

1518
runs:
1619
using: "composite"
@@ -20,13 +23,14 @@ runs:
2023
run: |
2124
[[ "${{ inputs.version }}" ]] || { echo "version input is empty" ; exit 1; }
2225
[[ "${{ inputs.zlib_version }}" ]] || { echo "zlib_version input is empty" ; exit 1; }
26+
[[ "${{ inputs.global_cache_index }}" ]] || { echo "global_cache_index input is empty" ; exit 1; }
2327
2428
- name: Cache blosc
2529
id: cache-blosc
2630
uses: actions/cache/restore@v4
2731
with:
2832
path: dependencies/blosc_install
29-
key: blosc-${{inputs.version}}-${{inputs.zlib_version}}-${{runner.os}}-${{inputs.cpu}}-0
33+
key: blosc-${{inputs.version}}-${{inputs.zlib_version}}-${{runner.os}}-${{inputs.cpu}}-${{inputs.global_cache_index}}-1
3034

3135
# Dependents: openvdb vtk
3236
- name: Checkout blosc

0 commit comments

Comments
 (0)