mh_PLAYer - OCIO / LUT Sanity Kit
=================================
Kit v1.0  |  targets mh_PLAYer v2.12.0  |  2026-06-04
(c) 2026 Martin P. Heigan / mh_vfx_tools - anti-matter-3d.com
Licence: CC BY-NC-ND 4.0  (see "Licence & credits" at the end)

Purpose
-------
Known-good files to verify the Display Transform > LUT and OCIO paths in
mh_PLAYer. If these load correctly, the player is working and any earlier
failure was caused by the test config/LUT, not by mh_PLAYer.

Files
-----
  mh_sanity_config.ocio    Valid OCIO v2 config (validated with OCIO 2.5).
  luts/identity.cube       3D identity LUT (output == input; neutral baseline).
  luts/contrast_sample.cube 3D 17-cube smoothstep contrast LUT (visible change).
  mh_test_chart.png        1920x1080 sRGB chart: grey ramp, primaries, gradient, hue sweep.

How to use
----------
1. Load mh_test_chart.png.
2. Display Transform > LUT > Browse LUT... > luts/identity.cube
   - Image must look UNCHANGED (identity = passthrough). Confirms the LUT path.
   Then load luts/contrast_sample.cube - midtones gain contrast (visible S-curve).
3. Colour Management > OCIO > Browse Config... > mh_sanity_config.ocio
   - No error. The dropdowns populate:
       Input CS : lin_rec709 | sRGB | raw
       Display  : sRGB
       View     : Standard | Raw
   - Set Input CS = sRGB (the chart is sRGB-encoded), Display = sRGB, View = Standard, Apply.

Why your earlier configs failed (not an mh_PLAYer bug)
------------------------------------------------------
mh_PLAYer reports the OCIO library's own parse error and does not crash - correct
behaviour. The two messages were:

  "...must contain either a Default file rule or the 'default' role."
      -> An OCIO v2 config must define a 'default' role (or a Default file rule).
         This kit's config defines both.

  "...does not appear to have a valid version <null>." (line 0)
      -> The file had no 'ocio_profile_version:' header (empty / not a real OCIO
         config / wrong file). Every valid config starts with, e.g.:
             ocio_profile_version: 2

Tip - ACES without a config file
--------------------------------
OCIO 2.2+ ships built-in ACES configs addressable by URI, e.g.
  ocio://default
  ocio://studio-config-latest
  ocio://cg-config-latest
If you want mh_PLAYer to accept an "ocio://..." path (no file needed) as a quick
ACES route, say the word and that can be added to the OCIO loader.

Note
----
mh_test_chart.png is sRGB display-referred. For a true scene-linear OCIO check,
load a linear EXR and set Input CS = lin_rec709.

Licence & credits
-----------------
Kit (c) 2026 Martin P. Heigan / mh_vfx_tools, anti-matter-3d.com.
Released under Creative Commons BY-NC-ND 4.0
(https://creativecommons.org/licenses/by-nc-nd/4.0/).

mh_sanity_config.ocio is an original, minimal OpenColorIO v2 configuration
written for this kit; the .cube LUTs and the test chart are original works.
OpenColorIO is a project of the Academy Software Foundation; this kit is
independent and not affiliated with or endorsed by it.
