Skip to content

Icod.Terminal 0.13.0 — observable terminal color control - #26

Open
uniblab wants to merge 55 commits into
mainfrom
0.13.0
Open

Icod.Terminal 0.13.0 — observable terminal color control#26
uniblab wants to merge 55 commits into
mainfrom
0.13.0

Conversation

@uniblab

@uniblab uniblab commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Develops Icod.Terminal 0.13.0 from merged 0.12.0 mainline commit a59cdc2bbf09c3ad65481b69eaf100f4d128c96c.

Current development state

  • VersionPrefix: 0.13.0
  • VersionSuffix: alpha.8
  • effective package version: 0.13.0-alpha.8
  • assembly version: 0.13.0.0
  • T130–T136 — complete and green
  • T137 — implemented; exact-head validation pending

Theme

Observable terminal palette and dynamic-color control for future typed Icod.DCurses consumption.

Completed protocol scope

  • OSC 4 / 104 — indexed palette mutation, observation, reset
  • OSC 10 / 110 — default foreground
  • OSC 11 / 111 — default background
  • OSC 12 / 112 — text cursor
  • OSC 13 / 113 — mouse foreground
  • OSC 14 / 114 — mouse background
  • OSC 17 / 117 — highlight background
  • OSC 19 / 119 — highlight foreground

Tektronix OSC 15/16/18 and 115/116/118 remain deliberately excluded.

T136 ownership decision

0.13 intentionally exposes no color leases. Palette/dynamic-color mutation is explicitly unscoped; reset controls are terminal-policy reset, not exact restoration. Lifecycle-safe ownership requiring post-resume re-observation is deferred rather than changing core query/lifecycle ordering in this release.

Record: docs/T136-Scoped-Color-Ownership-Feasibility-and-Lifecycle-Decision.md.

T137 — composition and downstream observation acceptance

Implemented:

  • color mutation/reset composition with ordinary text and OSC 133 output in exact session serialization order;
  • active color observation coexisting with independently serialized control output while awaiting the matching response;
  • exact palette-versus-dynamic response correlation tests;
  • standalone tools/dcurses-color-observation-acceptance project;
  • real Icod.DCurses 0.1.0 package dependency;
  • scripted OSC 4 palette and OSC 11 dynamic-color queries returning typed 16-bit TerminalColor values;
  • explicit adaptation from 16-bit observations to the current 8-bit CursesColor.Rgb downstream representation;
  • styled DCurses refresh using observed colors through setrgbf / setrgbb, with no raw OSC parsing in DCurses;
  • net8.0/net9.0/net10.0 downstream verifier;
  • PR, distribution, and tagged-release wiring for the new color-observation acceptance gate.

Record: docs/T137-Color-Composition-and-DCurses-Observation-Acceptance.md.

Validation history

  • T131 — workflow #539 green
  • T132 — workflow #546 green
  • T133 — workflow #553 green
  • T134 — workflow #560 green
  • T135 — workflow #566 green
  • T136 — workflow #572 green

Remaining tranche

  • T138 — public API baseline, README/sample/package contract, stable metadata, and exact release closure

Roadmap: Icod.Terminal-0.13.0-Development-Roadmap.md.

Immediate next step

After exact-head T137 validation is green, T138 closes the 0.13 public API, documentation, samples, NuGet-only package consumer/XML contract, and stable 0.13.0 release gates.

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