Slide 1 Imagine your presentation is nearly ready. You want to change one headline, but you also need the rest of the deck to stay consistent. Our starting question is simple: can an AI-assisted workflow give us that control? GraphicRouter makes the presentation an explicit plan of editable elements. This pitch is generated by the same slide engine we are showing today. Expanded notes Imagine your presentation is nearly ready for an important pitch. You have the right structure and the right images. Then you want to change one headline, or make one part more prominent. The challenge we are exploring is preserving the work that is already right while making the requested change. We are not making claims about how every existing AI tool thinks internally. Our proposal is an observable workflow: keep a presentation as an explicit blueprint, compose separate elements from that blueprint, and apply focused revisions to it. GraphicRouter is our implementation of that idea. This presentation is produced by the same engine, so the pitch itself is also a test of the product. --- Slide 2 GraphicRouter combines three responsibilities: plan the message from supplied facts, compose separate slide elements, and direct a precise change. ChatGPT supplies the story through structured tool arguments. The engine and service now work together locally: create, preview, revise, and export are verified. The hosted ChatGPT connection still needs its account check. Expanded notes There are three responsibilities. Planning chooses one message per slide using facts supplied by the presenter; missing evidence remains explicit. Composition turns those messages into named text, shape, line, and image objects with deliberate hierarchy and spacing. Direction changes a particular element while preserving the rest. The model supplies structured content; the renderer needs no additional model service. Builder B has connected the engine to the service and verified the local create, preview, revise, and export flow. These checks used simulated local identity, so they do not prove production identity or an installed ChatGPT connection. That distinction matters: we can show the actual local implementation today and clearly identify the account verification still ahead. --- Slide 3 The blueprint records the elements, their content, positions, order, and styles. We use that same data for the layout preview, content preview, finished preview, and PowerPoint. That gives us a concrete source of truth to inspect and revise. The renderer checks text fit and slide bounds. If copy does not fit, it returns a clear error instead of silently shrinking or discarding it. Expanded notes Here is the construction process. The input contains the brief, five slide messages, a composition choice for each, and speaker notes. The engine converts that into a blueprint containing named elements with positions, sizes, order, and styles. We can show the layout boxes, then the content, then the finished slide. All of those views consume the same blueprint that the PowerPoint compiler uses. This avoids maintaining an independent preview layout that can drift from the export. The engine also checks text fit, unsupported characters, invalid bounds, missing source elements, and overlapping content boxes. An invalid change returns an actionable error while the previous version remains intact. That explicit representation is what makes precise revisions possible. --- Slide 4 This deck uses our engine. Now change only slide three's headline to violet. [Allow thirty seconds for the local service demonstration, or identify the prepared engine replay explicitly.] The new version preserves the original and every unrelated element. Separately, a manual Canva import preserved editable text and images. Canva shape editing and the application's own import path still need verification. Expanded notes The presentation itself is a test case. This deck uses the same engine that the service calls. We target slide3.headline and request violet. [Allow thirty seconds for the local service demonstration, or identify the prepared engine replay explicitly.] The local service flow has been verified with the real engine, stored versions, previews, and native PowerPoint downloads. Tests compare unrelated blueprint elements and the four untouched slide XML files. The original version remains intact. A separate manual Canva connector check imported the fixture, changed a headline, and moved an image in a draft transaction; the transaction was cancelled to preserve the fixture. This does not verify Canva shape or line editing, imported font matching, application OAuth, or the hosted ChatGPT experience. The demonstration should state which path is actually running. --- Slide 5 Today, the engine and service work together locally, with construction previews, native exports, and precise revisions. Next we restore access to the existing Site, configure Canva application credentials, verify the hosted workflow, and rehearse the pitch. GraphicRouter makes presentations you can direct: plan the story, compose the slides, and preserve what is already right. Expanded notes What works today is the local workflow: create a presentation, inspect its construction stages, revise a named element, and download a native PowerPoint with speaker notes. Local tests also exercise version preservation, owner isolation, and clear errors. What remains is account-level verification. We need access to the existing Site for the hosted ChatGPT tool and widget, Canva application credentials for OAuth and backend import, and editor checks for shapes, lines, and font fidelity. Each import creates a new design version; manual Canva changes do not synchronize back. We will keep a downloadable PowerPoint and an explicitly labelled offline replay as recovery options, then rehearse the three-minute pitch with one controlled edit. Our goal remains presentations you can direct.