Skip to content

feat(SOLSYS-11): Blender close-up pipeline scaffold - #32

Merged
ThomasAFink merged 1 commit into
mainfrom
feat/SOLSYS-11-blender-pipeline-scaffold
Aug 7, 2026
Merged

feat(SOLSYS-11): Blender close-up pipeline scaffold#32
ThomasAFink merged 1 commit into
mainfrom
feat/SOLSYS-11-blender-pipeline-scaffold

Conversation

@ThomasAFink

@ThomasAFink ThomasAFink commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Choose catalog → JSON keyframes → Blender ingest for close-ups (solsys.blender_body_scene/v1).
  • Host export via PlanetCatalog + OrbitCalculator; Blender loader is stdlib + optional bpy.
  • CLI: render.py blender --body Earth (optional --load).
  • Extension point: flyby_scene.renderPlanetFlyby for #12.
  • Docs in animate/scenes/blender/README.md + root README; unit tests cover export/ingest/dry-run.

Closes #11

Test plan

  • python -m unittest discover -s tests -v
  • render.py blender --body Earth --frames 24
  • Host dry-run load_body.py on the export
  • blender --background --python …/load_body.py -- earth_body_scene.json

Summary by CodeRabbit

  • New Features

    • Added a Blender pipeline for exporting planetary body scenes and orbital keyframes to JSON.
    • Added CLI options to select a planet, frame count, output directory, and optional Blender loading.
    • Added Blender scene ingestion with dry-run validation when Blender is unavailable.
    • Added camera, material, and animation setup for imported planetary scenes.
    • Added a documented extension point for future flyby rendering.
  • Documentation

    • Expanded Blender pipeline documentation with workflows, schema details, commands, and roadmap information.
  • Tests

    • Added coverage for scene generation, validation, export, loading, CLI behavior, and flyby integration.

Export PlanetCatalog bodies as versioned JSON keyframes, add a
stdlib Blender ingest stub, and wire render.py blender plus the
#12 flyby extension point.
@ThomasAFink
ThomasAFink merged commit e35a30d into main Aug 7, 2026
@ThomasAFink
ThomasAFink deleted the feat/SOLSYS-11-blender-pipeline-scaffold branch August 7, 2026 20:23
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2d993b6f-69ba-4ddf-b6e3-54859fa48b06

📥 Commits

Reviewing files that changed from the base of the PR and between 19fb858 and 4415b42.

📒 Files selected for processing (9)
  • README.md
  • animate/scenes/blender/README.md
  • animate/scenes/blender/__init__.py
  • animate/scenes/blender/body_scene.py
  • animate/scenes/blender/export_body.py
  • animate/scenes/blender/flyby_scene.py
  • animate/scenes/blender/load_body.py
  • render.py
  • tests/test_blender_pipeline.py

📝 Walkthrough

Walkthrough

The PR adds a Blender body-scene pipeline. It builds orbital keyframes from catalog data, exports versioned JSON, validates and loads payloads, adds CLI support, and defines a future flyby rendering extension point.

Changes

Blender scene export

Layer / File(s) Summary
Scene schema and export
animate/scenes/blender/body_scene.py, animate/scenes/blender/export_body.py, animate/scenes/blender/__init__.py, tests/test_blender_pipeline.py
Adds immutable scene models, JSON serialization, catalog-based orbital sampling, display helpers, file export, and public package exports. Tests cover scene construction and JSON round trips.

Blender ingestion and command integration

Layer / File(s) Summary
Payload validation and Blender ingestion
animate/scenes/blender/load_body.py, tests/test_blender_pipeline.py
Validates scene payloads, supports dry-run summaries, and creates a UV sphere, animation keyframes, material, and camera in Blender.
CLI wiring and flyby extension
render.py, animate/scenes/blender/flyby_scene.py, tests/test_blender_pipeline.py
Adds the blender command, optional Blender execution, flyby export preparation, and an explicit NotImplementedError for future flyby rendering.

Documentation

Layer / File(s) Summary
Pipeline documentation
README.md, animate/scenes/blender/README.md
Documents the JSON pipeline, CLI workflows, output paths, loader modes, tests, and planned flyby work.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related issues

  • #12: The PR adds the scaffold and explicit flyby extension point described by this planned first-flyby objective.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/SOLSYS-11-blender-pipeline-scaffold

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

Blender close-up pipeline scaffold

1 participant