[v0.1/Protocol Review] Decide the colorimetric-transform deferral (21 esctest cases) #182
Labels
No labels
priority/P0
priority/P1
priority/P2
release/v0.1.0
status/blocked
status/planned
type/bug
type/design
type/test-gap
type/tracker
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
natsukium/felis#182
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Background
21 of the 34 tracked esctest failures are colorimetric color-spec transforms (
docs/reference/esctest-compatibility.md"Deferred cases"):CIELab,CIELuv,CIEXYZ,CIExyY,CIEuvY,RGBI, andTekHVCvariants across the ChangeColor families (OSC 4 / 5 / 10–19). The docs say they "require per-space matrix and gamma transforms incrates/felis-grid/src/osc_color.rs". No issue tracks this work (searchedcolorimetric,osc_color: zero hits).Current state:
rgb:and#hexforms are✅(support-matrix.md:150-152); every colorimetric space is deferred.crates/felis-grid/src/osc_color.rsownsparse_x_color/format_osc_color_response, wired throughosc_dispatch.rs.Why this needs a decision before publish
esctest-compatibility.mdaccounts for every remaining failure, so the gate is satisfied either way. What is missing is the stance: is full color-space support on the roadmap (maximalism inside the screen perfeature-baseline.md), or isrgb:/#hexthe committed subset with the rest a non-goal?ChangColor-emitting tools) will hit this. If the answer is "defer", consumers deserve a recorded subset statement inreference/protocols/vt-compliance.md, not just an esctest-cluster label.PASS_BASELINEperhow-to/update-esctest-baseline.md.Proposal
osc_color.rs, snapshots, esctest ratchet). The 21 cases become the acceptance list.⚠️rows insupport-matrix.mdto state the committed subset explicitly (rgb:/#hexsupported; colorimetric spaces rejected), add the rationale toexplanation/protocols/vt-compliance.md(conscious omissions live there, cf. DECCOLM), and re-label the esctest cluster from "deferred" to "rejected".esctest-compatibility.mdso the cluster list is not a dead end.Acceptance criteria
esctest-compatibility.md's colorimetric cluster points at a decision (implementation issue or non-goal record), not just a module path.support-matrix.mdOSC 4/5/10–19 rows state the committed subset without needing the esctest page to interpret them.PASS_BASELINEraised by the fixed cases in the same commit (ratchet rule).Sources reviewed
docs/reference/esctest-compatibility.md"Deferred cases (25 tests)" — 21 colorimetricdocs/reference/protocols/support-matrix.md:150-152(OSC 4/5/10–19 rows)crates/felis-grid/src/osc_color.rs,crates/felis-grid/src/osc_dispatch.rsdocs/explanation/feature-baseline.md(maximalism inside the screen)colorimetric,osc_color— no tracking issue existsTriage plan (2026-09-07)
Decision (user, 2026-09-07): non-goal.
rgb:and#hexare the committed color-spec subset; the CIE / RGBI / TekHVC spaces are rejected. kitty does not implement them either, and no producer felis targets emits them; the 21 esctest cases are xterm's coverage of xterm's own extension, not a compatibility gap a user will hit.Approach
Docs-only PR:
docs/reference/protocols/support-matrix.md: the OSC 4 / 5 / 10–19 rows state the subset explicitly (rgb:and#hexaccepted; colorimetric color spaces refused, reply omitted) so the row reads without the esctest page.docs/explanation/protocols/vt-compliance.md(conscious omissions, beside DECCOLM): the rationale above plus a "Revisit if …" trigger (a producer in the supported set starts emitting a colorimetric spec).docs/reference/esctest-compatibility.md: move the 21 cases from "Deferred" to "Rejected" with this issue as the decision record;PASS_BASELINEunchanged.docs/explanation/non-goals.md: one entry.crates/felis-grid/src/osc_color.rscarries a comment promising future color-space support, replace it with a pointer to the decision (prune-comments rule: no history, no roadmap).Tests
None beyond
just prose-check, the docs-tree guards, and the esctest baseline test (the count of tracked failures must still reconcile).Cascade
Grep sweep:
colorimetric,CIELab,TekHVC,osc_coloracrossdocs/. No CHANGELOG entry (no behavior change).