Skip to content

0.4.23

Choose a tag to compare

@Hancapo Hancapo released this 05 Sep 06:14
· 110 commits to main since this release
0a4f3c1

Changed

  • Automated wheel validation covers Python 3.11 through 3.14 using the same test suite as source checkouts.
  • Unit, external integration, ABI and performance tests have explicit suites; selected tests fail rather than silently skipping missing requirements.
  • Test contracts target the current public API and no longer tolerate removed APIs through compatibility lookups or optional assertions.

Added

  • Read-only NumPy views of binary arrays, preserving endian and byte strides without copying data.

Fixed

  • Cached YCD rotations interpolate stored channels before reconstruction or normalization, matching fractional-frame playback.
  • YCD angular precision validation checks intermediate poses and sequence boundaries independently of integer samples, with separate diagnostics for subframe errors.
  • YCD quaternion export preserves hemisphere continuity and uses normalized four-component channels when three-component reconstruction would distort intermediate poses.
  • Native RPF reading and scanning support Unicode filenames and directories on Windows.
  • CPU skinning and GPU palette packing reject overlapping buffers before modifying outputs.
  • Native audio decoding rejects unrepresentable output sizes without terminating Python.
  • YCD frame channels reject invalid types, widths and truncated frame data.
  • Native bindings share exception-safe buffer ownership and GIL handling.
  • Native RPF, audio, and metadata readers remain compatible with Python 3.11 and 3.12 when the wheel is built on newer Python versions.

Performance

  • Binary array reads into Python lists are about 1.2x faster for large scalar arrays and no longer allocate intermediate 64-bit buffers.
  • Mesh splitting checks are about 3.6x faster for large meshes already within the vertex limit, avoiding unnecessary remapping tables and chunk allocations.