Skip to content

Render Module & Repo Tidy Up - #374

Open
ScepticalRabbit wants to merge 59 commits into
devfrom
render-api
Open

Render Module & Repo Tidy Up#374
ScepticalRabbit wants to merge 59 commits into
devfrom
render-api

Conversation

@ScepticalRabbit

@ScepticalRabbit ScepticalRabbit commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

Description

CI tests will be broken and not pass until Riley PR is merged and a new version of Riley is released

Addition of a render module to act as a unified API for synthetic image generation through Riley, Feebee or Blender, see #123 . Makes Riley the default render backend and makes Blender an optional dependency allowing pyvale to be installed with any version of python greater than or equal to 3.11.

Cleaned up a significant number of warnings in the tests and the docs generation and deleted a bunch of legacy rendering code. Re-organised parts of the repo layout and the package data to make things simpler. Significant amounts of the line change count are due to these tidy ups.

Features, fixes and developements include:

  • Unified render module API providing a unified interface for: Riley, Feebee and Blender
  • Scene building helper tools for setting up: cameras, meshes, uvs and stereo cameras
  • Examples in the docs using Riley and Blender for synthetic image generation
  • Examples in the docs for practical UV mapping generation for DIC UQ
  • Added mesh convention enforcement tools through Riley
  • Added a meshio helper to dataio for simple mesh loading
  • Added a new test suite to smoke test all examples
  • Full unit and regression tests for render api, render helpers, Riley demo parity
  • Fixed a ton of warnings during docs generation
  • Fixed a ton of warnings from the tests and suppressed warnings we can't control from dependencies.
  • Added checks so that blender and mooseherder tests only run if relevant dependencies are available
  • Added a bunch of new developer guidance to ./dev/
  • Removed significant amounts of 2D, numpy and cython rendering codes
  • Consolidated dataset and data modules for simplicity
  • Bumped version number to 2026.9.0

NOTE: This is dependent on the latest dev version of Riley and this PR
will need to be merged and new release of Riley created before this will work. Additionally, install times will be extremely slow due to the build on install with Riley.

Type of change

Please mark the relevant options

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • Render module unit tests with analytic reference cases for scene, uv and camera helper functions
  • Render module regression tests against reference renders
  • Parity tests against Riley native demos using render module helpers
  • Added test suite that runs a smoke test on all standalone pyvale examples

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have made the code speak for itself where possible and commented in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@ScepticalRabbit ScepticalRabbit self-assigned this Aug 31, 2026
@ScepticalRabbit ScepticalRabbit changed the title Render Module Render Module & Repo Tidy Up Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant