Skip to content

Interaction v2: zero-copy GPU transfer bridge (Skyline.Interaction.Gpu) #23

Description

@codymullins

Problem

The interaction tier v1 (approvals spine) shipped. The transfer broker is scoped to text/metadata; copying a GPU surface (canvas/composited page) would force a CPU round-trip, which the design forbids. A browser eventually needs zero-copy surface copy/paste.

Current state

  • src/Skyline.Interaction/Transfer.csTransferOffer carries a string payload; no GPU-handle representation.
  • docs/plans/interaction-tier.md §8 lists Skyline.Interaction.Gpu as v2+ ("yields a wgpu handle … byte-stream would force a processor round-trip, which is forbidden").

What's needed

  • A new Skyline.Interaction.Gpu project (deps: Skyline.Interaction + Skyline.Gpu).
  • A wgpu-handle transfer representation (texture handle + format + size + allowed usage) and broker methods to offer/take it, with lifetime tied to the grant.

Acceptance criteria

  • A surface can be offered, taken, and revoked through the broker with no CPU round-trip; the taken handle refers to the same texture.

Notes

The rest of interaction v2 (focus graph, targets, commands, Akka runtime) is deferred-by-design and not required to host Starling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:gpuSkyline.Gpu / WebGPU surface and presentarea:interactionSkyline.Interaction tierenhancementNew feature or requestpriority:futurePolish / advanced; can waitstarling-supportWork required for Skyline to host the Starling browser shell

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions