f3d icon indicating copy to clipboard operation
f3d copied to clipboard

WIP: Add Android build

Open Meakk opened this issue 3 years ago • 4 comments

Tasklist:

  • [x] Build VTK in CI in 64-bits ARM and x86 architectures
  • [x] Build libf3d with minimal modules in CI
  • [x] Add JNI wrapper in CI (expose libf3d.so artifacts)
  • [ ] Create Java or Kotlin interface
  • [ ] Create Gradle build system
  • [ ] Generate .apk (expose in CI artifacts)
  • [ ] Add Exodus module
  • [ ] Add Assimp module
  • [ ] Add OCCT module
  • [ ] Add 32-bits architectures

Meakk avatar Dec 21 '21 07:12 Meakk

Current status:

  • VTK is building fine on arm64 and x64, fixed here but fails for 32-bits architectures.
  • libf3d is building properly without OCCT/Assimp modules (it's currently 42MB, we need to strip unused symbols)
  • JNI native wrapper is done and working
  • VTK multitouch interactor style is really bad, we will need to create one ourselves
  • Java interface prototype is done, but will need a complete rewrite (ideally in Kotlin) to create a good user experience (let's discuss the specs)

FYI @mwestphal @jpouderoux

image

Meakk avatar Jan 06 '22 06:01 Meakk

Java interface prototype is done, but will need a complete rewrite (ideally in Kotlin) to create a good user experience (let's discuss the specs)

What does this mean ?

mwestphal avatar Jan 06 '22 08:01 mwestphal

Java interface prototype is done, but will need a complete rewrite (ideally in Kotlin) to create a good user experience (let's discuss the specs)

What does this mean ?

Right now, I have a single OpenGL view in full screen. We may want to have a big + button for opening files, a previous and next button, a button to play/stop animations, etc...
We need to sketch the user interface basically.

Meakk avatar Jan 06 '22 09:01 Meakk

Codecov Report

Merging #173 (66d6a59) into master (52c68e7) will increase coverage by 0.02%. The diff coverage is 100.00%.

:exclamation: Current head 66d6a59 differs from pull request most recent head e12b239. Consider uploading reports for the commit e12b239 to get more accurate results

@@            Coverage Diff             @@
##           master     #173      +/-   ##
==========================================
+ Coverage   94.87%   94.89%   +0.02%     
==========================================
  Files          91       91              
  Lines        4524     4545      +21     
==========================================
+ Hits         4292     4313      +21     
  Misses        232      232              
Impacted Files Coverage Δ
.../VTKExtensions/Applicative/vtkF3DObjectFactory.cxx 100.00% <ø> (ø)
library/VTKExtensions/Rendering/vtkF3DRenderer.cxx 99.74% <ø> (ø)
library/public/window.h 100.00% <ø> (ø)
library/src/window_impl.cxx 100.00% <100.00%> (ø)
...xtensions/Rendering/vtkF3DRendererWithColoring.cxx 98.26% <0.00%> (-0.01%) :arrow_down:
library/public/types.h 100.00% <0.00%> (ø)
library/public/camera.h 100.00% <0.00%> (ø)
library/src/camera_impl.cxx 100.00% <0.00%> (ø)
... and 2 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

codecov[bot] avatar Jun 02 '22 15:06 codecov[bot]

Current status:

https://user-images.githubusercontent.com/6069752/186754316-5d9a3186-c151-49e3-89f8-4fe67fecca54.mp4

Meakk avatar Aug 25 '22 19:08 Meakk

nice, the zoom is a bit janky, is it a FPS issue or interaction issue ?

mwestphal avatar Aug 26 '22 04:08 mwestphal

It's an interaction issue

Meakk avatar Aug 26 '22 05:08 Meakk

Android build is merged here: #382
New required APIs here: #383

This PR will now focus on java bindings

Meakk avatar Sep 03 '22 10:09 Meakk

Actually, closing this one for #390

Meakk avatar Sep 03 '22 11:09 Meakk