AEUPH commited on
Commit
a46c82c
·
verified ·
1 Parent(s): 9fb28ee

Client: size canvas to viewport, 100% zoom, patch blit no longer clears the screen

Browse files
Files changed (1) hide show
  1. README.md +7 -2
README.md CHANGED
@@ -80,8 +80,13 @@ v3 instead:
80
  4. **Binary frames.** `[MAGIC][type][u32 hlen][json][webp]` — no base64 (+33%
81
  removal), no JSON-wrapping of image data.
82
  5. **Zero CDN / zero framework.** `index.html` is ~7.8 KB, no external requests.
83
- 6. **Async refinement.** Window content is generated off the input critical path.
84
- 7. **A blocking `Queue.get()`** replaces the old 50 ms busy-wait poll.
 
 
 
 
 
85
 
86
  Measured (see below): interaction cost is a `LayerStack` build of **~0.15 ms**
87
  and a **~1.9 ms** frame, with **0 cache misses** once warm.
 
80
  4. **Binary frames.** `[MAGIC][type][u32 hlen][json][webp]` — no base64 (+33%
81
  removal), no JSON-wrapping of image data.
82
  5. **Zero CDN / zero framework.** `index.html` is ~7.8 KB, no external requests.
83
+ 6. **100% adaptive viewport.** The canvas backing store is sized to the viewport
84
+ at startup and the framebuffer is drawn at **100% zoom** (one fb pixel per CSS
85
+ pixel); it only shrinks to fit a smaller window, never magnifies. Partial
86
+ patches repaint **only** their own region, so the rest of the desktop stays
87
+ intact (the earlier `blit` cleared the whole canvas on every patch).
88
+ 7. **Async refinement.** Window content is generated off the input critical path.
89
+ 8. **A blocking `Queue.get()`** replaces the old 50 ms busy-wait poll.
90
 
91
  Measured (see below): interaction cost is a `LayerStack` build of **~0.15 ms**
92
  and a **~1.9 ms** frame, with **0 cache misses** once warm.