Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
a358868
add PWA manifest
snoyer Nov 25, 2024
26d0908
format
snoyer Nov 25, 2024
926a3f4
generate website on branch
snoyer Nov 25, 2024
945bcff
nvm
snoyer Nov 25, 2024
1ec4c0c
UI scale (#1880)
0xfedcafe Jan 6, 2025
7cc980f
Merge pull request #1893 from f3d-app/release
mwestphal Jan 8, 2025
cf464a6
Merge pull request #1905 from f3d-app/release
mwestphal Jan 12, 2025
5f7a99c
Merge pull request #1911 from f3d-app/release
mwestphal Jan 12, 2025
1fa15c3
#1741 Rolling camera and then interacting with the view provide incor…
samoncrief Jan 12, 2025
b134d54
Improve fps counter (#1886)
GabrielNakamoto Jan 12, 2025
8d72f2d
Improve clang-format (#1912)
Meakk Jan 13, 2025
0013adc
Simplify VCPKG guide (#1916)
Meakk Jan 16, 2025
97d1086
Merge pull request #1921 from f3d-app/release
mwestphal Jan 18, 2025
b24ec69
Merge pull request #1927 from f3d-app/release
mwestphal Jan 19, 2025
fed5d8f
Merge pull request #1928 from mwestphal/update_install_doc
mwestphal Jan 19, 2025
f116255
doc: Update roadmap (#1931)
mwestphal Jan 19, 2025
169a3bc
Update issue templates (#1932)
mwestphal Jan 19, 2025
254020e
CI: Fix nightly by using ubuntu 22 image (#1933)
mwestphal Jan 20, 2025
2e37b2f
Improve ci graph (#1938)
mwestphal Jan 22, 2025
b19ebee
Updating cxxopts to v3.2.0
mwestphal Jan 22, 2025
e5e0d79
Updating imgui to v1.91.7
mwestphal Jan 22, 2025
a6b711e
Updating nlohmann_json to v3.11.3
mwestphal Jan 22, 2025
4de6d04
doc: Add VERSIONS.md for externals
mwestphal Jan 22, 2025
74e0b60
Update externals (#1942)
mwestphal Jan 22, 2025
7db7445
CI: Update github actions (#1941)
mwestphal Jan 23, 2025
fa87e2f
Fix formatting
mwestphal Jan 24, 2025
ddc9f1c
Merge pull request #1947 from mwestphal/release_with_formatting
mwestphal Jan 24, 2025
d98e5e6
CI: Add a mindeps CI and set alembic min version to 1.8.5
mwestphal Jan 22, 2025
36d2097
CI: Addimp assimp v5.4.0 to mindeps
mwestphal Jan 25, 2025
d81a6d8
CI: Add draco 1.5.6 to mindeps
mwestphal Jan 25, 2025
3857692
CI: Fix small cache typos
mwestphal Jan 25, 2025
12c8b32
CI: Adding occt V7_6_3 to mindeps
mwestphal Jan 25, 2025
4df2993
CI: Adding OpenEXR 3.0.1 to mindeps
mwestphal Jan 25, 2025
5eaa8dc
CI: Add OpenVDB v12.0.0 to mindeps
mwestphal Jan 26, 2025
a06a2bf
CI: Add pybind11 v2.9.2 to mindeps
mwestphal Jan 26, 2025
85bff85
CI: Adding Python 3.9 to mindeps
mwestphal Jan 26, 2025
b79044b
CI: Adding usd v24.08 to mindeps
mwestphal Jan 26, 2025
9abeb9a
CI: Add Java 17 to mindeps
mwestphal Jan 26, 2025
7cc600a
doc: Update min deps
mwestphal Jan 26, 2025
7addac3
Merge pull request #1943 from mwestphal/mindeps
mwestphal Jan 27, 2025
6915424
CI: Use save/restore logic for cache
mwestphal Jan 27, 2025
f454f5d
CI: Improve Dependents logic for version handling
mwestphal Jan 27, 2025
2f709b4
CI: Support not using specific dependencies when their versions is no…
mwestphal Jan 28, 2025
cb32fb7
CI: Allow not build OpenVDB
mwestphal Jan 28, 2025
2085d34
Merge pull request #1949 from mwestphal/fixup_default_versions
mwestphal Jan 28, 2025
27a3f7d
Update .github/actions/usd-install-dep/action.yml
mwestphal Jan 28, 2025
8970315
Fix ImGui console rendering below scalar bar (#1951)
Yogesh9000 Jan 28, 2025
7ac0f12
Merge pull request #1948 from mwestphal/improve_ci
mwestphal Jan 29, 2025
0d23354
CI: Add concurrency on generate-website job (#1953)
mwestphal Jan 29, 2025
0111398
Add InsertBraces to clang-format and update repo accordingly (#1952)
mwestphal Jan 29, 2025
87c54c8
doc: Adding a release notes for 3.0.0 (#1956)
mwestphal Jan 30, 2025
7c97869
CI: Do not run on doc only changes (#1960)
mwestphal Jan 30, 2025
2ac4c07
CI: Add prettier style check (#1961)
mwestphal Jan 31, 2025
5e835ff
application: Fix list-bindings option initialization (#1966)
mwestphal Feb 4, 2025
064021a
application: Report config file locations being checked (#1965)
mwestphal Feb 5, 2025
1a416c4
Doc: Stop using vcpkg and simplify getting started for Windows (#1964)
mwestphal Feb 6, 2025
dc202ae
fix zsh completion (#1971)
jia-kai Feb 9, 2025
994db15
Ignore timestamps recording in gzip metadata (#1982)
Antiz96 Feb 13, 2025
4ff34b3
Unset optional display value (#1981)
19jrushlow Feb 14, 2025
6a62a5b
add command remove_file_groups (#1978)
yankadeshkovski Feb 15, 2025
21b065f
Adding color as a proper option type (#1967)
mwestphal Feb 16, 2025
4b9ae2a
OBJ: Remove obj.inl logic that is not required since VTK v9.1.0 (#1992)
mwestphal Feb 16, 2025
335e9cc
opacity binding (#1972)
19jrushlow Feb 16, 2025
bc36877
interactor_impl: Improve and fix formatting (#1999)
mwestphal Feb 18, 2025
9d82f4b
options: Split tools and generated code for better coverage
mwestphal Feb 18, 2025
c25bae4
options_tools: Improve testing coverage
mwestphal Feb 18, 2025
e610509
options: Split tools and generated code for better coverage computati…
mwestphal Feb 18, 2025
384ebf8
Merge pull request #1998 from mwestphal/fix_vtk_nightly_build
mwestphal Feb 18, 2025
89feab0
Tests: Improve cheatsheet testing and limit baselines update (#2001)
mwestphal Feb 18, 2025
439c507
Update VTK
mwestphal Feb 19, 2025
0469215
data: Fix incorrect mtl in checkerboard_colorful.obj
mwestphal Feb 19, 2025
0c55d19
test: Testing OBJ with a TGA texture
mwestphal Feb 19, 2025
6fd0155
Update VTK (#2006)
mwestphal Feb 19, 2025
bb31af9
Alias Command (#1895)
voidrc Feb 24, 2025
252c363
doc: Fix a ref to a file that has been renamed (#2012)
mwestphal Feb 24, 2025
c1c0058
options: Add support for deprecating option in CMake logic (#2011)
mwestphal Feb 24, 2025
695141f
Center CheatSheet vertically (#1985)
Ni-g-3l Feb 25, 2025
13e81fa
Final shader applied on overlay (#1984)
samoncrief Feb 26, 2025
84a0862
Tests: Update baseline for overlay changes (#2019)
mwestphal Feb 27, 2025
2e8383a
Add a new option type: direction_t (#2007)
mwestphal Feb 27, 2025
2263c75
CI: Add a config.json file for deps versions (#1968)
Meakk Mar 1, 2025
6a9d4d5
CI: Remove not working winget action (#2025)
mwestphal Mar 1, 2025
d8aef11
doc: Update package list on INSTALLATION.md (#2026)
mwestphal Mar 1, 2025
0ffe6a8
Formatting: Add doc and fix formatting for python files and clang-for…
mwestphal Mar 1, 2025
40f592c
Chore: Update copyright year (#2028)
mwestphal Mar 1, 2025
b972a83
handle arbitrary up vector (#2023)
snoyer Mar 2, 2025
4f439b3
Improve testing documentation (#2030)
mwestphal Mar 2, 2025
203f9a2
Fix wasm option string issue (#2031)
Meakk Mar 2, 2025
413e7a0
Fix missing set_as_string migration (#2034)
Meakk Mar 2, 2025
331fa82
wasm: Fix version in package.json and update release template accordi…
mwestphal Mar 2, 2025
7eeae3b
Updating VTK (#2036)
mwestphal Mar 3, 2025
9dbb696
Add an architecture documentation (#2022)
mwestphal Mar 3, 2025
ba52a40
F3D: Add support for `-D, --define` and `-R,--reset` CLI option to se…
mwestphal Mar 3, 2025
004b25b
doc: Use asciiflow diagram (#2037)
mwestphal Mar 3, 2025
c8383af
parse mixed `xyz` directions (#2038)
snoyer Mar 3, 2025
bf9ba28
Initialize temporary up after F3DStarter sets up vector, add test to …
samoncrief Mar 3, 2025
e5922e1
format `direction_t` as XYZ when possible (#2041)
snoyer Mar 4, 2025
989c838
CI: Use dedicated default-versions-action and add timestamp support (…
mwestphal Mar 4, 2025
c7f7a99
Add support for imperative options in configuration files (#2040)
mwestphal Mar 4, 2025
b7cbacf
Cache: Add documentation and add XDG support (#2029)
mwestphal Mar 5, 2025
bf0fc02
macOS: Fix user config file location (#2043)
mwestphal Mar 5, 2025
0016594
F3D: Fix a small issue with imperative options (#2049)
mwestphal Mar 6, 2025
ac73b83
F3D: Update help text for new types (#2044)
mwestphal Mar 7, 2025
9d5bc10
Update VTK sha (#2050)
mwestphal Mar 7, 2025
966f4ce
options: Add support for path using std::filesystem::path
mwestphal Mar 5, 2025
37a71e5
variant converter
mwestphal Mar 7, 2025
c816ee7
fixups windows
mwestphal Mar 7, 2025
262bb6f
fixup
mwestphal Mar 7, 2025
3547349
fixups and docs
mwestphal Mar 7, 2025
cca3854
fixups
mwestphal Mar 7, 2025
8767b41
Adding functionnal testing
mwestphal Mar 7, 2025
16004d3
clf
mwestphal Mar 7, 2025
ea4c657
prettier
mwestphal Mar 7, 2025
72d2020
fixup macos
mwestphal Mar 7, 2025
6ee7b7f
Convert font_file to path
mwestphal Mar 8, 2025
c2beeea
convert all texture options to path
mwestphal Mar 8, 2025
2643701
fixup path
mwestphal Mar 8, 2025
dfd2db9
fixup test
mwestphal Mar 8, 2025
ab23b1f
Update vtkext/private/module/vtkF3DRenderer.cxx
mwestphal Mar 10, 2025
e207809
Merge branch 'master' into pwa-poc
snoyer Mar 10, 2025
b8f98d0
format
snoyer Mar 10, 2025
d8ba968
format again
snoyer Mar 10, 2025
c5b148f
format again with empty Prettier config
snoyer Mar 10, 2025
ad58bf5
Merge pull request #1731 from snoyer/pwa-poc
mwestphal Mar 10, 2025
5f69315
Merge pull request #2046 from mwestphal/fs_path_t
mwestphal Mar 11, 2025
fb856e6
Fix PWA artifacts (#2057)
Meakk Mar 11, 2025
3c7af4f
Merge pull request #2055 from mwestphal/improve_styles_checks
mwestphal Mar 11, 2025
f8ed8a0
Adding support for reader specific options (#2060)
mwestphal Mar 13, 2025
a40472d
Update VTK (#2062)
Meakk Mar 14, 2025
c941247
assimp: Record imported actors from internals (#2058)
exbluesbreaker Mar 15, 2025
e29bae1
Add OCCT specific reader options (#2059)
mwestphal Mar 15, 2025
623d2c1
Rework style checks (#2071)
mwestphal Mar 15, 2025
f59acec
doc: Update INTERACTIONS.md with doc about Left click with modifiers …
mwestphal Mar 15, 2025
877959f
context: Add exception handling (#2064)
exbluesbreaker Mar 16, 2025
211d4fe
Fix incorrect handling of invalid arg exception in commands
mwestphal Mar 15, 2025
be59271
interactor: Fix triggerCommand to return true on success
mwestphal Mar 15, 2025
1f5dbc0
Rework Android/Wasm CI (#1950)
Meakk Mar 16, 2025
6bd2c92
Add colormap type (#2061)
mwestphal Mar 16, 2025
0a8f981
Adding a test
mwestphal Mar 16, 2025
24a17c9
Disable UI line antialiasing (#2077)
Meakk Mar 17, 2025
9dc53cb
Remove Android/Wasm VTK master nightly (#2079)
Meakk Mar 17, 2025
58c5b0e
Improve command exception handling (#2065)
mwestphal Mar 17, 2025
0cb5da7
Updating dmon to 1.3.7 (#2078)
mwestphal Mar 17, 2025
a33113c
Tests: Add a CMake option to disable the main catch all exceptions (#…
mwestphal Mar 17, 2025
9e9123e
Fix typo: 'warps' -> 'wraps' in architecture doc (#2081)
Denys619 Mar 21, 2025
c236c82
Add parsing color_t (#2015)
VittorioSanchez Mar 24, 2025
b47f33f
Fix: Add validation for invalid "reset-" option keys in config files …
Denys619 Mar 25, 2025
1822452
Fix a small issue with color formating (#2093)
mwestphal Mar 25, 2025
0beb460
Fix JSON key quotes in CONFIGURATION_FILE.md (#2094)
Denys619 Mar 25, 2025
4bcd2ac
Replace Dropzone VTKActor by IMGUI (#1990)
Ni-g-3l Mar 25, 2025
bba1b0f
Colormap parse format (#2066)
mwestphal Mar 25, 2025
32c14ce
Fix a colormap test (#2096)
mwestphal Mar 26, 2025
ba354b4
vtkF3DRenderer: Fix a deprecation warning on AddActor2D (#2097)
mwestphal Mar 26, 2025
48755a9
F3D: collpasePath on HDRI drop
mwestphal Mar 28, 2025
6de70a4
Test: Adding test for collapse on drop
mwestphal Mar 28, 2025
695b9a9
F3D: collpasePath on HDRI drop (#2098)
mwestphal Mar 28, 2025
7496eaf
f3d-web updates: parse other ui params, loading visual feedback, aler…
jo-chemla Mar 28, 2025
868879c
Remove prevent skip frame as it is not needed anymore (#2104)
mwestphal Mar 28, 2025
9545244
assimp: add data validation flag (#2088)
exbluesbreaker Mar 29, 2025
a99a3bf
Updating VTK (#2105)
mwestphal Mar 29, 2025
ec044d0
imgui: Initial implementation for autocompletion and history in conso…
exbluesbreaker Mar 29, 2025
85789c8
Add supersampling anti-aliasing (#2086)
Meakk Mar 29, 2025
583543e
Console: Fix small issues when hiding the console (#2106)
mwestphal Mar 29, 2025
e6f3f18
doc: Improve console doc (#2107)
mwestphal Mar 29, 2025
d1fddff
Quake MDL feature (#1591)
Youva Mar 30, 2025
93a117f
QuakeMDL: Fix baselines and module dependencies (#2110)
mwestphal Mar 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ BinPackParameters: true
BraceWrapping:
BeforeLambdaBody: true
ColumnLimit: 100
InsertBraces: true
# Note that on versions after 4.0 you need to specify
# SpaceAfterTemplateKeyword: true
# which is not an option prior to 4.0. Later versions
Expand Down
2 changes: 2 additions & 0 deletions .clang-format-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# ignore vendored libraries:
./external/**/*
17 changes: 9 additions & 8 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
title: ""
labels: bug
assignees: ''

assignees: ""
---

**Describe the bug**
A clear and concise description of what the bug is, a screenshot helps a lot.

**To Reproduce**
Steps to reproduce the behavior:
1. Open the file using `f3d --no-config example.glb`
2. step 2
3. step 3

1. Open the file using `f3d --no-config example.glb`
2. step 2
3. step 3

**Expected behavior**
A clear and concise description of what you expected to happen.

**System Information:**
- OS:
- GPU and GPU driver:

- OS:
- GPU and GPU driver:

**F3D Information**
Paste the content of `f3d --version`:
Expand Down
7 changes: 3 additions & 4 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
title: ""
labels: enhancement
assignees: ''

assignees: ""
---

**Is your feature request related to a problem? Please describe.**
Expand All @@ -21,4 +20,4 @@ Add any other context or screenshots about the feature request here.

**Contribution**
Please tell us if you are able to contribute (Can you develop this new feature?)
Don't worry, you can still post a feature request if you cannot contribute!*
Don't worry, you can still post a feature request if you cannot contribute!
9 changes: 4 additions & 5 deletions .github/ISSUE_TEMPLATE/help_wanted.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: Help wanted
name: Open to contribution
about: A maintainer specific template
title: ''
labels: help-wanted
assignees: ''

title: ""
labels: help-wanted
assignees: ""
---

**Context**
Expand Down
37 changes: 28 additions & 9 deletions .github/ISSUE_TEMPLATE/new_release.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: New release
about: An issue to create a new release
title: ''
title: ""
labels: release
assignees: ''

assignees: ""
---

When creating this issue
Expand Down Expand Up @@ -32,14 +31,17 @@ Release Candidates :
- [ ] 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 (Intel)
- [ ] Locally test the python wheels on macOS (Silicon)
- [ ] Locally test the python wheels on Windows
- [ ] If it fails, fix the issues in `release` branch, copy this paragraph and increment `N`
- If it fails,
- [ ] Fix the issues in `release` branch,
- [ ] Edit this issuethis paragraph and increment `N`
- [ ] Merge F3D release into master: https://github.com/f3d-app/f3d/compare/master...release
- [ ] Else proceed to the next part

Release :

- [ ] Commit, review and merge `vX.Y.Z` version change in https://github.com/f3d-app/f3d `CMakeLists.txt`, `pyproject.toml` and the multiple `doxygen\conf.py` in the `release` branch
- [ ] 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
- [ ] Tag `vX.Y.Z` and push it to https://github.com/f3d-app/f3d: `git tag vX.Y.Z -m vX.Y.Z`
- [ ] Commit, review and merge adding `X.Y.Z` in https://github.com/f3d-app/f3d-superbuild `versions.cmake` in the `main` branch
- [ ] Tag `vX.Y.Z` and push it to https://github.com/f3d-app/f3d-superbuild: `git tag vX.Y.Z -m vX.Y.Z`
Expand All @@ -53,36 +55,45 @@ Release :
- [ ] Communicate on hackernews
- [ ] Communicate on linkedin
- [ ] Communicate on mastodon

- [ ] Merge F3D release into master: https://github.com/f3d-app/f3d/compare/master...release- [ ] Communicate on bluesky
- [ ] 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 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
Expand All @@ -91,20 +102,28 @@ Windows testing protocol:
- 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(f3d.Window.NATIVE)
eng.loader.load_geometry("/path/to/cow.vtp")
eng.window.render()
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
24 changes: 19 additions & 5 deletions .github/actions/alembic-install-dep/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,33 @@ inputs:
description: 'CPU architecture to build for'
required: false
default: 'x86_64'

version:
description: 'Version of alembic to build'
required: true

runs:
using: "composite"
steps:

# Alembic is part of VFX reference platform (CY2025: 1.8.x)
- name: Check required inputs
shell: bash
run: |
[[ "${{ inputs.version }}" ]] || { echo "version input is empty" ; exit 1; }

- name: Cache Alembic
id: cache-alembic
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/alembic_install
key: alembic-v1.8.8-${{runner.os}}-${{inputs.cpu}}-0
key: alembic-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-0

- name: Checkout Alembic
if: steps.cache-alembic.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
repository: alembic/alembic
path: './dependencies/alembic'
ref: 1.8.8
ref: ${{inputs.version}}

- name: Setup Alembic
if: steps.cache-alembic.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -60,3 +67,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/alembic_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-alembic.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-alembic.outputs.cache-primary-key }}
path: dependencies/alembic_install
45 changes: 6 additions & 39 deletions .github/actions/android-ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,6 @@ inputs:
arch:
description: 'Android arch to build'
required: true
ndk_version:
description: 'Version of the Android NDK to download'
required: false
default: 'r26b'
api_level:
description: 'Android API level'
required: false
default: '27'
vtk_version:
description: 'VTK version'
required: false
default: 'commit'

runs:
using: "composite"
Expand All @@ -26,28 +14,6 @@ runs:
run: |
[[ "${{inputs.arch}}" ]] || { echo "arch input is empty" ; exit 1; }

- name: Dependencies Dir
shell: bash
working-directory: ${{github.workspace}}
run: mkdir dependencies

- name: Install NDK
shell: bash
working-directory: ${{github.workspace}}
run: |
apt-get install unzip
wget https://dl.google.com/android/repository/android-ndk-${{inputs.ndk_version}}-linux.zip
unzip -qq android-ndk-${{inputs.ndk_version}}-linux.zip
mv android-ndk-${{inputs.ndk_version}} android-ndk

- name: Install VTK dependency
uses: ./source/.github/actions/vtk-android-install-dep
with:
arch: ${{inputs.arch}}
api_level: ${{inputs.api_level}}
vtk_version: ${{inputs.vtk_version}}
vtk_sha_file: ./source/.github/actions/vtk_commit_sha

- name: Setup Directories
shell: bash
working-directory: ${{github.workspace}}
Expand All @@ -60,16 +26,17 @@ runs:
working-directory: ${{github.workspace}}/build
run: >
cmake ../source
-DCMAKE_ANDROID_ARCH_ABI=${{inputs.arch}}
-DCMAKE_ANDROID_NDK=$(pwd)/../android-ndk
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_FIND_ROOT_PATH=$(pwd)/../dependencies/vtk_build/CMakeExternals/Install/vtk-android/
-DCMAKE_INSTALL_PREFIX:PATH=../install
-DCMAKE_SYSTEM_NAME=Android
-DCMAKE_SYSTEM_VERSION=${{inputs.api_level}}
-DF3D_BINDINGS_JAVA=ON
-DF3D_MODULE_EXR=ON
-DF3D_MODULE_UI=OFF
-DF3D_PLUGINS_STATIC_BUILD=ON
-DF3D_PLUGIN_BUILD_ALEMBIC=ON
-DF3D_PLUGIN_BUILD_ASSIMP=ON
-DF3D_PLUGIN_BUILD_DRACO=ON
-DF3D_PLUGIN_BUILD_EXODUS=OFF
-DF3D_PLUGIN_BUILD_OCCT=ON
-DF3D_STRICT_BUILD=ON

- name: Build
Expand Down
30 changes: 25 additions & 5 deletions .github/actions/assimp-install-dep/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,42 @@ inputs:
description: 'CPU architecture to build for'
required: false
default: 'x86_64'
version:
description: 'Version of assimp to build'
required: true

runs:
using: "composite"
steps:

- name: Check required inputs
shell: bash
run: |
[[ "${{ inputs.version }}" ]] || { echo "version input is empty" ; exit 1; }

- name: Cache ASSIMP
id: cache-assimp
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/assimp_install
key: assimp-v5.4.3-${{runner.os}}-${{inputs.cpu}}-0
key: assimp-${{inputs.version}}-${{runner.os}}-${{inputs.cpu}}-0

- name: Checkout ASSIMP
if: steps.cache-assimp.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
repository: assimp/assimp
path: './dependencies/assimp'
ref: v5.4.3
ref: ${{inputs.version}}

# Revert https://github.com/assimp/assimp/pull/5349
# Revert: https://github.com/assimp/assimp/pull/5349
# Issue: https://github.com/assimp/assimp/issues/5449
# Fix: https://github.com/assimp/assimp/pull/5751
# This impact 5.4.3 and should be fixed in next release (5.5 or 5.4.4)
- name: Patch ASSIMP
if: steps.cache-assimp.outputs.cache-hit != 'true'
if: |
steps.cache-assimp.outputs.cache-hit != 'true' &&
inputs.version == 'v5.4.3'
working-directory: ${{github.workspace}}/dependencies/assimp
shell: bash
run: patch -p1 < $GITHUB_ACTION_PATH/assimp-revert-fbx-bone-anim.patch
Expand Down Expand Up @@ -74,3 +87,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/assimp_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-assimp.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-assimp.outputs.cache-primary-key }}
path: dependencies/assimp_install
11 changes: 9 additions & 2 deletions .github/actions/blosc-install-dep/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ runs:

- name: Cache blosc
id: cache-blosc
uses: actions/cache@v4
uses: actions/cache/restore@v4
with:
path: dependencies/blosc_install
key: blosc-1.21.6-${{runner.os}}-${{inputs.cpu}}-0
key: blosc-v1.21.6-${{runner.os}}-${{inputs.cpu}}-0

# Dependents: openvdb vtk
- name: Checkout blosc
Expand Down Expand Up @@ -62,3 +62,10 @@ runs:
working-directory: ${{github.workspace}}/dependencies/blosc_install
shell: bash
run: cp -r ./* ../install/

- name: Save cache
if: steps.cache-blosc.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache-blosc.outputs.cache-primary-key }}
path: dependencies/blosc_install
Loading
Loading