Browse documentation
Docs/Functionality

Deck presentations

Deck brings structured slides into the same model as your calculations. Create Presentation · Deck from App's starting views, choose Deck in Code's surface controls, or add it from Data. App…

Deck presentations

Deck brings structured slides into the same model as your calculations. Create Presentation · Deck from App's starting views, choose Deck in Code's surface controls, or add it from Data. App navigation can make the deck your starting view. No existing model needs migration.

Browse in App

App opens a deck for browsing. The slide owns its title and fits the available space; a numbered outline and Previous/Next controls move through the deck. Narrow windows put the outline in a Slides drawer. Present stays visible; View actions groups capture settings, exports, and Edit slides. Done returns from slide editing to browsing. App Back/Forward restores the visited slide, and removed slide links offer Open the first slide rather than silently showing another slide. A deck's data slot is never automatically selected for Chat.

Author and inspect

Choose results, bounded ranges, input controls, and existing charts when creating a starting presentation. The starter contains editable slides and visibly unfinished narrative prompts. Chart imports copy appearance while retaining model references; later chart styling is independent of the original view.

The editor has a thumbnail rail, slide canvas, settings, and collapsible speaker notes. Narrow windows expose Slides and Slide settings drawers. Add, duplicate, delete, move, or change a slide's layout. Undo and Redo apply to slide edits; the text editor also has text undo. Outside text fields, use Ctrl/Cmd+Z to undo, Ctrl/Cmd+Shift+Z to redo, and Ctrl/Cmd+D to duplicate. Focus the thumbnail rail and use Insert to add, Delete to remove, or Alt+Shift+Up/Down to reorder a slide. Drawers keep keyboard focus inside their controls; Escape closes them and returns focus to the opener. All buttons are keyboard accessible.

Layouts are title, section, title-and-content, two-column, key metrics, visual-with-commentary, full-bleed image, and freeform. Layout changes keep every block. Move blocks earlier or later, or use Move to new slide when content needs more room. Overflow is called out and prevents export; Grid does not silently shrink text or truncate a table. The first image fills a full-bleed slide; its slide title remains navigation metadata.

Select a block and turn on Custom position to set its left, top, width, and height as percentages of the slide. This works with every layout. Freeform starts with title-and-content slots for blocks you have not positioned. The slide title stays at the top in freeform. Use layout position restores an automatic slot. Width and height must be at least 1%, and the complete box must stay inside the slide. Fields commit on Enter or blur. Incomplete or invalid percentages stay in the field with a correction; Escape restores the last accepted box. Finish or restore those fields before presenting, exporting, or leaving the editor. Unfinished fields also pause block/slide selection and structural edits so navigation cannot discard them. A different incoming saved deck pauses for review and retains the current deck and exact field text. Finish or restore the field, then choose Use saved deck or Keep my draft. Unsubmitted numeric text is temporary and is not recovered after closing the editor. Move buttons shift a block by 1%. Block order is drawing order: later blocks appear in front, so Move block earlier/later also controls layering. Overlap is allowed. Grid still reports text and table overflow and prevents export until you provide enough room.

Drag a block on the slide with a mouse, pen, or touch to select and move it. Resize the selected block with its corner or edge handles. The entire box stays inside the slide and cannot shrink below 1%. Movement previews stay local; releasing the pointer submits one complete position through the acknowledged save lane. Escape, pointer cancellation, or leaving the window restores the original position. A change to the deck, live content, appearance, or editing owner also cancels the gesture. Finish or cancel it before presenting, exporting, changing slides, or editing another control. Undo and Redo treat a completed drag or resize as one edit. Wait for pending saves or appearance changes before beginning another gesture. Numeric fields and move buttons remain available for precise keyboard positioning.

Positions scale with the slide when you change aspect. Custom boxes take precedence over full-bleed image placement and survive layout changes, duplication, Undo/Redo, acknowledged saves, and draft recovery. The editor, audience, print, and editable PowerPoint use the same captured coordinates. See the freeform example. Existing decks need no migration. Older Grid versions cannot open the freeform layout and do not render custom placement boxes.

Slides support rich text, inline live values, metrics, bounded ranges or array tables, native charts, embedded raster images, captions, and links to model views. Charts support column, bar, line, area, pie, doughnut, and scatter. Other visual material can be inserted as an image. Add image descriptions for readers using assistive technology. Raster imports use Document's 4 MiB file limit. Captures accept images up to 32 megapixels each and 64 megapixels of unique imagery in total; repeated uses of the same image count once.

Deck appearance is stored with the model: 16:9 or 4:3, Light, Dark, or High Contrast, an accent, and an optional logo. Editor controls follow Grid's theme. Slide appearance uses its own saved settings across devices and exports.

Click a live value in App to use the existing Context panel: Explain, Show in Data, or Go to definition. Routes identify slides by stable ID, so reordering keeps links intact. Layer round trips retain the slide and selected block without changing Data's cell selection. Code exposes the same editor, configuration, data, bindings, and the existing working-draft preview. Preview controls cannot write model inputs. Deck is native and does not offer JSX ejection.

Chat receives the current deck/slide route and selected-value context through the existing agent path. Keep in model can create a deck or append proposed slides to one. Review the content first. Prose stays static; selected references stay live.

Edit captured table values

Select an imported or captured table block to open Table values in the inspector. Its complete row/column grid remains visible. Select a cell, or use arrow keys within the grid, then edit Captured cell value. Apply cell or Enter saves exactly that string through one acknowledged document edit. Spaces, leading zeroes and empty cells remain strings; the original binding is inactive. Shift+Enter inserts a line break, and Escape or Restore cell restores the captured value. Existing scene overflow checks can require more space or shorter text before export; the editor keeps the complete content.

Typing creates one local unapplied draft. Finish or restore it before switching cells, slides or blocks, changing structure/appearance, presenting, exporting, or adopting saved/recovered content. A changed source revision, writer, editing permission or owner fences Apply. The exact draft remains visible with its originating table context, including when the inspector becomes read only or the surface needs source repair. The retained value can be copied and explicitly restored; it cannot be applied to a replacement source. This retention is in memory while the Deck view remains mounted, with no new crash/close journal for unsubmitted text.

Apply preserves every other cell/row, capture timestamp, inactive binding, position and imported style. Failed saves retain the complete submitted document for Retry/recovery. Undo and Redo include the applied cell change. This editor changes the captured copy in the deck; live range/array tables continue to use model bindings. + Static table adds two header columns and two empty body rows with no active model binding. For native captured/static tables, select a cell and use Insert row/column before/after or Remove row/column. Each action preserves the other values and capture metadata and uses the same acknowledged document, Retry and Undo/Redo lane. Tables retain at least one row and column and are bounded to 101 rows and 8 columns; the existing slide overflow checks still apply. Finish or restore a pending cell before changing structure. Imported tables also support these structure controls. Added rows or columns inherit the selected cell styles and redistribute the existing height or width weights inside the original placement. Existing cell content and styles remain intact. Invalid imported geometry is refused before changing the document.

Edit captured chart data

Select a captured chart to edit its series names, colors, categories, numerical values and X values. The editor shows 50 rows at a time; previous/next controls reach the remaining rows. Add or remove rows and series within the existing 12-series and 5,000-sample admission limits. Apply chart data submits one complete edit through the Deck document owner, including acknowledgement, uncertain-save recovery and Undo/Redo. Restore chart data or Escape discards the unapplied chart draft. Source bindings remain inactive in the captured copy. Unsubmitted text retains the same mounted-session boundary as captured table drafts; no new close/crash journal is introduced.

Save and recover

Edits use Document's acknowledged, revision-checked save lane and local recovery store through a Deck schema adapter. Saving changes the live model; saving its archive remains a separate host action. Pending hydration never creates a new starter over existing data. Invalid data opens a repair notice instead of an empty editor.

On conflicting edits, review the saved deck or keep your draft explicitly. Failed writes retain the draft and offer Retry. In App, Done and routes out of the slide editor wait for acknowledged edits, including an immediate Undo; a failed write keeps editing open. Recovered drafts are shown before being applied. Present and export wait for acknowledged slide edits; appearance changes must also be acknowledged first. Authoring pauses while a capture is prepared, so its slide structure and appearance cannot drift during generation.

A document holds up to 200 slides, 100 blocks per slide, and 32 presenter inputs. Each range binding is bounded to 5,000 cells; display tables admit at most 100 rows and still must fit their slide. These are authoring limits, not permission to truncate data. Split a large table across slides or link to its model view.

Present

Present starts a session with a fixed slide structure. Live follows model updates. Frozen capture materializes presentation values, labels the capture time, and disables scenario writes. It is a presentation capture, not an atomic model snapshot. Later authored changes appear in the next session.

Use arrows, Page Up/Down, Space, Home/End, or a clicker to navigate. B toggles blackout. Slide overview jumps to another slide. Escape outside an assumption field returns to the editor; the host's modified-Escape navigation remains available. Fullscreen failure leaves windowed presentation usable. On Desktop, fullscreen shows only the slide, and ending the session restores the window's previous fullscreen state.

Presenter view contains current/next slides, notes, elapsed time, and controls for declared writable model inputs. Numeric and text controls retain incomplete edits, commit on Enter or blur, and display an acknowledged Saved state. Failed text stays available for correction or Retry. Escape in a field restores the last accepted value. Percentage formats accept percentage points (for example, 7.5 means 0.075 in the model); currency/unit tags survive edits. Frozen presentations and computed values remain read only. Only the presenter subscribes to values and writes inputs. The audience window receives resolved slide scenes and status, never speaker notes or model-write functions. Browser messaging checks origin, window, and session. Desktop uses a dedicated render-only window and capability. Closing the audience leaves the presenter usable. Losing the presenter pauses audience video; reconnection leaves playback explicit. Losing the presenter freezes the last frame with a disconnected label. Leaving the deck or changing model, account, or partition ends the session.

Export and print

PowerPoint export creates editable text, value labels, tables, shapes, and native charts, including captured chart data in embedded workbooks. It has no external workbook connections. Images remain images; slides are not flattened. GIF and WebP images become captured PNG stills for portable export. Speaker notes are excluded unless Include speaker notes is selected.

Each export first captures all presentation values and embedded assets. Changes to the model during generation cannot alter later slides. Missing, stale, loading, and failed references remain visible states. Corrupt images and overflow produce corrections associated with slides rather than silently omitted content.

PowerPoint's chart layout and font metrics can differ. Grid uses Arial for slides; receiving applications may substitute fonts. Read the export fidelity summary for preserved, transformed, approximated, and omitted features. Scenario controls and interactive model-view navigation are not exported. Scatter series currently need a shared X vector for editable PowerPoint output.

On macOS Desktop, Export PDF uses Grid's native PDF export. Browsers and other desktop platforms use Print to PDF, opening the system dialog. Print Studio also prints one page per slide, preserving aspect ratio and excluding notes and editor controls. Grid reports hashes and byte counts for generated PowerPoint bytes; opening a system print dialog does not establish that a file was saved.

Embedded video

Choose + video to insert an MP4 file of at most 8 MiB. Grid stores the original video, filename, dimensions, duration and captured first-frame poster inside the deck. Import requires a codec this browser can decode, a finite duration and a frame of at most 32 megapixels. External video URLs are not supported. The deck's existing 16 MiB document limit still applies to all embedded assets together.

The editor shows the poster. Preview video opens native playback controls; closing the preview or leaving its owning pane pauses playback. Presenter and audience windows play the embedded video with native controls. Playback position is local to each window. Native video controls own Space, arrows and boundary keys while focused; presenter Escape still ends the session. Slide changes and closing the audience window release its player. Videos support the same position controls, drag, resize and drawing order as other blocks.

Insertion saves one complete document through the existing acknowledged writer. A failed save retains the video for Retry save or conflict review. If the deck, appearance or editing owner changes while the file is being read, Grid refuses that insertion so the media cannot cross into another editing session.

PowerPoint export embeds the original MP4 bytes as a native video object. Print and PDF use the captured poster. Both preserve the authored frame and black letterboxing, without stretching the source image. Export checks the video's decoded dimensions and duration against its stored metadata and refuses corrupt or unsupported media with a slide-specific correction. Receiving PowerPoint and browser codecs can differ; Grid does not transcode video or export playback state.

Import Grid PowerPoint

New PowerPoint exports include an editable Grid round-trip payload. Choose Import PowerPoint to append its slides to the current deck. Imported slides receive new identities and save together as one acknowledged edit, with the existing failed-save recovery, Retry, Undo and Redo. The target deck must match the exported aspect, theme, accent and logo; Grid reports a correction before writing when appearance differs.

Text, rich formatting, positions, drawing order and embedded media remain editable. Metric values, table rows and chart data retain the exported capture. Original binding names remain metadata: importing into another model does not recalculate them or activate model writes or navigation. Inline live references become captured editable text. Edit Captured value for imported metrics; captured table cells use Table values in the inspector; captured chart arrays can be edited in Code. Speaker notes are retained only when Include speaker notes was selected during export. Excluded notes are absent from the editable payload as well as the visible presentation.

Import requires the unchanged native package from Grid. Every native part and the editable payload are checked against their exported hashes and sizes. Changed, added or missing parts produce a correction before insertion. These hashes establish package coherence, not publisher identity or a signature. Grid bounds the compressed file to 32 MiB, expanded package to 64 MiB, and actual part inflation before accumulation. ZIP64, encrypted archives, duplicate or unsafe paths, and unsupported payloads are refused.

Grid checks its round-trip payload first. An altered Grid package is refused; it never falls back to native OOXML and loses the exported capture contract. Files without that payload use the bounded native import described below.

Import native PowerPoint text, images and tables

Import PowerPoint also accepts a narrow editable OOXML subset with no Grid payload. Match the current deck's 16:9 or 4:3 aspect first. Admitted slides keep source drawing order, percentage positions, solid background, typography, embedded image bytes and table geometry. Source appearance is stored per slide and block, so these slides do not acquire Grid's generated heading, accent bar or logo. They use the same scene for editing, presenting, audience, print and native editable PowerPoint export. Include speaker notes selects source notes at import; it starts unchecked. Text, notes and captured table values are editable; imported slides introduce no model bindings or write authority.

The initial subset requires one blank source master, blank layouts, neutral root transforms, explicit geometry and basic Latin text in Arial. Text boxes must be transparent rectangular boxes, with one font size/color per box, left-aligned paragraphs, finite margins, top/middle/bottom vertical alignment, and supported bold, italic, underline or strike marks. Images must be embedded, uncropped PNG or JPEG. Tables must have at most 101 rows and 8 columns, unmerged plain cells, explicit row heights/column widths, uniform typography, margins and solid borders, and solid per-cell fills. Simple source theme colors and Arial theme fonts are materialized; complex inherited appearance is refused. Grid checks content overflow and decodes images before insertion, then appends all slides through one acknowledged edit with recovery and Undo/Redo.

Unsupported slides or objects reject the whole file with source context before any write. This includes visible master/layout content, nonneutral transforms, rotated/flipped/cropped objects, hidden content, non-Arial or non-Latin text, bullets, RTL/vertical text, mixed text sizes/colors, complex fonts/styles, merged/rich table cells, decorative shapes, groups, charts, SmartArt, OLE, animations, transitions, comments, links, external resources, vector media and embedded fonts. Image decode and existing document/ZIP limits also apply. General PowerPoint compatibility remains incomplete. Font metrics and line wrapping can differ between Grid and the receiving presentation application; this importer preserves editable supported content and refuses unrepresented scene features rather than flattening a slide.

Try the embedded video example or the forecast example. Animations, general PowerPoint import, arbitrary embedded surfaces, and public presentation hosting are outside this version.