I have to say I find it incredibly fascinating you're actually using Gnash to support a Flash-based UI. Were you previously using the official runtime and switched over to Gnash, or was Gnash always the runtime target? If the former, how'd the transition work out, and were there any hitches / do you have to do things differently now?
Based on a few (possibly old) videos of the Nio I found that show the touchscreen for a couple of moments the system appears to have fairly high input latency (~1.5s), and zero realtime feedback (eg, no "pressed" state indication). Hrm.
FWIW, I've been looking around for quite some time for a general-purpose way to do easy-to-maintain UI design that isn't Gambas Basic ("how to basic?") or Electron ("what is RAM?"), and my current to-have-a-look-at is actually the drag-and-drop layout builder in the Godot game engine, which has a 2D mode, and from what I've seen of it is rather fast and makes reasonable efforts toward performance.