Skip to content

feat(vita): add native-density rendering and touch input#99

Merged
doodlewind merged 8 commits into
mainfrom
feat/vita-native-density
Jul 13, 2026
Merged

feat(vita): add native-density rendering and touch input#99
doodlewind merged 8 commits into
mainfrom
feat/vita-native-density

Conversation

@doodlewind

@doodlewind doodlewind commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add target-owned raster density while preserving the 480x272 logical viewport; Vita now renders fonts, SVGs, masks, and optional @2x assets directly at 960x544
  • expose platform.pixelRatio and make PSP GE, Vita GXM, WASM, capture, and low-level demo builds consume the same resolved density contract
  • add first-class immutable front-touch snapshots in logical coordinates, bump the Vita Host ABI to 2, and let DeepZoom consume anchored pan/zoom gestures while PSP keeps controller fallback
  • derive stable Vita Title IDs from each manifest app ID and keep named VPK outputs so demos and downstream apps install as separate bubbles
  • replace duplicated-pixel Vita assertions with independent native-detail goldens, texture/font residency checks, and touch/input semantic capture hooks
  • fix the shared motions grid layout
  • keep the Vita hardware-install guide, but remove the unfinished Vita blog draft from this PR

Validation

  • bun run test
  • PSP headless golden suite: 44/44 byte-exact
  • Vita3K native-density golden suite: 44/44 byte-exact
  • focused DeepZoom/touch tests: 7/7
  • Rust core tests: 64/64
  • native Vita release VPK builds at density 2
  • site build with the Vita draft absent

Downstream proofs

  • pocket-figma#1: gesture tests 8/8; PSP/Vita platform checks; local and cold Vita3K 7/7; one-finger pan continues with measured post-release inertia; two-finger anchored pinch measures exactly 2x with a fixed document center
  • open-strike#9: PSP/Vita platform checks; Vita host tests 10/10; cold right-stick capture changes yaw while centered pitch has zero drift
  • stable install IDs remain independent: stock demos derive IDs from manifest identity, Pocket Figma uses PFIG00001, and OpenStrike uses OPSK00001

This follows merged #98 and #92; all three PRs remain draft and this branch is not merged.

@doodlewind doodlewind changed the title feat(vita): render UI at native density feat(vita): add native-density rendering and touch input Jul 12, 2026
@doodlewind doodlewind marked this pull request as ready for review July 13, 2026 01:58
@doodlewind doodlewind merged commit 05573e1 into main Jul 13, 2026
@doodlewind doodlewind deleted the feat/vita-native-density branch July 13, 2026 01:58
doodlewind added a commit that referenced this pull request Jul 13, 2026
The new Vita post, rebuilt from scratch after the stale draft was removed
in #99. Leads with the native raster-density story (same-frame golden
comparison, committed 960x544 captures) and the pocket.json contract
system that keeps platform support from going ad hoc; covers touch as the
kept promise, the 44-frame evidence with the CPU-oracle caveat, and the
named gaps. Diagrams are inline SVG in the house style; all screenshots
are real committed goldens.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
doodlewind added a commit that referenced this pull request Jul 13, 2026
The new Vita post, rebuilt from scratch after the stale draft was removed
in #99. Leads with the native raster-density story (same-frame golden
comparison, committed 960x544 captures) and the pocket.json contract
system that keeps platform support from going ad hoc; covers touch as the
kept promise, the 44-frame evidence with the CPU-oracle caveat, and the
named gaps. Diagrams are inline SVG in the house style; all screenshots
are real committed goldens.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
doodlewind added a commit that referenced this pull request Jul 13, 2026
The new Vita post, rebuilt from scratch after the stale draft was removed
in #99. Leads with the native raster-density story (same-frame golden
comparison, committed 960x544 captures) and the pocket.json contract
system that keeps platform support from going ad hoc; covers touch as the
kept promise, the 44-frame evidence with the CPU-oracle caveat, and the
named gaps. Diagrams are inline SVG in the house style; all screenshots
are real committed goldens.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
doodlewind added a commit that referenced this pull request Jul 13, 2026
* docs(blog): Twice the Pixels, Zero Forks — PocketJS on PS Vita

The new Vita post, rebuilt from scratch after the stale draft was removed
in #99. Leads with the native raster-density story (same-frame golden
comparison, committed 960x544 captures) and the pocket.json contract
system that keeps platform support from going ad hoc; covers touch as the
kept promise, the 44-frame evidence with the CPU-oracle caveat, and the
named gaps. Diagrams are inline SVG in the house style; all screenshots
are real committed goldens.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(changelog): link the Vita port story from the 0.4.0 entry

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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