docs: record colorimetric color specs as a non-goal #202

Merged
natsukium merged 1 commit from docs/colorimetric-non-goal-182 into main 2026-09-07 22:09:10 +09:00
Owner

Fixes #182.

Records the colorimetric-transform deferral as a decided non-goal instead of leaving 21 esctest cases unexplained. rgb: and #hex stay the committed color-spec subset for OSC 4 / 5 / 10-12; the X11 colorimetric spaces (CIELab, CIELuv, CIEXYZ, CIExyY, CIEuvY, TekHVC) and the rgbi: intensity form are refused, leaving the addressed slot unchanged with no reply, and OSC 13-19 remain accepted-and-ignored whatever the spec form.

Doc cascade:

  • docs/explanation/non-goals.md — the non-goal entry, pointing at the owning argument.
  • docs/explanation/protocols/vt-compliance.md — the rationale and its "Revisit if …" trigger under "Conscious omissions".
  • docs/reference/protocols/vt-compliance.md — the normative color-spec subset and the refusal semantics.
  • docs/reference/protocols/support-matrix.mdOSC 4 / 5 / 10-12 rows now name the accepted subset.
  • docs/reference/esctest-compatibility.md — the 21 cases move from unexplained to non-goal.
  • docs/README.md, crates/felis-grid/src/osc_color.rs — pointer and doc-comment mirrors.

Verified: just check green (fmt, clippy, nextest, deny, proto-compat); reviewed by pi luna + pi sol; docs proofread by Gemini gemini-3.8-flash-high

Follow-ups

  • #201 test: pin the OSC 4/5 refusal and OSC 13-19 no-op behavior at the dispatch layer

Deferred

  • A dispatch-level negative test for a refused colorimetric spec — crates/felis-grid/src/osc_color/tests.rs already asserts the rejection at the parser layer, and the plan explicitly calls for no new tests (raised by the implementer; filed as #201).
Fixes #182. Records the colorimetric-transform deferral as a decided non-goal instead of leaving 21 esctest cases unexplained. `rgb:` and `#hex` stay the committed color-spec subset for `OSC 4 / 5 / 10-12`; the X11 colorimetric spaces (`CIELab`, `CIELuv`, `CIEXYZ`, `CIExyY`, `CIEuvY`, `TekHVC`) and the `rgbi:` intensity form are refused, leaving the addressed slot unchanged with no reply, and `OSC 13-19` remain accepted-and-ignored whatever the spec form. Doc cascade: - `docs/explanation/non-goals.md` — the non-goal entry, pointing at the owning argument. - `docs/explanation/protocols/vt-compliance.md` — the rationale and its "Revisit if …" trigger under "Conscious omissions". - `docs/reference/protocols/vt-compliance.md` — the normative color-spec subset and the refusal semantics. - `docs/reference/protocols/support-matrix.md` — `OSC 4 / 5 / 10-12` rows now name the accepted subset. - `docs/reference/esctest-compatibility.md` — the 21 cases move from unexplained to non-goal. - `docs/README.md`, `crates/felis-grid/src/osc_color.rs` — pointer and doc-comment mirrors. Verified: just check green (fmt, clippy, nextest, deny, proto-compat); reviewed by pi luna + pi sol; docs proofread by Gemini gemini-3.8-flash-high ## Follow-ups - #201 test: pin the OSC 4/5 refusal and OSC 13-19 no-op behavior at the dispatch layer ## Deferred - A dispatch-level negative test for a refused colorimetric spec — `crates/felis-grid/src/osc_color/tests.rs` already asserts the rejection at the parser layer, and the plan explicitly calls for no new tests (raised by the implementer; filed as #201).
docs: record colorimetric color specs as a non-goal
All checks were successful
bench / Criterion regression gate (pull_request) Successful in 2m2s
darwin / detect relevant changes (pull_request) Successful in 4s
bench / Criterion full-suite snapshot (pull_request) Has been skipped
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 53s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 1m2s
darwin / darwin docs-only no-op (pull_request) Has been skipped
pr / nix flake check (pull_request) Successful in 37s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m39s
pr / wire schema is compatible with the base (pull_request) Successful in 11s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 50s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 3s
windows / windows docs-only no-op (pull_request) Has been skipped
windows / frontend smoke (Windows) (pull_request) Successful in 2m28s
windows / cargo nextest (Windows) (pull_request) Successful in 7m24s
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
5623ae2429
The 21 esctest failures over CIE / RGBI / TekHVC color specs were
labeled "deferred" with only a module path, leaving consumers unable to
tell whether the spaces are coming. They are not: `rgb:` and `#hex` are
the committed subset for the codes felis acts on (OSC 4 / 5 / 10-12;
13-19 are accepted and ignored whatever the spec form), kitty implements
none of the xterm-spelled CIE or TekHVC forms either, and no producer
felis targets emits them, so the cases are xterm's coverage of an xterm
extension rather than a compatibility gap.

Refs #182
natsukium deleted branch docs/colorimetric-non-goal-182 2026-09-07 22:09:10 +09:00
Sign in to join this conversation.
No description provided.