David
Blumenau
Menu
The PanelForge story

Branch Lab / A creative direction worth keeping

Change the brief.
Keep the work.

A promising answer can lead in more than one direction. Trying a different brief should leave the earlier path available.

I built PanelForge's reference handoff and conversation branches to carry that shared beginning through the work.

Carry a reference revise compareActual app execution / fictional content / 15 October 2026

Recorded execution / interactive replay

The Sunday Studio

Follow one reference through two edits. The answers are deterministic fixture text; no model inference took place.

01 / Reference

Start with something worth keeping.

This poster was exported from the Studio Lab. Follow the same image into a conversation.

A reference in the gallery. The conversation is still ahead.

Reference ready
Original messagesPreservation checked in the run
Recorded result3 connected directions
Model inferenceNone
Inspect the preserved links and source

A family with a shared beginning

Fictional fixture conversations, actual database links
DirectionConversationRootFork point
Balanced#1#1Original
Bold#2#1Message #3
Quiet#3#1Message #3

Two actual fork responses returned 202. Both copied the first two messages and image #1. The original four message rows matched their snapshot from before either edit.

Read the public execution receipt

The source and the substitutes

The actual Vue interface, Laravel fork controller, fork service, message/image models, preference endpoint and tree ran in a fresh local fixture.

Initial answers came from a deterministic local SSE fixture. Forks used the native dispatch-skip option; branch replies were seeded. Browser reloads observed persisted state while queue workers and broadcasting were disabled.

The comparison view required a one-line API-envelope fix. Its mounted regression failed before the patch, then both envelope and direct-payload tests passed. Real app comparison also rendered at phone, tablet and desktop sizes.

Base source
93881d2eca613fde498e0933405cee3a07220a4c
Tested local source
905cceef4ba1936908220d940bf6786a27562ad8
Comparison patch
Committed locally; unreleased

Watch the actual app

The original
really stays.

A separate browser and a fresh local database. The real interface carries the reference, makes two forks, selects Quiet and returns to the original.

An edited screen recording of the actual isolated app, with browser loading intervals removed. Fictional Sunday Studio data and deterministic fixture answers; no model inference or image generation. The interactive exhibit above replays the observed database results.

The app in this recording includes local commit 905cceef4, an unreleased fix for the comparison view's API-envelope handling.

Read the recording's text alternative

A Sunday Studio poster moves from Gallery to Chat. Two initial fixture exchanges establish the original conversation. Editing the later brief creates Bold and Quiet siblings, each copying the same two-message opening and input image. The native preference endpoint selects Quiet. The patched comparison renders both revisions, and the branch tree keeps all three connected. Returning to the original shows its unchanged four messages.

The actual fork endpoints return 202; the preference update returns 200. A database snapshot from before the edits matches all original message rows afterward. Queue dispatch and inference are disabled in the fixture.

Look at the working surface

Three moments
in the same workflow.

Actual PanelForge chat composer with the fictional Sunday Studio reference attached
The actual gallery action brings the selected image into the chat composer.
Open the full-size capture

Actual local app captures with fictional data and fixture answers. The comparison capture demonstrates unreleased local source 905cceef4.

The useful part of a revision

Keep the beginning.
Explore the difference.

The selected image has an identity in the workspace. The first exchange establishes a shared context. Editing a later message gives the new direction its own conversation, while the original remains connected.

The preference is a choice within that family. It lets one direction lead without discarding the others.

Inspect the observed result
Read the PanelForge story