* Next Version
-** Remove CSS pixel ratio > 1 support in Safari
- Mac OS X Safari has scaling bugs, and iOS Safari has lower
- performance.
** Use standard Unicode codepoints for icon fonts
This is done via the [[https://korewanetadesu.com/pages/fontstandard.html][Font Standard]] icon font.
+** Sped up background and book noise animations
+** Cat paws
+** DONE Migrate to nw.js (from node-webkit)
+
+** DONE Safari 8 / iOS 8 support
+ This is the first version to support Safari on Mac OS X and iOS.
+
+ The primary problem in earlier versions appears to be a bug in
+ Safari's JIT when optimizing functions that modify JavaScript's
+ ~arguments~ object. Code triggering this bug was rewritten to avoid
+ modifying ~arguments~. This bug is further described in
+ https://korewanetadesu.com/safari-jit-bug.html and seems to still
+ exist in current versions of WebKit's new "FTL" JIT.
+
+ Prior to OS X 10.10, Safari on OS X will show [[https://bugs.webkit.org/show_bug.cgi?id=134854][artifacts on HiDPI
+ ("Retina") screens due to a bug in its compositing]].
+
+
* v1.2
** DONE Override the GPU blacklist on GNU/Linux
* Open Issues
-** TODO Safari handles WebGL device pixel scaling incorrectly
- Given a device pixel ratio of 2, Safari will scale the backbuffer
- incorrectly when rendering it (seems like it scales it down using
- bilinear interpolation, then back up with the same) resulting in
- something that looks worse than leaving the DPR set to 1.
-
- This is not a real concern until we're ready to deploy a mobile web
- version for iOS 8.
-** TODO iOS 8 iPad 3 [0/3]
-*** TODO Stalls a few seconds in
- But the stall is uneven - affects some but not all visuals, or
- sometimes visuals but not music, etc. It's like the event loop is
- running but the front buffer is not flipping in.
-
- The stalls almost disappear when connecting with desktop Safari
- remote debugging, which... is confusing.
-*** TODO Choppy / staticy audio when backgrounding
- There's probably no way to avoid this, other than trying to cut
-*** TODO Noise shader is way too expensive
- Need some way to establish platform performance capabilities and
- scale down effects when performance is bad. And, without any kind
- of user configuration.
-*** TODO Audio gets desynchronized
- Not worth looking into until the general stalls are fixed,
- since they might be causing it.
+** TODO Choppy / staticy audio on iOS
+ Especially when backgrounding, e.g. switching tabs. There's
+ probably no easy way to avoid this.
+** TODO Scrolling is broken in licensing window
+This began when upgrading to nw.js 0.12 (from node-webkit 0.10.4). If
+it's broken one place it's probably broken other places also.
+
+Not reproducible in Chrome 42, so it's possible this was some
+transient Chromium bug that will be gone in newer NW.js.