Skip to content

Add scene API - #3417

Open
noclone wants to merge 10 commits into
f3d-app:masterfrom
noclone:scene-api
Open

Add scene API#3417
noclone wants to merge 10 commits into
f3d-app:masterfrom
noclone:scene-api

Conversation

@noclone

@noclone noclone commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Describe your changes

  • Add scene API

Issue ticket number and link if any

#2937

Checklist for finalizing the PR

  • I have performed a self-review of my code
  • I have added tests for new features and bugfixes
  • I have added documentation for new features
  • If it is a modifying the libf3d API, I have updated bindings
  • If it is a modifying the .github/workflows/versions.json, I have updated docker_timestamp

AI Disclosure

  • I have not used AI to generate any of the content of this pull request
  • I have used AI to generate code in this pull request:
    • I have carefully read and understood the AI policy.
    • I have carefully reviewed and completely understood every generated line.
    • I disclose below which parts of the code were generated and with which AI model:
      I used Opus 5 to generate some parts of the code (eg. SetSubtreeVisibility), which I then reworked myself.
      ...

Continuous integration

Please write a comment to run CI, eg: \ci fast.
See here for more info.

@noclone
noclone requested a review from a team as a code owner July 27, 2026 10:22
@github-actions

Copy link
Copy Markdown

You are modifying libf3d public API! ⚠️Please update bindings accordingly⚠️!
You can find them in their respective directories: c, python, java, webassembly.

@mwestphal

Copy link
Copy Markdown
Member

missing AI disclosure

@noclone

noclone commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

missing AI disclosure

Done
I usally do I once the PR is ready for a full review

@mwestphal

Copy link
Copy Markdown
Member

missing AI disclosure

Done I usally do I once the PR is ready for a full review

You did request a review though, it least I recieved a review request.

@noclone

noclone commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

missing AI disclosure

Done I usally do I once the PR is ready for a full review

You did request a review though, it least I recieved a review request.

You did ?
I mean I asked meak to give his opinion on the design on discord but I didn't request a review on github.
Maybe you receive one automatically when the PR is not a draft ?

@mwestphal

Copy link
Copy Markdown
Member

one automatically when the PR is not a draft ?

Indeed :)

Please create a PR in draft mode unless ready for review: https://f3d.app/dev/CONTRIBUTING#f3d-development-workflow

@noclone
noclone marked this pull request as draft July 27, 2026 12:30
@noclone

noclone commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

one automatically when the PR is not a draft ?

Indeed :)

Please create a PR in draft mode unless ready for review: https://f3d.app/dev/CONTRIBUTING#f3d-development-workflow

my bad, will do

@mwestphal mwestphal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not rdy yet.

@noclone

noclone commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

\ci fast

@noclone
noclone marked this pull request as ready for review July 28, 2026 18:06
@mwestphal mwestphal linked an issue Jul 29, 2026 that may be closed by this pull request
@noclone
noclone requested a review from mwestphal July 29, 2026 07:23
Comment thread java/F3DSceneBindings.cxx Outdated

@Meakk Meakk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That looks pretty good!

Comment thread java/Types.java Outdated
Comment thread java/testing/TestScene.java
Comment thread library/src/scene_impl.cxx Outdated
assert engine.scene.get_added_files() == []


def test_scene_hierarchy():

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@snoyer can you check if usage is pythonic?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm assuming it is :)

Comment thread library/public/types.h
Comment thread library/public/types.h Outdated
@noclone
noclone requested review from Meakk and mwestphal July 31, 2026 07:18

@Meakk Meakk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, you can run the full CI and ping me again when it's green.

@noclone

noclone commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

\ci full

Comment thread library/public/scene.h
Comment thread python/F3DPythonBindings.cxx

@mwestphal mwestphal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some changes, but i have yet to review the implementation properly

Comment thread webassembly/F3DEmscriptenBindings.cxx
@mwestphal
mwestphal self-requested a review July 31, 2026 15:33
@codecov

codecov Bot commented Jul 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.07%. Comparing base (1c6d1a9) to head (540ce0e).
⚠️ Report is 5 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3417      +/-   ##
==========================================
+ Coverage   97.04%   97.07%   +0.03%     
==========================================
  Files         216      216              
  Lines       18784    18920     +136     
==========================================
+ Hits        18229    18367     +138     
+ Misses        555      553       -2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@noclone
noclone requested a review from Meakk July 31, 2026 21:18

@mwestphal mwestphal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, ill test when I can. needs a @Meakk review though.

Comment thread vtkext/private/module/vtkF3DMetaImporter.cxx
Comment thread vtkext/private/module/vtkF3DMetaImporter.cxx Outdated
Comment thread python/F3DPythonBindings.cxx
@mwestphal

Copy link
Copy Markdown
Member

Cannot cover the remaining lines ?

@noclone

noclone commented Aug 1, 2026

Copy link
Copy Markdown
Contributor Author

Cannot cover the remaining lines ?

I had missed them, they are now covered

@noclone
noclone requested a review from mwestphal August 1, 2026 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add f3d::scene API to handle the scene hierarchy

3 participants