NOTICE: Academy Color Controls (Tonemap/ACES Grade) - Port from Luster/Photon
==============================================================================

This file documents the port of the post-ACES color grading stage from
"Luster" (a build of Photon Shaders by Benjamin Stott, "SixthSurge") into
Unbound Visual + PT v9.9.

SOURCE PACK:
  Photon Shaders (distributed here as "Luster v1.0") by Benjamin Stott
  ("SixthSurge")
  License: Photon Shaders License Agreement (permits personal-use
           modification and non-commercial redistribution; see the LICENSE
           file bundled with the source pack).
  Source files referenced:
    - shaders/include/post_processing/aces/aces.glsl (academy_color_controls)
    - shaders/include/lighting/colors/blocklight_color.glsl (for reference -
      hue/ratio only, not the physically-based Kelvin implementation itself)

PORTED BY:
  EminGT (Unbound Visual + PT v9.9 author), ported via assistant session, v9.7.

WHAT WAS PORTED:
  1. "Academy Color Controls" - a dedicated post-tonemap grading stage
     (pivot-anchored exposure + contrast at 18% grey, saturation +
     colorfulness split, soft highlight shoulder, gentle shadow toe).
     Added as `AcademyColorControls()` in composite5.glsl, wired in right
     after `ACESFittedTonemap()` when TONEMAP_STYLE == 6. New user-facing
     controls: ACADEMY_EXPOSURE, ACADEMY_CONTRAST, ACADEMY_SATURATION,
     ACADEMY_COLORFULNESS, ACADEMY_HIGHLIGHT_ROLLOFF, ACADEMY_SHADOW_TOE
     (see common.glsl). TONEMAP_STYLE default changed from 5 to 6 so this
     pipeline is actually active.
  2. Torch/Lantern/Fire/Jack-o'-Lantern/Campfire hue ratio (fireSpecialLightColor
     in blocklightColors.glsl) re-tuned warmer to be consistent with the
     grading above - this is an Unbound-side adaptation, not a direct code
     copy, since Unbound's block-light architecture (voxel floodfill) is
     unrelated to Photon's own blocklight system.

WHAT WAS NOT PORTED (and why):
  - Photon's day/night sun & moon exposure/tint curve (get_light_color() and
    related functions in light_color.glsl) - this is tightly coupled to
    Photon's own physically-based atmosphere/scattering engine (separate sky
    model, uniforms, and buffer layout from Unbound's). Porting it wholesale
    would require porting a large part of Photon's atmosphere system too,
    which risks breaking Unbound's existing sky/lighting pipeline. Unbound's
    existing per-time-of-day keyframes (LIGHT_NOON_I/MORNING_I/NIGHT_I/RAIN_I
    in common.glsl) remain Unbound's own equivalent system and were tuned
    directly instead (see earlier v9.7 change comments in common.glsl).
  - Photon's shadow map / light map (PCSS, RSM, GTAO/RTAO) architecture -
    this uses a completely different shadow buffer layout and uniform set
    than Unbound's existing shadow system. A full swap was judged too high
    risk to attempt blindly (could break shadow rendering entirely); left
    untouched. Unbound's own shadow parameters remain tunable on request.

LICENSE TERMS:
  Per the Photon Shaders License Agreement bundled with the source pack:
  modification for personal use and redistribution of modified/unmodified
  portions is permitted, excluding redistribution for direct monetary
  compensation (e.g. paid downloads) or on monetized platforms without the
  original author's explicit written permission. This notice is included to
  preserve attribution as required.
