| name | lighting |
| description | Qualify project-owned lighting against ToonLab anime-game materials and shadow passes while respecting the public-package boundary. Use for missing cast shadows, flat outdoor scenes, clipped materials, mismatched sun/sky direction, exposure, or Call Me Sensei lighting reviews. |
Lighting Boundary
Lighting is not a stable ToonLab package entry point or style-bundle
slot. Do not import @call-me-sensei/toonlab/lighting and do not imply that
Call Me Sensei selects a complete lighting implementation.
Read agents/references/anime-art-direction.md,
agents/references/runtime-entry-points.md, and
agents/references/custom-gap-report.md first.
The host game owns lights, shadows, exposure, time of day, and renderer
configuration. Pass current light state only through documented scene adapters
for Toon, Environment, Ground, Vegetation, Water, Sky, and Weather. If a
project-local lighting adapter changes or supplements the selected anime
treatment, record it as a custom adapter gap with its owner and rationale.
Required outdoor lighting contract
- Use at least one directional key whose direction matches the visible sky
sun. Enable its cast shadow and frame the shadow camera around the complete
hero composition, including cliff face, beach, water contact zone, trees,
character, and ship—not only the plateau center.
- On WebGPU/node materials, create and update ToonLab's shared environment sun
shadow pass after all casters are added. Invalidate or run it dynamically
when a caster or sun moves. Native
renderer.shadowMap alone does not feed
every ToonLab TSL receiver.
- Create terrain through
createGroundShaderMesh() or explicitly make custom
terrain cast and receive shadows and join the ground field. Stable tree
factories must return shadow-ready trunks and foliage. Rocks, manufactured
assets, and characters must preserve cast/receive flags after shader
conversion.
- Pass the same sun direction/color and sky fill into Ground, Vegetation,
Water, Toon, and Environment adapters. A material that uses a stale default
vector while the shadow map uses the host sun is a release failure.