0.1.8
Loading...
Searching...
No Matches
Changelog

[v0.1.8] 2025-10-15

  • Updated helios-core to v1.3.55

PlantArchitecture

  • Added custom plant building API with addPlantInstance(), addBaseStemShoot(), and addChildShoot()
  • Added collision detection support with plantDoesCollide()
  • Added AxisRotation data type for shoot rotation control
  • Expanded plant library to 28 models (added apple_fruitingwall, asparagus, tomato)
  • Added plantarch_custom_building_sample.py, plantarch_collision_sample.py, plantarch_file_io_sample.py

[v0.1.7] 2025-10-11

  • Updated helios-core to v1.3.53, which includes a number of upgrades to the visualizer

[v0.1.6] 2025-10-06

  • Reconfigured wheel builds to keep all generated files in pyhelios_build directory
  • Fixed README.md badge so wheel builds will show 'passing'
  • Added missing files in pyhelios/runtime/ directory to git control

[v0.1.5] 2025-10-06

🚨++ New Plug-in Integrated ++ 🚨

  • Boundary-layer conductance plug-in integrated
  • Updated helios-core to v1.3.52
  • Removed pre-built wheels for Intel Macs. Free-tier Intel MacOS runners are no longer available on GitHub. Intel Mac users will need to build from source.

[v0.1.4] 2025-09-25

  • Updated helios-core to v1.3.51

Visualizer

  • Fixed issue where font assets were not being copied to the build directory

[v0.1.3] 2025-09-22

🚨++ New Plug-in Integrated ++ 🚨

  • Initial phase of plant architecture plug-in integrated with PyHelios. This includes basic functionality for building plants from the library.
  • Updated Helios native C++ library to v1.3.50

Improved Error Handling, Build System Optimization, and Testing Infrastructure

  • Context API: Enhanced lifecycle state tracking with detailed error messages for better debugging
  • Build System: Streamlined asset management by removing redundant asset copying code and optimizing build process
  • Testing: Enhanced cross-platform test coverage with improved mock mode handling and context lifecycle testing
  • Documentation: Major updates to plugin integration guide with critical implementation patterns and best practices
  • Visualizer: Enhanced compatibility and error handling for cross-platform visualization workflows

Build System

  • Removed redundant asset copying for visualizer and weberpenntree plugins (using environment variable approach)
  • Optimized build process with cleaner CMake integration
  • Enhanced cross-platform library validation with fail-fast behavior

[v0.1.2] 2025-09-18

🎉PyPI package distribution should now be working for all integrated plug-ins 🎉

Enhanced Build System and GPU Runtime Detection

  • Added robust GPU runtime detection with fail-fast behavior and comprehensive error reporting
  • Enhanced wheel building infrastructure with improved GitHub Actions workflows and timeout management
  • Build System: Improved plugin dependency resolution with explicit user request tracking
  • Context API: Enhanced error handling with consistent RuntimeError exceptions and better UUID validation
  • RadiationModel: Expanded camera system integration with comprehensive GPU capability detection
  • Testing: Added pytest markers for GPU-specific tests and enhanced cross-platform test coverage

[v0.1.1] 2025-09-14

PyPI Package Distribution Fixes

  • Fixed wheel building configuration with explicit plugin selection for cross-platform consistency
  • macOS wheels: Include visualization support while excluding GPU plugins due to cross-compilation constraints
  • Windows/Linux wheels: Include GPU plugins (radiation, energybalance) in addition to visualization for full feature support
  • Improved CI/CD testing with comprehensive plugin validation and better error reporting

Many documentation error fixes

Context

  • Enhanced Context with new file export capabilities: writePLY(), writeOBJ() methods with comprehensive parameter support

[v0.1.0] 2025-09-06

🎉++ PyPI Package Distribution ++ 🎉

  • PyHelios now available on PyPI with pip install pyhelios3d

Package Distribution

  • Added comprehensive wheel building infrastructure with GitHub Actions CI/CD
  • Cross-platform wheel support for Windows, macOS (x86_64 + ARM64), and Linux
  • Automated CUDA toolkit installation and multi-architecture GPU support
  • Smart platform detection for optimal plugin selection (macOS excludes GPU, Windows/Linux includes GPU when available)
  • Added wheel preparation script for native library packaging
  • Added MANIFEST.in for proper PyPI package structure

Bug Fixes

  • Fixed PluginMetadata constructor calls in build_helios.py
  • Corrected plugin metadata parameter handling for GPU/visualization exclusions
  • Enhanced build system robustness for different plugin configurations

[v0.0.9] 2025-09-06

🚨++ New Plug-in Integrated ++ 🚨

  • Photosynthesis model plug-in integrated with PyHelios

Stomatal Conductance

  • Fixed a few errors in the stomatal conductance model implementation
  • Corrected a few errors in the stomatal conductance model documentation

Radiation Model

  • Corrected a few errors in the radiation model documentation

[v0.0.8] 2025-09-05

🚨++ New Plug-in Integrated ++ 🚨

  • Stomatal Conductance plug-in integrated with PyHelios
  • Made some updates to testing infrastructure to avoid pytest state contamination

[v0.0.7] 2025-09-04

  • Updated Helios native C++ library to v1.3.47

Radiation Model

  • Finished radiation model integration with PyHelios
  • Implemented radiation band management, source configuration, and simulation execution
  • Added camera-based radiation modeling with flux data retrieval
  • Enhanced with graceful degradation when radiation plugin unavailable

Documentation

  • Updated radiation plugin documentation with API reference and usage examples
  • Added troubleshooting guide for OptiX and GPU requirements

[v0.0.6] 2025-08-27

🚨++ New Plug-in Integrated ++ 🚨

  • Solar Position plug-in integrated with PyHelios

Bug Fixes

  • Fixed CMake build system to only compile wrapper sources for selected plugins
  • Fixed plugin registry detection for selective builds (--plugins visualizer)
  • Fixed SolarPosition plugin metadata to correctly reflect optional status
  • Fixed WeberPennTree constructor to properly handle unavailable plugin scenarios
  • Updated error messages for plugin availability to match build configurations

Testing

  • Enhanced cross-platform tests for selective plugin builds
  • Fixed test failures when building with limited plugin sets
  • Improved error handling validation in plugin availability tests

[v0.0.5] 2025-08-27

  • Helios native C++ had several bugs that was causing errors in the last version. Merged in patched version of 1.3.46.

Visualizer

  • Fixed some issues that could cause the visualizer tests to crash in headless mode.

[v0.0.4] 2025-08-25

🚨++ New Plug-in Integrated ++ 🚨

  • Energy Balance plug-in integrated with PyHelios
  • Updated Helios native C++ library to v1.3.46

Visualizer

  • Added Visualizer.colorContextPrimitivesByData()
  • Fixed a number of issues where visualizer methods were using lists instead of Helios data types (e.g., vec2, vec3, etc.)

[v0.0.3] 2025-08-23

Context

  • Added comprehensive file loading support with Context.loadPLY(), Context.loadOBJ(), and Context.loadXML() methods
  • Enhanced Context.loadPLY() with 5 overloads supporting origin, height, rotation, color, and upaxis transformations
  • Enhanced Context.loadOBJ() with 4 overloads including scale transformations and upaxis specification
  • Added complete Context.loadXML() implementation for Helios XML geometry files
  • Extended native C++ wrapper with 9 new file loading functions and proper error handling
  • Added comprehensive parameter validation and security path checking
  • Implemented Context.addTriangleTextured()
  • Implemented Context.addTrianglesFromArraysTextured()

Examples

  • Added example geometry files: suzanne.ply, suzanne.obj, suzanne.mtl, and leaf_cube.xml
  • Updated external_geometry_sample.py and stanford_bunny_radiation.py for demonstration

Documentation

  • Major README.md restructuring with simplified installation and quick start guide
  • Streamlined documentation structure with consolidated user guide sections
  • Updated Doxygen configuration for cleaner documentation generation
  • Removed redundant documentation files and consolidated content

Testing

  • Enhanced existing tests with file loading functionality validation
  • Added cross-platform API tests that work with and without native library

[v0.0.2] 2025-08-22

Context

  • Added compound geometry support with addTile(), addSphere(), addTube(), addBox(), and addCone() methods (with color variants)
  • Enhanced native C++ wrapper with thread-safe static vector management
  • Fixed memory management issues with proper context cleanup to prevent segmentation faults
  • Added comprehensive test coverage for compound geometry functionality

Examples

  • Added primitive_data_array_example.py demonstrating numpy array integration
  • Enhanced stanford_bunny_radiation.py with improved visualization workflow
  • Removed deprecated simple_radiation_test.py

Documentation

  • Updated plugin integration guide with memory management best practices
  • Enhanced README.md with simplified installation instructions

[v0.0.1] 2025-08-21

Helios native C++

Fix helios-core submodule to point to correct remote commit

  • Reset submodule to match actual remote state (228a3d389)
  • Remove local divergent commits that don't exist on remote
  • This fixes the git history display showing non-existent commits

Context

  • Add primitive data operations for all types (float, int, string, vec2/3/4, int2/3/4)
  • Add primitive data query functions (exists, type, size)
  • Add auto-detection getter and pseudo-color visualization support
  • Extend Context.py with comprehensive primitive data methods
  • Add robust error handling and cross-platform ctypes wrappers
  • Include comprehensive test coverage for all primitive data operations
  • Added Context::getPrimitiveDataArray() to return a numpy array of primitive data

[v0.0.0] 2025-08-20

🎉 Initial version! 🎉

Currently implemented plug-ins

  • visualizer
  • radiation
  • weber-penn tree