Skip to content

docs: clarify DitherMode::None is for pre-quantized graphics, not photos#50

Open
balloob wants to merge 1 commit into
OpenDisplay:mainfrom
balloob:docs/dithermode-none-guidance
Open

docs: clarify DitherMode::None is for pre-quantized graphics, not photos#50
balloob wants to merge 1 commit into
OpenDisplay:mainfrom
balloob:docs/dithermode-none-guidance

Conversation

@balloob

@balloob balloob commented Jul 6, 2026

Copy link
Copy Markdown

Clarifies documentation for DitherMode::None (NONE).

None does a direct nearest-color map with no error diffusion. Because the OKLab nearest-color metric places a band of neutral grays closer to red ink than to black/white, on limited palettes (especially BWR) a continuous-tone image or a large flat mid-tone area can map to an unexpected ink — e.g. a solid mid-gray region rendering as solid red. This is by design, but it surprises users who apply None to continuous-tone photos.

This PR documents that None is intended for already-quantized / graphics input only, and steers users toward an error-diffusion mode (e.g. Floyd-Steinberg, Burkes) for photographic input.

Docs/comments only — no logic or metric changes. Touches:

  • Rust/Python/JS enum docs for the None/NONE variant
  • Rust core, Python, and JavaScript READMEs

🤖 Generated with Claude Code

https://claude.ai/code/session_012g2e8mr132vcizx92WsgiR

DitherMode::None does a direct nearest-color map with no error diffusion,
so on limited palettes (especially BWR) continuous-tone or large flat
mid-tone areas can map to an unexpected ink (e.g. a mid-gray region
rendering as solid red). Document this in the Rust/Python/JS enum docs
and the package READMEs, and steer users toward an error-diffusion mode
for photographic input. Docs only; no logic or metric changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012g2e8mr132vcizx92WsgiR
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant