Skip to content

Icod.Terminal 1.12.0 — advanced persistent-raster placement geometry - #55

Draft
uniblab wants to merge 49 commits into
mainfrom
feature/1.12.0-advanced-raster-placement
Draft

Icod.Terminal 1.12.0 — advanced persistent-raster placement geometry#55
uniblab wants to merge 49 commits into
mainfrom
feature/1.12.0-advanced-raster-placement

Conversation

@uniblab

@uniblab uniblab commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Summary

Begins Icod.Terminal 1.12.0 development from published 1.11.1.

The approved release theme is bounded advanced persistent-raster placement geometry:

  • pixel-space source rectangles;
  • signed z-order;
  • no relative-placement graph, Unicode placeholder, animation, or scene-graph expansion.

Before the new public placement surface lands, T121 performs the already-approved behavior-preserving table-driven cleanup of TerminalTermInfoSemanticEvidence.

Planned tranches

T120  architecture/API regret gate + roadmap normalization            accepted
T121  table-drive TerminalTermInfoSemanticEvidence                    in progress
T122  source-rectangle public contract + resource-aware validation     planned
T123  z-order public contract + validation                             planned
T124  create/update encoder and acknowledged placement integration     planned
T125  lifecycle/adversarial/boundary hardening                         planned
T126  sample/package-only consumer/XML docs/downstream qualification   planned
T127  API freeze/release docs/three-OS/package release closure         planned

Frozen direction

Planned public additions:

public readonly struct TerminalRasterSourceRectangle {
    public TerminalRasterSourceRectangle(int x, int y, int width, int height);
    public int X { get; }
    public int Y { get; }
    public int Width { get; }
    public int Height { get; }
}

public sealed class TerminalRasterPlacementOptions {
    public int? Columns { get; set; }
    public int? Rows { get; set; }
    public TerminalRasterSourceRectangle? SourceRectangle { get; set; }
    public int? ZIndex { get; set; }
}

Source rectangles must fit completely inside the uploaded source raster; the common API does not inherit backend clipping behavior. ZIndex uses the full signed 32-bit range. Existing current-cursor/no-cursor-movement placement semantics remain intact.

Compatibility guardrails

  • stable compatibility floor remains 1.0.0;
  • production dependencies remain Icod.TermInfo 1.11.0 and Icod.Timing 1.0.0;
  • no new TerminalCapability value is planned;
  • private resource/placement identities remain private;
  • no source raster byte cache or replay/re-upload behavior;
  • existing resource/placement ceilings remain 256 / 4096;
  • direct persistent transfer remains the reviewed transport;
  • 1.11 placement bytes/behavior remain unchanged when new options are unused.

Current development identity

1.12.0-alpha.1

Authorities

  • Icod.Terminal-1.12.0-Development-Roadmap.md
  • docs/T120-1.12.0-Architecture-and-API-Regret-Gate.md
  • docs/superpowers/specs/2026-09-12-1.12.0-advanced-raster-placement-design.md
  • docs/superpowers/plans/2026-09-12-1.12.0-advanced-raster-placement.md

T121 implementation begins from this planning/API-regret gate. The PR remains draft while the implementation tranches advance.

@uniblab uniblab self-assigned this Sep 12, 2026
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