Ranger · the same editor in JavaScript · API playground · Docs
The same editor as the JavaScript page, from the
same source file, compiled the other way: Ranger →
C++ → WebAssembly (Emscripten) instead of Ranger →
JavaScript. Not a port — gallery/pptx/web/pptx_web.rgr is
one file and both pages are built from it, and even the page you are
reading is the standalone editor's own standalone.mjs,
unchanged. The only hand-written part of this build is the ~200 lines
that carry values across the WebAssembly boundary.
Which means the two pages differ in exactly one thing — the engine — and can be compared. The frame crosses without a copy: the display list is read as typed-array views straight onto the WebAssembly heap, the same shape the JavaScript build hands over.
Everything else is the standalone editor: click a shape to pick it up, drag a handle to resize, the handle above it to turn it, F2 to type, Ctrl+Z to take it back. The deck is read in this page and never uploaded.