fnx / deck
01/13
Swipe ← → to navigate
Working integrated buildInvestor deck · July 2026

The design file agents can actually edit.

Fanta is a native macOS editor where a cursor, source file and agent operate the same structured document—with real selection, systems, history and generation built in.

4 + 5

Agent interfaces

Native tools + opt-in MCP

.fig→FNX

Editable import

Structure, not a preview

1 undo

Atomic content batch

Commit or rollback together

New Projectmaindev
moodboard.fnx
storyboard.fnx
fanta-flow.fnx
agent-ideas.fnx
Canvas
Database
Code
100%
Frame
Icon Size Guides
Position
X0
Y0
W536
H660
Layout
Clip content
Auto layout
Vertical
Gap H0
Gap V64
Resize W
Hug contents
Resize H
Fixed

01 / read

design_state

02 / batch

design_edit

03 / commit

one undo

04 / inspect

screenshot

01 · The problem

Creative work is now a chain of lossy handoffs.

Generators create pixels. Design tools manage structure. Code tools ship products. Agents sit beside all three — but own none of the document.

.png

Generation export

Recipe stays behind

.fig

Manual rebuild

Structure is recreated

chat

Decision trail

Outside the file

workflow.trace / artifact-relay5 surfaces
retained creative state
state is not continuous
01

Prompt

creative brief

stateintent
none — intent is whole
02

Generate

model output

statepixels
×constraints + hierarchy
03

Export

flattened pixels

stateflat artifact
×seed + model recipe
04

Rebuild

manual layers

staterecreated
×source lineage + IDs
05

Handoff

final file + chat

statesplit context
×decisions + history

Final recipient gets pixels, not the recipe, semantic structure, or decision trail.

reconstruction taxpaid every cycle
02 · What Fanta is

A design editor built as an agent runtime.

Not a prompt box beside a canvas. Fanta gives the human, the file and the agent one editable model — so generated assets and manual or automated changes remain addressable and reversible.

Humans keep precision

Direct manipulation, pen tools, layout, variables, components and inspector controls.

Agents get semantics

Pages, selection, viewport, node geometry and screenshots — not a flattened approximation of the canvas.

The document remains portable

Readable FNX lives on disk and works with the rest of the project.

campaign.fnx / runtime-maprev 018 · clean

One state graph is rendered for the human and exposed semantically to the agent.

human / editorselection #4A7C
#4A7C hero.card
inspect
x160
y96
w480
h320
r16
cursor · canvas · inspectornative render
campaign.fnxstructured document
selection.ids["4A7C"]
nodes.4A7C.type"frame"
frame{ x:160, y:96, w:480, h:320 }
fills.0"accent.surface"
text.content"System, meet imagination."
viewport.zoom1.0
component.ref"hero/card@2"
history.head"txn_71C"
generation.id"gen_qw_042"
checksum7f3a:4a7c:018
agent bridgenative tools
design_state
design_edit
design_screenshot
place_generation
model / computerouted plane

editor

unmetered

hosted

image GPU

own key

agent chat

output → bitmap asset nodemetered
01humanmoves #4A7C
02documentwrites frame.x
03agentreads identical value
04historyrecords one change
03 · Product proof

The editor is the product. AI is native to it.

A live recreation of the working editor surface — rendered from current interface components, not a stale screenshot.

Canvas

GPU-presented native surface

Systems

Components, modes and tokens

Interop

Open .fig, edit as FNX

Motion

Prototype + timeline model

04 · Agent-native

The agent acts on the document — not around it.

Fanta exposes the real selection and node tree, accepts a batch of typed operations, renders the result and commits the whole change as one undoable transaction.

1 txn

Atomic edit

Content ops commit together

4 tools

Native bridge

State, edit, see, place

1 diff

Review surface

Human and agent history

agent.run / txn_71Ccommitted · inspected
01

read

design_state

02

plan

typed ops

03

edit

design_edit

04

commit

one undo

05

inspect

design_screenshot

beforedocument v17
campaign.fnxv17 · head 70B
root
hero
4A7C
copy
frame.w
480
fill.token
surface.1
atomic content boundary · four ops commit together or roll back if the batch fails
design_edit.ops4 typed
01set_framew 480 → 560
02set_fillsurface.1 → lime.2
03set_textheadline → v2
04set_radius16 → 20
campaign.fnxv18 · committed
root
hero
4A7C
copy
design_screenshotinspect after commit
batch committed
iterate if needed
one undo
historytxn_70Btxn_71C · agent.batch ×4
⌘ Zrestores v17
05 · The document is the API

Canvas, source, agent. One history.

Pages and components serialize to readable FNX; companion .ids sidecars preserve identity across source edits. Canvas changes, source changes and agent edits meet in the same history.

Readable by tools and people

JSX-like design source can be inspected without flattening the visual surface.

Change is reviewable

Manual and agent edits share undo, history and a clean structured diff.

Visual and source protect each other

Invalid FNX keeps the last valid canvas; disk and canvas conflicts use three-way reconciliation.

campaign.fnx
Live document
Canvas Direct edit
You
FNX source JSX syntax
01<Frame name="Campaign">
02  <Stack gap={24}>
03    <Card
04      fill="$surface.accent"
05      radius={24}
06      padding={32}
07    />
08  </Stack>
09</Frame>
Canvas updated
Either side edits the same object
mainchange 28 · radius
06 · Compute plane

Capabilities route by alias. The file stays put.

Product-facing capability aliases route to a runtime catalog without a client release. Hosted image generation is deployed end-to-end; local editor work stays unmetered.

1

GPU family deployed

Hosted image generation

€0

Failed-job bill

Blocked and failed jobs

$0.01

Retail per credit

One hosted ledger

0

Credits for editor

Local design stays free

compute.router / live-tracepolicy matched
creative intent
“Generate a campaign image and place it into the selected hero frame.”
req_92F
capability routerroute()
mediaimage
taskgenerate
placementselection #4A7C
billinghosted ledger
aliasimage.generate
match → hosted image
local editornative work · unmetered
Canvas + vectors
Skia / Metalworking
Source + history
FNX projectworking
hostedmanaged GPU · credit meteredchosen
Text → image
Qwen Imagedeployed
Image → video
Wan 2.2verified
own-key chatbuffered agent chat
Design agent
Anthropic / z.aisupported
Provider choice
runtime aliasroutable
place_generationnative tool
generation_id"gen_qw_042"
parent_id"4A7C"
bounds{ x:160, y:96 }
provenance"hosted:qwen_image"
gen_qw_042
local editor · unmeteredhosted success · ledger debitown-key chat · supported providersplaced images return as addressable bitmap nodes
07 · Product value

Fanta removes the reconstruction tax.

The win is not “more AI.” It is preserving editability, intent and history while intelligence moves through the workflow.

Generated media stays addressable

A result lands as a self-contained bitmap layer with bounds, prompt, model and generation provenance.

Agent work stays reviewable

Typed content batches land as one undo; screenshots let the agent inspect the rendered result.

The project remains portable

FNX and assets live together instead of scattering context across apps and chats.

workflow.compare / same-creative-jobone document
same job
Generate a campaign hero, refine it precisely, and deliver an editable source.
compare paths
legacy relayevery boundary changes the artifact
01

Brief

prompt.txt

copy intent
02

Generate

model session

export output
03

Flatten

asset.png

lose recipe
04

Rebuild

design file

recreate layers
05

Handoff

file + messages

re-explain
campaign.fnxone documentFNX + .ids · generation provenance · shared history
human

sets intent + selection

selection.ids · constraints

agent

reads + batches edits

node IDs · typed ops

compute

returns placed bitmap

bounds · prompt · model · generation ID

human

refines + approves

layers · history

no export boundary

placed bitmap becomes a project asset

no manual rebuild

the surrounding layout stays editable

no context reset

every change shares history

08 · Go to market

Start where the pain is already expensive.

AI-first creators already stitch models, node graphs and design apps together. Fanta gives them one native loop, then expands through the same document into teams and new media.

01

Creator wedge

Fastest feedback loop

02

Team expansion

Shared systems + usage

03

Platform path

New surfaces, same core

01 · Wedge

AI-native creators

Image generation + precision editing

Now
02 · Expand

Brand & product teams

Systems, review and shared libraries

03 · Extend

Motion & 3D studios

More first-class media surfaces

04 · Platform

Agentic creative OS

Components, recipes and workflows

One substrate compounds across every segment.

TransformSelectionUndoVariablesProvenanceAgent API
09 · Business model

Free editor. Usage-led compute revenue.

The native product earns adoption; hosted generation earns revenue. The meter follows model usage, while local creative work stays available. Prices are provisional; AI access, allowances and seats are confirmed with the invite.

PlanProposed / moCreditsSeats
Free€0With inviteTBC
Pro€24With inviteTBC
Team€40With inviteTBC
pricing · provisionalallowance · with inviteterms before purchase
credits.ledger / compute-economicseditor remains free
payment follows compute, not file access
one hosted ledger
Fanta editorfree core

canvas

FNX files

systems

history

open and edit local projects
manual design operations
document ownership on disk
document accessfree
local editor pathno hosted compute

examples

canvas · vectors · source · history

execution

runs on the creator's Mac

debit

0 credits

hosted pathledger-backed
balance inputs

subscription refill

recurring allocation

credit pack

optional top-up

hosted credit ledger
job settlementappend-only events

job_succeeded

hosted model returned usable output

debit actual

job_failed

safety-blocked, errored, or no output

no charge
model route → result → settlement event

An empty hosted balance stops new hosted jobs; it does not lock the editor, the FNX document, or local editing tools.

10 · Why it compounds

The moat is the integration depth.

Each layer makes the next one useful. Without a real editor, agent ops are a demo. Without a structured document, history is shallow. Without routing and provenance, generation is just another export.

4

Compounding layers

Built around one model

1

Shared substrate

Every new surface reuses it

runtime.dependencies / capability-stack4 coupled layers
each layer requires the one below
04

Generation / compute plane

route(intent) → generation

model catalog · policy · credits · provenance

generated images land inside the file

03

Agent transaction layer

read → atomic batch → inspect → iterate

typed content ops · screenshot capture · one undo

agents can act safely, not just suggest

02

Structured document

stable nodes → FNX + .ids → history

components · variables · reconciliation · provenance

intent remains addressable and portable

01

Native renderer

scene graph → native render

Metal · Skia · hit-test · selection · local GPU

the shared state has a precise surface

01pixels
02state
03safe action
04compute routing
one owned substrate
11 · Product status

Pre-launch. Past the prototype.

The difficult product layers already run together. The next milestone is distribution: put the native build under real creator load and turn usage into a tighter roadmap.

Private

Current build

Integrated, pre-launch

macOS

First release

Native distribution

4

Core systems

Editor, doc, agent, cloud

release.status / evidence-gatesprivate build
current evidence · integrated private build
next evidence · release gates still to pass

Native editor

canvas · systems · motion

current

FNX document

stable IDs · source · history

current

Agent bridge

state · edit · screenshot · place

current

Compute router

catalog · aliases · hosted ledger

current
private buildcurrent product
one selectable node tree
one typed agent transaction
one routed generation result
release boundary
next release gatesnot current

Package the release

signing · notarization · update channel

Harden project lifecycle

recovery · migrations · compatibility

Make first-run legible

onboarding · sample project · guidance

Operationalize hosted jobs

reliability · settlement · support path

public macOS alpha

outcome after release gates, not current status

Pre-seed

Make design software operable by intelligence.

We are raising to launch the macOS alpha, grow the hosted model plane and establish FNX as the editable document for agent-native design.

capital.plan / milestone-graphpre-seed
capital follows milestone evidence
no allocation or timeline assumptions
pre-seed capitalinput

Fund the product, operating system, and portable document contract as one compounding program.

input is intentionally non-numeric

01

Launch

turn the integrated build into a product creators can adopt

release packagingfirst-run experiencecreator feedback loop
public product + active users
02

Scale

make local and hosted work reliable as usage grows

compute operationsmodel routingbilling + support systems
repeatable service delivery
03

Standardize

make the document and agent contract durable

FNX contractagent tool semanticsportable provenance + history
an ecosystem can build on it
strategic outcomenorth star
category outcome

Agent-native design standard

A shared document contract where people, agents, and models create through the same precise, portable state.

creators adopt the product
agents target one contract
projects remain portable
product → platform → standard