39 lines
1.6 KiB
Markdown
39 lines
1.6 KiB
Markdown
## Why
|
|
|
|
The Phase 3D native client must request a bounded display mode and send
|
|
provider-neutral absolute-pointer and high-resolution scroll input. The current
|
|
wire contract exposes only policy-selected stream dimensions and rejects both
|
|
new input kinds.
|
|
|
|
## What Changes
|
|
|
|
- Add one bounded `DisplayMode` object and optional display fields to session
|
|
request/session/manifest contracts while keeping control wire version 1.
|
|
- Register `display.request.v1`, `input.absolute.v1`, and `input.scroll.v1` so
|
|
every new behavior is explicitly negotiated.
|
|
- Extend VGI1 with exact absolute-pointer and signed scroll bodies while
|
|
preserving all existing kind encodings.
|
|
- Require a new immutable Protocol release candidate after deterministic
|
|
Go/Rust/Swift generation and conformance pass; existing tags remain unchanged.
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
|
|
- `session-display-mode`: Optional feature-gated requested and effective display
|
|
mode disclosure for native session creation and manifests.
|
|
|
|
### Modified Capabilities
|
|
|
|
- `gateway-input-feedback`: Add negotiated provider-neutral absolute-pointer and
|
|
high-resolution scroll kinds to the existing sequenced input grammar.
|
|
|
|
## Impact
|
|
|
|
- JSON Schema, feature registry, VGI frame documentation, fixed conformance
|
|
fixtures, generated Go/Rust/Swift bindings, and strict validators.
|
|
- Connection Server session persistence/allocation and Data Plane input
|
|
translation after consumers pin the immutable Protocol candidate.
|
|
- Protobuf remains unchanged because no observed consumer uses it for these
|
|
JSON control or VGI payload paths.
|