Skip to content

Guides & reference

Data, timeline, TikZ and the diagram tools

Data → Chart, the diagram timeline, TikZ/LaTeX export, click-to-edit diagram tools and the mind map outliner, control by control.
Sculptural study of connected forms and structured ideas

The Studio's code sheet and canvas are where you write and see a figure. A set of panels around them does the jobs around the figure. Data → Chart turns a table of numbers into a verified chart and can discover a process from an event log. The Diagram timeline remembers every version of a figure and compares any two of them side by side. TikZ / LaTeX rewrites a figure as LaTeX for a paper. Diagram tools and the Edit label popover let you change a diagram by clicking on it. The Mind map outliner edits a mind map from the keyboard. This page documents every control in each of those panels, what each one does to your figure, which plan each needs, and the messages you may see. The Icon library has its own page, The icon library, and Diagram Intelligence is documented in Flow-systems analysis in Studio.

At a glance

PanelOpen it withShortcutWhere it appearsPlan
Data → ChartRail: Data → Chart, or drop a .csv, .tsv or JSON-records file on the canvas⌘DDialog over the canvasEvery plan. flowss Studio Agent: pick the best chart needs AI
Icon libraryRail: Icon library⌘IDialog over the canvasEvery plan
Diagram IntelligenceRail: Diagram Intelligence⇧⌘XRight-hand drawerEvery plan. Fix with the flowss Studio Agent needs AI, and so does Explain this diagram outside Mermaid flowcharts and DBML
Diagram timelineRail: Diagram timeline, or ⋮ menu Version history…⇧⌘HRight-hand drawerEvery plan. Explain change needs AI
TikZ / LaTeXRail: TikZ / LaTeX, or ⋮ menu Export as TikZ / LaTeX⌘LDialog over the canvasStarter (your own AI key) and up
Mind map outlinerRail: Mind map outliner (shown while a mind map is open), or ⌘K Mind map outlinerNoneFloating panel on the canvasEvery plan
Diagram toolsClick a label on the rendered diagramNoneFloating panel at the top right of the canvasEvery plan. Ask the flowss Studio Agent… needs AI
Edit labelClick a label on the rendered diagramNonePopover beside the label you clickedEvery plan. Ask the flowss Studio Agent…, and a rename flowss cannot place in the source, need AI

On Windows and Linux, read ⌘ as Ctrl and ⇧ as Shift. AI here means either your own AI key (Starter and up) or hosted AI points (Plus and up). See AI points and limits and Bring your own AI key.

Opening and closing panels

Every panel on this page can be reached in at least two ways:

  • The tool rail. The Studio's rail, down the left of the screen, holds in order: Engines & templates, Show code, Style, Icon library, Data → Chart, Diagram Intelligence, Diagram timeline, TikZ / LaTeX, and Mind map outliner while the figure uses the mind map engine. The rail shows at most six tools. The rest, normally Diagram timeline, TikZ / LaTeX and the outliner, sit in More tools at the end of the rail, whose label shows how many it holds. On a short window, more tools fold away. Clicking a panel's rail button a second time closes it.
  • The command palette. Press ⌘K and type the panel's name. Each panel appears under Go to as a screen. Several also have a verb you can run: Open Data → Chart, Open Icon library, Export as TikZ / LaTeX, Version history… and Mind map outliner.
  • Keyboard shortcuts. These are listed in the table above. They toggle, so the same keys close the panel.

Escape closes the topmost open Studio surface, one per press, in this order: Settings, the embed dialog, the schema importer, the Explain dialog, the shortcut sheet, TikZ / LaTeX, Diagram Intelligence, Diagram timeline, Icon library, Data → Chart, Comments, Collaborate, the flowss Studio Agent, then the welcome tour. The Mind map outliner is not in this list: close it with its ×.

While your cursor is in a text field, such as the Data → Chart box or the code sheet, Escape does not start closing panels, so press it after clicking outside the field, or use the panel's × or Cancel. Three exceptions close from inside a text field too: the Icon library (from its search box), the full-screen Compare revisions dialog, and the Settings, embed, schema-import, Explain and shortcut dialogs.

Diagram Intelligence and the Diagram timeline share the right-hand drawer with the flowss Studio Agent, Collaborate and Comments, and only one of them shows at a time. Data → Chart, the Icon library and TikZ / LaTeX open as dialogs over the canvas.


Data → Chart

Data → Chart takes rows of data and gives you a chart built from exactly those values. It can do this three ways: with recommended figures that are generated and checked without AI, with a chart builder where you pick the type and the columns, or by letting AI design the chart. If the rows are an event log, the same panel discovers the process behind them and hands it to the BPMN studio.

Getting data in

You can bring rows in four ways:

  1. Paste. Paste CSV, TSV or a JSON array into the large box. Its placeholder shows the expected shape: a header row first, then one row per line.
  2. Upload. Click Upload CSV/TSV/JSON and pick a .csv, .tsv, .txt or .json file of up to 500 KB.
  3. Drop a file on the canvas. Dropping a .csv or .tsv file anywhere on the Studio canvas opens this panel with the file already loaded. So does a .json file that holds an array of row objects. Any other JSON is treated as diagram source instead. Files dropped on the canvas can be up to 2 MB.
  4. Type. The box is a plain editor, so you can type or edit rows directly. The table re-reads on every keystroke.

The Delimiter menu, at the top right, sets how columns are separated:

OptionMeaning
autoDetect it (the default)
,Comma
tabTab
;Semicolon, as many European spreadsheets export
The vertical bar (pipe)Pipe-separated values

JSON is recognised automatically. A JSON array of objects (one object per row) or an object holding such an array under data both work.

What the panel shows once it can read your data

As soon as the rows parse, three things appear under the box:

  • A preview table of the first six rows. Each column header carries a type mark: # for numeric columns and abc for everything else.
  • A summary line, for example "48 rows · 3 numeric · 2 categorical". Every row is read when working out a column's type, not just a sample, and dates are recognised.
  • Amber notes, when the data was readable but something deserves a look. Nothing is dropped silently, and the notes say what was assumed. The notes you may see:
NoteWhat happened
"No delimiter could be detected, so every line was read as one column…"Nothing separated the values, so each line became one cell. Choose the delimiter yourself if the rows should have several columns
"Row 7 has fewer values than the 4 columns in the header, so its missing cells were read as blanks…"A short row was padded. The same note counts and lists several short rows at once. A blank is not a zero, so check those rows
"Values are separated by ";"…"The guessed separator split the rows unevenly, or every comma sat between two digits, so the file was re-read with a better separator
"… writes its numbers with a decimal comma, so it was read that way…"Numbers such as 3,5 were read as 3.5. The note names the columns and quotes an example
"… has 3 cells written as "NA" — read as missing values, not text, so the column stays numeric…"Cells such as NA, n/a, NaN, null, #N/A, . or a lone dash were read as blanks rather than turning a numeric column into text. The note names the columns and the spellings it found

Under the preview, a Recommended strip offers up to eight ready-made figures, each a button showing a title and the engine that will draw it. Its heading reads "Recommended — your values embedded verbatim, verified, no AI involved". Hover over a button to see why it was suggested.

These recommendations come from the shape of your data, not from AI:

Your data looks likeSuggested figureEngine
A date or time column and a measureA line, "*measure* over *time*"Vega-Lite
One value per dayA calendar, "*value* by day"Calendar Heatmap
Source, target and weight columnsA flow, "Flow of *weight*", and a directed networkSankey flow, Graphviz
Source and target columnsA directed networkGraphviz
Parent and child columns, optionally with a sizeA treemap and a treeTreemap, Graphviz
Region or country codes and a valueA map, "*value* by *region*"Choropleth
A single numeric columnA histogram, "Distribution of *value*"Vega-Lite
Many numeric columnsA heatmap of the measuresPlotly
Many labels with weightsA word cloudWord Cloud
Ordered stages whose values never increaseA funnelSales / conversion funnel
A status columnA board with items dealt into columnsKanban board
Durations plus dependencies"Task network with critical path"PERT / CPM network
A category and a measureSorted bars, "*measure* by *category*"Vega-Lite
A category, a measure and a spread column such as sd, sem or ci95Bars with error bars, ranked firstVega-Lite
Six or fewer categories and no negative valuesA part-of-whole arc, "Share of *measure*"Vega-Lite
Two categories and a measureA heatmapVega-Lite
At least 20 rows and up to 12 categoriesBox plots, "*measure* spread by *category*"Vega-Lite
Dated labels, with up to 200 rowsA timelineTimeline (history)
Two numeric measuresA scatter, "*y* vs *x*"Vega-Lite

A few rules keep these honest:

  • Error bars need a clear match. They are offered only when a spread column clearly belongs to the measure. A column named for the measure, such as weight_sd beside weight, always wins. A bare sd is used only when there is exactly one measure it could belong to.
  • Some spreads are never drawn as error bars. Columns named as an interquartile range (iqr) or a median absolute deviation (mad) are never used for error bars, because neither is a distance either side of a mean.
  • Counts are not measures. Columns called n, count, reps and similar are treated as counts of observations, not as a second measure.
  • Id columns stay off the scatter axes. Row counters and id columns are kept off the axes of the scatter plot.

Clicking a recommendation:

  1. Generates the figure with every value from your data written into it as given.
  2. Checks the generated figure against your data. If the check fails, nothing is shown and the panel says "Internal check failed — the figure was withheld rather than shown wrong", followed by the reason.
  3. Opens the figure in a new figure tab, so your current diagram is untouched.
  4. Shows a confirmation such as "Revenue by region — every value from your data", or the figure's own note, and closes the panel.
  5. Links the figure to the data it came from (see Refreshing a linked figure below).
Note: On the Free plan the Studio keeps three figures. If you already have three, the new tab cannot be created. A message explains this, and your existing figures are not touched. Delete a figure to make room, or upgrade to Starter for unlimited figures.

Building a chart yourself

Under the recommendations, four menus and a title field let you specify a chart:

ControlWhat it sets
Chart typeflowss Studio Agent: pick the best chart (the default), Scatter, Line, Bar, Histogram, Box plot, Violin, Heatmap, Pie, Area or Density
X axisAny column. It starts on the first column
Y axisAny column. It starts on the first numeric column after the first column
Group / colour(none) or any column, used to colour or group the marks
Title (optional)A chart title, for example "Treatment response by group"

When your columns change, for example after pasting a different file, the axis menus reset to sensible defaults. Adding rows under the same headers keeps your choices.

Click Render chart to build it. Cancel closes the panel without changing anything.

When you pick a specific chart type, the chart is built in your browser as a Vega-Lite specification, with no AI. The rows are embedded in it. Each type uses your columns like this:

Chart typeHow your columns are used
ScatterX and Y as numeric axes, filled points, colour by Group / colour, with a tooltip listing every column
LineX (numeric, or ordered categories) against Y, with points on the line
BarX as categories sorted by Y, highest first
HistogramBins the Y column (or X, if Y is empty) into at most 20 bins and counts each bin
Box plotY grouped by X, with whiskers from minimum to maximum
ViolinThe density of Y for each X category, one violin per category side by side
HeatmapX and Y as ordered categories, cells coloured by Group / colour, or by the first numeric column if none is set
PieA donut chart whose slice sizes come from Y and slice colours from X
AreaX against Y as a filled area
DensityA smoothed distribution of Y (or X), one curve per Group / colour value

With flowss Studio Agent: pick the best chart, flowss sends the column names, your axis and colour suggestions, your title and the data to the flowss Studio Agent, which designs the chart. When the data is larger than about 55,000 characters, only the first 300 rows are sent, with a note telling the flowss Studio Agent it is a sample. The full data never leaves your browser in that case. This option needs AI on your plan and uses one AI call (one point on hosted AI).

Warning: Render chart writes the chart into the figure that is open now, replacing its source. Recommended figures always open in a new tab. If you want to keep the current diagram, start a New figure (⌥⌘N) first, or undo with ⌘Z afterwards.

Open in Figure studio

The button Open in Figure studio — rows become a sheet sends your rows to the Figure studio. There they become a sheet you can clean, analyse and export as a journal-ready figure. The panel closes and the Figure studio opens with your data. The Figure studio starts on Starter. If the data is too large to hand over (the hand-off holds about 600,000 characters) or your browser's storage is unavailable, you see "Couldn't stage the data (too large or storage unavailable)." and stay in the Studio.

Discovering a process from an event log

If your rows look like an event log, a banner appears under the summary line, for example "This looks like an event log — 120 cases, 7 activities". An event log needs at least three columns: one that identifies the case, one that names the activity and one that parses as a timestamp. An optional fourth column can name the resource, meaning who or what did the work.

  1. Click Discover process. The button changes to Hide process.
  2. If two columns are equally good candidates for a role, a chooser appears in the banner for each tie (even before you click Discover process), labelled for example Activity column — tie, with the reason quoted beneath it. The roles are Case id, Activity, Timestamp and Resource. Pick the right column, and the counts in the banner update at once.
  3. Read the discovered process. A short plain-language description comes first, with typical times between steps. Under it, Variants lists the five most common paths through the process with how many cases took each, for example "34× Register → Triage → Treat → Discharge", and ends "…and N more variants." when there are more.
  4. Move the Noise filter slider to hide rare handoffs. It has four stops, 0, 0.1, 0.2 and 0.4, which set how frequent a handoff must be to stay. The line beside it reports, for example, "18 handoffs shown · 4 filtered". The model updates as you move it.
  5. Click Open in BPMN studio to open the discovered process as a BPMN diagram in a new browser tab, or Download .bpmn to save it as discovered-process.bpmn.

Anything the BPMN model leaves out, such as filtered handoffs, is listed in small print under the buttons. Rows that could not join a case are reported in an amber box, for example "3 rows could not join a trace:", followed by the first three reasons and a count of the rest. Within each case, events are put in time order before the process is discovered, so a log exported out of order still mines correctly.

The BPMN studio starts on Starter. Download .bpmn works on every plan. To learn more about the process itself, see BPMN.

Refreshing a linked figure

When you generate a figure from Recommended, the panel remembers the exact rows you charted. Reopen Data → Chart later and you will see Linked figure: followed by the figure's title, with a Refresh data button.

  1. Click Refresh data.
  2. Click Upload the new file, or paste the new version of the data into the box. Its placeholder reads "Paste the NEW version of the data here — same columns, fresh rows."
  3. Read What changed. It lists the columns added or missing ("Added columns: …", "Missing column: …"), any column whose kind changed (for example "dose" changed kind: numeric → text.), the change in row count ("Same row count.", "12 rows added." or "3 rows removed."), and "Up to N% of cells changed value." when values moved. It also includes the engine's own notes, such as a likely column rename. Renames are never assumed, so you have to make a new link to adopt one. The new data also gets the same amber parse notes as the original, and an upload over 500 KB is refused with the same message.
  4. If the new data still fits the figure, click Swap in the refreshed figure. The figure tab you generated is updated (a new tab is made if you have deleted it), and the link now points at the new data.
  5. If it no longer fits, the panel says Can't refresh: followed by the reason, for example that a column the figure's X axis uses is gone from the new data.

The link lasts while the Studio stays open in that browser tab. Reloading the page forgets it. Cell-by-cell change tracking covers links made from up to 5,000 rows. Above that, the report says the cell-level drift was not measured.

Data → Chart limits

LimitValue
File upload through the panel's button500 KB
File dropped on the canvas2 MB
Rows200,000
Columns256
Rows in a recommended chart embedded as a chart specification5,000
Rows in a recommended Sankey, network, treemap, map, word cloud or board500
Data sent to AI for flowss Studio Agent: pick the best chartAbout 55,000 characters, or else the first 300 rows

When a recommendation would exceed its row limit, it is refused with a message such as "6,200 rows is more than a chart spec can carry faithfully (limit 5,000). Aggregate or sample first — nothing is dropped silently."


Diagram timeline

The Diagram timeline keeps up to 50 versions of each figure, with no work from you. You can name the important ones so they are kept for good, compare any version with what is on the canvas now, and bring an old version back.

How versions are captured

About a second and a half after you stop typing, the timeline records the figure's current source and engine as a new version. A burst of typing becomes one version, not one per keystroke. Nothing is recorded if the source is identical to the latest version, or if it is empty.

Each figure keeps 50 versions: every named version, plus the most recent unnamed ones to fill the rest. Naming a version therefore pins it, however old it gets. Versions are stored in this browser and are not synced to your other devices. For history that follows you across devices, see Version history and undo.

Reading the timeline

The header reads Diagram timeline, with a count such as 12 / 50. With no versions yet, the panel says "No revisions yet. The timeline captures a snapshot ~1.5s after each edit; keep working and history will fill in here."

Each version, newest first, shows:

  • The engine it was written in, as a coloured chip.
  • When: "just now", "45s ago", "12m ago", "3h ago", "6d ago", or the date for versions older than 30 days. These times refresh every minute.
  • current, in green, on the version identical to what is on the canvas.
  • Its name, as an amber tag, if you gave it one.
  • A summary: the first meaningful line of the source (lines starting with // or # are skipped), shortened to 80 characters.
  • Its size, for example "42 lines · 1318 chars".

Actions on a version

Hover over a version to show its four actions:

ActionTooltipWhat it does
Compare"Compare with current (side-by-side visual diff)"Opens the full-screen comparison described below
Inline diff"Diff vs current (inline, +/− lines)"Shows a line-by-line diff in a strip at the bottom of the panel. Click it again to hide it
Name"Name this snapshot (it'll be pinned)", or "Rename this snapshot"Asks for a name such as v1: pre-launch. Named versions are pinned. Leave the name blank to remove it
Restore"Restore this revision"Replaces the figure's source and engine with this version. Not shown on the current version

The inline diff strip is headed "Diff vs current", followed by the version's age. Added lines are green and marked +. Removed lines are red, struck through and marked −. Close it with the × in its header. Switching to another figure closes it too.

Restoring is an ordinary edit: ⌘Z takes it back, and the restored state becomes the newest version once it settles.

Comparing two versions

Compare opens a full-screen dialog titled "Compare revisions" followed by the engine name, with the two times underneath, for example "14:02 → 14:31".

  • Before (left, red marker) draws the version you picked. After (right, green marker) draws the current canvas. Each side shows its engine and time, and each has its own Restore button ("Restore this revision to the canvas").
  • Under the drawings, the full line-by-line diff of the two sources is shown. If the sources are identical, it says "No textual difference — both revisions hold identical source."
  • Swap exchanges the two sides.
  • Explain change asks the flowss Studio Agent to summarise in a few sentences what changed in meaning, not just in syntax. The answer appears in a strip under the header, starting "flowss Studio Agent:". This needs AI on your plan and uses one AI call. If it fails, the strip shows the reason, for example "The flowss Studio Agent couldn't summarise the change".
  • Close the dialog with the ×, Escape, or a click on the dark area around it.

Clearing the timeline

The bin button in the header ("Clear all revisions") deletes every saved version of this figure after you confirm: "Delete all saved revisions for this figure? Undo (Cmd-Z) still works in-session." This cannot be undone. Your current figure is not affected.

Note: The code sheet keeps a separate History strip in its footer. It records a version about three seconds after edits settle, keeps up to 100 per figure, and can diff or restore them, recording the current state before a restore so nothing is lost. The two histories are independent. Use whichever is to hand. See Version history and undo.

TikZ / LaTeX

TikZ / LaTeX rewrites the current figure as a self-contained LaTeX document for a paper or thesis. The result uses the standalone document class and includes every \usepackage and \usetikzlibrary it needs, so it compiles on its own with pdflatex or opens directly in Overleaf. The conversion is done by AI and works with any engine.

Converting a figure

  1. Open the panel with ⌘L, the rail's TikZ / LaTeX, or Export as TikZ / LaTeX in the ⋮ menu or the command palette. The title bar shows "Export as TikZ / LaTeX" and the figure's engine.
  2. Under the heading "Convert this figure to TikZ / LaTeX", click Convert now (or Convert in the footer). A conversion takes 5 to 15 seconds, and the panel shows "Converting to TikZ / LaTeX… this can take 5–15 seconds". If it fails, the reason appears in a red box with a Try again button.
  3. Read the LaTeX source in the panel.
  4. Use the buttons along the bottom:
ButtonWhat it does
Convert / RegenerateRuns the conversion (the label reads Regenerate once there is a result), for example after you edit the figure. Each run is a new AI call
Copy LaTeXCopies the source to your clipboard. It shows Copied briefly
Download .texSaves the source as diagram.tex
Open in OverleafOpens a new Overleaf project in a new tab, containing the source as flowss diagram.tex, set to compile with pdflatex

Conversions are not started automatically. Opening the panel never spends anything. The last successful result for a figure is kept for the rest of the browser session, so reopening the panel for an unchanged figure shows it at once without another AI call. Any change to the source or engine needs a new conversion.

Plan and cost

TikZ / LaTeX is the one export that uses AI, so it follows the AI rules for your plan:

PlanHow it runs
FreeNot available, because Free has no AI
StarterWith your own AI key, added in Settings (⌘,). Calls on your own key are not charged points
Plus, Ultra, EnterpriseOn hosted AI points (6 points per conversion), or on your own key if you add one

Conversions on hosted points also have a daily limit per plan: 25 on Plus, 100 on Ultra and 200 on Enterprise. The limits reset at midnight UTC. Conversions on your own key do not count towards them. Figures whose source is larger than 30 KB cannot be converted.

Tip: AI conversion is a careful redraw, not a byte-for-byte translation. Compile the result and compare it with your figure before you submit. For a figure that must match exactly, export it as SVG or PDF and include it as a graphic. See Exporting your work.

Diagram tools

Diagram tools is a small panel for editing a diagram by pointing at it. It appears at the top right of the canvas when you click a label on the rendered diagram, and disappears when you clear the selection.

Selecting something

Click any text label on the rendered diagram, such as a node name or a class title. Three things happen at once:

  • The Edit label popover opens beside the label (see below).
  • The Diagram tools panel appears, headed "Diagram tools", with the selected label shown under the heading.
  • The code sheet scrolls to the line that draws that element, where it can find it.

Labels that are a single character, or only numbers and punctuation, cannot be clicked. On a Cytoscape network, which is drawn on a canvas rather than as text, you tap a node instead. To clear the selection, click the × in the panel's header ("Clear selection").

The tools

ToolWhat it does
DeleteRemoves the element and every connection to it. A message says what went, for example "Deleted api and 3 connections."
DuplicateAdds a copy labelled with the original's label plus "(copy)", connected from the original
Add afterAdds a new node "Next step", connected from the selected one
Add childAdds a new node "Child", connected from the selected one
ColourOpens a palette of 12 colours. The chosen colour fills the element
BiggerMakes the element's text larger (18 px, semi-bold) and adds padding
Ask the flowss Studio Agent…Asks for a free-form instruction and has AI apply it to this element. Use it when no direct tool fits

The palette's colours are six pastels and six strong tones:

PastelsStrong
#fee2e2 red#ef4444 red
#fef3c7 amber#f59e0b amber
#dcfce7 green#10b981 green
#dbeafe blue#3b82f6 blue
#ede9fe violet#8b5cf6 violet
#fce7f3 pink#ec4899 pink

All tools except Ask the flowss Studio Agent… edit your source directly, with no AI, so they are instant and free. Each is an ordinary edit you can undo with ⌘Z.

Which engines the direct tools support

The direct tools rewrite the engine's own source, so they work on engines whose source they can safely read:

ToolMermaidNomnomlGraphvizOther engines
DeleteYesYesYesNo
DuplicateYes, except class diagramsYesNoNo
Add afterYesYesNoNo
Add childYesYesNoNo
ColourYesYesYesNo
BiggerYesNoNoNo
Ask the flowss Studio Agent…YesYesYesYes

In a Mermaid class diagram, Add after adds a new empty class (named New2, New3 and so on) with an association, Add child adds a new class that inherits from the selected one, and Delete removes the whole class with its relations. Duplicate is not available for class diagrams. For class diagrams, click the class name, not a member line.

On any other engine, a direct tool leaves your figure unchanged and says so in a notice, for example "Duplicate isn't a direct edit on plantuml yet — try asking the flowss Studio Agent below." (the notice uses the engine's short id, and calls the Colour tool "Recolour"). Use Ask the flowss Studio Agent… or edit the source.

Ask the flowss Studio Agent…

  1. Click Ask the flowss Studio Agent…. Your browser asks for an instruction under the heading "Free-form change to" followed by the label.
  2. Type the change, for example "split this into two steps: validate and store", and confirm.
  3. The panel shows AI editing… while it works. The change is applied to the figure it was asked about, even if you switch figures in the meantime.

This needs AI on your plan and uses one AI call. If the AI returns nothing usable, you see "The flowss Studio Agent returned no usable change for this element — try rewording the instruction."

The Edit label popover

The popover that opens when you click a label, titled Edit label, renames the element in place:

  1. Type the new label in the box. It opens with the current label selected.
  2. Press Enter or click Save. Escape, the ×, or a click anywhere outside the popover closes it without changing anything. Saving an unchanged label does nothing.

flowss writes the new label straight into the source wherever it can find the old one there, and the Diagram tools panel follows the renamed element. If the label cannot be located safely, for example because the text on the canvas is generated rather than typed in the source, the rename is handed to AI with the instruction to change nothing else, and AI is editing this element… shows at the top right of the canvas while it works. That fallback needs AI on your plan. Without it, edit the label in the code sheet.

Click Ask the flowss Studio Agent… in the popover to switch it to "Ask the flowss Studio Agent about this element". The box then takes an instruction and the button reads Send to the flowss Studio Agent. Click Just rename to switch back. Asking AI needs AI on your plan.

Note: Switching to Ask the flowss Studio Agent… keeps the label text in the box, so the placeholder ("e.g. add a validation step before this") only shows once you clear it. Select all and type your instruction over the label.

Mind map outliner

The Mind map outliner edits a mind map as an outline, from the keyboard. It drives the Markmap (Markdown) engine: the outline and the map are the same document, so every change you make in the outliner is written straight into the source, and every change to the source shows in the outliner.

Opening it

  • While the figure uses the Markmap engine, click Mind map outliner on the tool rail.
  • From any figure, run Mind map outliner from the command palette. If the figure is not a mind map, the panel says "The outliner drives the mind-map engine. Start one — your current figure stays in its tab." and offers New mind map, which opens a new figure tab with a starter map. On Free, this counts towards the three-figure limit.

The panel, titled Mind map outline, floats at the top right of the canvas. Close it with its × ("Close outliner").

Editing

The top field is the map's central topic. Each row below is a topic, indented to its level.

KeyWhat it does
EnterAdds a new topic after this one, at the same level
TabIndents this topic under the topic above it, carrying its subtopics along
⇧TabOutdents this topic one level
Backspace on an empty topicRemoves it and moves to the topic above
⌥↑ / ⌥↓Moves this topic up or down among its siblings
↑ / ↓Moves between topics

Empty topic rows show the placeholder "Topic…". Hovering over a row shows the same actions as buttons: Subtopic (Tab) adds a new subtopic directly under this topic, Outdent (⇧Tab), Move up (⌥↑), Move down (⌥↓) and Remove (children are kept). Removing a topic never removes its subtopics: they move up to take its place. Add topic at the bottom adds a topic after the last row, at that row's level. A reminder line along the bottom of the panel reads "↵ sibling · Tab subtopic · ⌫ on empty removes · ⌥↑↓ reorder".

Emoji

The smiley button at the start of a row (Set emoji) opens a picker of 24 emoji: a light bulb, a target, a star, fire, a check mark, a question mark, a warning sign, a pushpin, a rising chart, a money bag, a brain, a heart, a rocket, a microscope, books, people, a trophy, an alarm clock, a seedling, a lock, a palette, a lightning bolt, a jigsaw piece and a globe. Pick one to put it in front of the topic, or click clear to remove it. Emoji are stored as ordinary text characters in the source, so they survive copying, exporting and converting, and the mind map draws them as they are.

What the source looks like

The outliner writes standard Markdown: the central topic as a level-one heading, each top-level topic as a level-two heading, and deeper topics as indented bullets.

# Launch plan

## Research
- Interviews
  - Five customers
- Market sizing

## Build
- Beta

You can edit this source directly in the code sheet too. The outliner picks up the change.

Warning: Each edit you make in the outliner rewrites the whole source in exactly this form. Anything else in a hand-written Markmap source, such as paragraphs, deeper heading levels or front matter, may not survive an outliner edit. Undo with ⌘Z if something disappears.

Diagram Intelligence, in brief

Diagram Intelligence (⇧⌘X) reads the structure of the figure on the canvas and reports metrics and findings: cycles, dead ends, unreachable states, critical paths, cut sets, schema problems and, for process diagrams, lead time, throughput and the bottleneck. Red and amber findings offer Fix with the flowss Studio Agent, and Explain this diagram gives a plain-language summary, written by flowss itself for Mermaid flowcharts and DBML and by AI for other engines. Everything it covers, engine by engine, is in Flow-systems analysis in Studio.

Tips

  • Start from Recommended. For a quick chart, the recommendations are the fastest and safest route: no AI, values embedded exactly as given, checked against your data, and opened in a new tab so nothing is overwritten.
  • Name the versions that matter. Before a review or a big change, name the current version in the Diagram timeline (for example "v2: sent to reviewers"). Named versions are never pruned.
  • Compare before you restore. Restore replaces the whole figure. Compare shows you both drawings side by side first, and either side can be restored from there.
  • Refresh, don't rebuild. When this month's export arrives with the same columns, use Refresh data on the linked figure, not a new chart. You get a report of exactly what changed, and the figure keeps its place.
  • Let the tools write the source. On Mermaid, Nomnoml and Graphviz, the diagram tools write the same source you would have typed, so everything stays readable and diffable. Save Ask the flowss Studio Agent… for changes no tool covers.
  • Write mind maps in the outliner. Enter, Tab and ⇧Tab build a large map faster than writing Markdown by hand, and the map redraws as you type.
  • Keep TikZ for LaTeX-native figures. TikZ / LaTeX gives you editable LaTeX that matches your paper's fonts. For pixel-exact reproduction, export SVG or PDF instead.

Limits and known constraints

  • Render chart overwrites. Render chart replaces the active figure's source, while recommended figures open in a new tab.
  • The data link is per tab. It lives while the Studio stays open in that browser tab, and a page reload forgets it.
  • Timeline versions are per browser. They are stored in this browser and do not sync. Clearing your browser's site data removes them. If the browser's storage fills up, the timeline keeps your named versions and trims the unnamed ones so the total is 25.
  • The timeline caps at 50. Each figure keeps 50 versions: all named ones, plus the most recent unnamed ones.
  • TikZ needs AI. It is not available on Free, and it runs on your own key on Starter. Sources over 30 KB cannot be converted, and results are AI redraws, not exact translations.
  • Direct tools cover three engines. Diagram tools edit only Mermaid, Nomnoml and Graphviz directly, and Bigger only Mermaid. Every other engine needs Ask the flowss Studio Agent… or a source edit.
  • The outliner is for Markmap. It drives the Markmap engine only, and it rewrites the source in its own heading-and-bullet form on every edit. For mind maps on a free-form canvas, see Weave.
  • Figure caps apply. On Free, recommended figures and New mind map each create a figure tab, so they are subject to the three-figure limit.

Troubleshooting

What you seeWhereWhat it meansWhat to do
"File too large (max 500 KB). Take a sample or pivot to a subset."Data → ChartThe uploaded file is over 500 KBDrop the file on the canvas instead (up to 2 MB), or reduce it first
"… is too large to import here (the limit is 2 MB)…"Canvas dropThe dropped file is over 2 MBOpen it in the Figure studio, which takes up to 200,000 rows
"No data yet — paste rows or drop a file."Data → ChartThe box is emptyPaste or upload rows
"No rows found — is the first line a header?" or "Couldn't parse: …"Data → ChartThe text could not be read as a tableMake sure the first line holds column names, and check the delimiter
"That's 250,000 rows — the limit is 200,000. Take a sample or aggregate first."Data → ChartToo many rowsAggregate or sample before charting
"300 columns — the limit is 256."Data → ChartToo many columnsRemove the columns you do not need
"Invalid JSON: …", "This JSON is an object, not a table…", "This JSON is a single value, not a table." or "The JSON array is empty — no rows to chart."Data → ChartThe JSON is not an array of row objectsProvide [{"col": value, …}, …], or an object with the rows under data
"Internal check failed — the figure was withheld rather than shown wrong: …"RecommendedThe generated figure did not match your dataTry another recommendation, or use the chart builder
"… rows is more than a … can carry faithfully (limit …)…"RecommendedThe data exceeds that figure type's row limitAggregate or sample the data first
"AI returned no chart." or "AI returned an unknown engine …"Render chart (AI)The AI's answer was unusableTry again, or choose a specific chart type
A message that your plan has no AI, or that hosted AI isn't includedAny AI actionYour plan does not include the AI the action needsAdd your own key (Starter and up), or upgrade. See AI points and limits
"Couldn't stage the data (too large or storage unavailable)."Open in Figure studioThe data is too large to hand over, or browser storage is blockedSave the rows as a file and open it in the Figure studio directly
"Can't refresh: …"Refresh dataThe new data no longer fits the figureRead the reason. If a column was renamed, generate a new recommendation from the new data
"TikZ conversion limit reached for your plan (…/day on …). It resets at midnight UTC…"TikZ / LaTeXYou have used today's hosted conversions for your planWait until midnight UTC, add your own key in Settings, or upgrade
"No LaTeX returned", "Request failed (…)" or "The TikZ conversion failed."TikZ / LaTeXThe conversion ran but produced nothing usable, or the request failedClick Try again
"AI is unavailable. Add your own API key …" or "Sign in to use TikZ conversion on the platform key…"TikZ / LaTeXNo AI is available for this conversionSign in, or add your own key in Settings (⌘,)
"Diagram source is too large to convert (>30 KB)"TikZ / LaTeXThe source is over 30 KBSplit the figure, or export SVG or PDF instead
"Couldn't copy — the clipboard is blocked. Use Download .tex instead."TikZ / LaTeXThe browser refused clipboard accessUse Download .tex
"… isn't a direct edit on … yet — try asking the flowss Studio Agent below."Diagram toolsThat tool does not support this engineUse Ask the flowss Studio Agent… or edit the source
"Couldn't identify this element in the source. Try renaming it first so we have a clean handle."Diagram toolsThe label could not be matched to a single place in the sourceGive the element a unique label, or edit the source
"Direct delete only works on the class title itself, not member lines. Pick the class header (the bold name)."Diagram toolsYou clicked a class member in a Mermaid class diagramClick the class name instead
"No revisions yet…"Diagram timelineNothing has been captured for this figure yetKeep editing. Versions appear about 1.5 seconds after you pause

Something unclear or out of date on this page? Tell us from the Support link in any studio — the flowss team reads every report.

© 2026 Voranox Inc. flowss — Flow Systems Studio. All rights reserved.

This documentation, its text and its examples are protected by copyright. Engine and format names are trademarks of their respective owners — see the terms and copyright and licences.