Click the phone once to hand mouse and keyboard to Figma. Click Return keys to deck under the phone to take them back — the deck's own keys are dead while Figma holds focus.
Share the prototype as Anyone with the link, can view, or it renders a permission error on any machine that isn't signed in to your file.
Syncing the right pane by node uses Figma's Embed API: register this page's origin on an
OAuth app in Figma, put the client id in DECK.figma.clientId, stay signed in, and serve the
file over http (python3 -m http.server) — the API sends nothing to a file://
page. Without that the prototype still runs; you just pick references yourself. Figma emits no scroll
events, so inside a prototype sync follows frame changes rather than scroll position.
Keep a static export on every slide that carries a prototype. Venue wifi fails; E doesn't.
Put the design's view link in DECK.canva.url and give each panel a page
number. Share the design as Anyone with the link, can view first, or the frame renders
a sign-in wall.
Canva exposes no API for jumping pages, so each page change reloads the iframe at
?embed#N — a beat of delay, debounced so scrolling doesn't thrash it. Use page cues as
a handful of anchors rather than one per scroll tick. You can also click Canva's own arrows inside
the frame; the deck won't fight you, it just won't know you moved.