XDRemux v1.2
Highlights
- Keeps the Swift CLI as the recommended macOS conversion entry point.
- Moves the Swift CLI from
xdremux/swift/XDRemux.swifttoxdremux/swift-cli/XDRemux.swift. - Moves the macOS SwiftUI app from
xdremux/swift/XDRemuxApptoapps/macos/XDRemuxAppso the CLI and GUI shell are not mixed in one source directory. - Documents the current hybrid input-processing branch as the production default.
- Preserves the Python CLI as the cross-platform entry point.
- Clarifies OPPO compatibility behavior: clean Apple/ImageIO-compatible output by default, with
--oppo-compatusing the OPPO Gallery recognition path without appending any privatelocal.uhdr.*/jxrstail. - Fixes OPPO UserComment tagflag expansion for short source tags such as
oplus_262144, so--oppo-compatcan write the UltraHDR flag without corrupting HEIC item offsets. - Standardizes repository layout documentation and keeps reusable local automation in
scripts/.
User impact
Users should invoke the main converters through xdremux/swift-cli/XDRemux.swift or xdremux/python/XDRemux.py.
The macOS app helper script remains scripts/build_and_run.sh, but it now targets the app project under apps/macos/XDRemuxApp.
Validation status
This release was validated on macOS with:
- Swift CLI typecheck for
xdremux/swift-cli/XDRemux.swift. - macOS app core typecheck for
apps/macos/XDRemuxApp/Sources/XDRemuxCore.swiftandAppStrings.swift. - Python syntax compilation for the XDRemux Python modules.
- Real UHDR sample conversion with
--oppo-compat, confirming nolocal.uhdr.*, nojxrs, and zero bytes after the finalmdat. - Real 18-file OPPO batch conversion with
--oppo-compat on, confirming 18 converted files and 0 failures after UserComment expansion. - Byte-for-byte comparison against the GitHub
origin/mainbaseline for Swiftsystem,hybrid, andpassthroughoutputs when OPPO compatibility is disabled. - Byte-for-byte comparison against the GitHub
origin/mainbaseline for the Python default output when OPPO compatibility is disabled. xcodebuildDebug build ofapps/macos/XDRemuxApp.