Flowpen: Retopology Drawing Tools
FlowPen User Documentation
Version 1.4.0
Drawing-based surface retopology for Blender. You draw on a high-resolution source mesh; FlowPen builds clean quad topology on a separate target mesh without modifying the source.
Table of contents
1. Requirements
Item |
Detail |
|---|---|
Blender |
4.2 or newer (4.5+ recommended) |
Source |
Any mesh object (high-res sculpt, scanned mesh, etc.) |
Hardware |
GPU recommended for large source meshes (BVH + viewport draw) |
2. Installation
Extension install (recommended)
Download flowpen-1.4.0.zip — do not unzip it.
-
In Blender:
Drag the zip onto the window, or
Edit → Preferences → Get Extensions → Install from Disk…
Enable FlowPen if it is not already enabled.
Open a 3D Viewport, press N, and open the FlowPen tab.
Legacy add-on install
Edit → Preferences → Add-ons → Install…
Select flowpen-1.4.0.zip.
Enable FlowPen.
After updating
If you had an older version installed:
Disable or remove the old FlowPen extension/add-on.
Install the new zip.
Restart Blender if the panel does not appear.
3. Concepts
Term |
Meaning |
|---|---|
Source |
The high-resolution mesh you draw on. Never modified. |
Target |
The retopology mesh created by FlowPen (FlowPen_<SourceName>). All committed topology lives here. |
Session |
Active pairing of one Source + one Target. Started with Start, resumed with Continue. |
Cyan preview |
Temporary topology drawn in cyan. Exists only in memory until you commit. |
Preview Edit |
Interactive mode where you edit the cyan topology before committing it to the Target. |
Commit |
Writes the preview into the Target as one Blender undo step. |
Discard (Esc) |
Deletes the preview. Target returns to its exact previous state. |
Non-destructive rule: the source mesh is never written to. The target is only changed on successful Commit.
4. Quick start
Select your high-resolution source mesh.
Open the FlowPen sidebar tab (N-panel).
-
Click Start.
FlowPen creates an empty target mesh.
You enter Edit Mode on the target.
Click a tool, e.g. Draw or Edge Flow.
LMB-drag on the source surface.
Release — the cyan strip stays and enters Preview Edit.
Optionally move verts, relax, or cut loops.
Press Enter to commit, or Esc to discard.
Use Continue later to resume work on an existing FlowPen target.
5. The workflow (1.4)
From version 1.4.0, Draw and Edge Flow use this sequence:
DRAW
↓
CYAN PREVIEW (live while dragging)
↓
EDIT PREVIEW (after mouse release)
↓
REFINE (move, slide, cut, relax, undo)
↓
COMMIT (Enter) or DISCARD (Esc)Not the old pattern of generate → commit → edit on the target.
Why this matters
You shape topology while it is still temporary.
Mistakes never touch the Target until you accept them.
Esc always restores the Target exactly.
Ctrl+Z after Commit undoes the whole operation as one step.
6. Tools
Precise Draw
Place vertices one by one on the surface.
Input |
Action |
|---|---|
LMB |
Place next vertex / edge |
Closing a 4-vert loop |
Creates a quad |
Shift + LMB |
Start a new chain |
G |
Build a strip grid along the current chain |
Esc |
Undo last uncommitted point (exact topology restore) |
Enter |
Finalise the chain |
Draw
Freehand stroke that becomes a cyan quad strip.
Input |
Action |
|---|---|
LMB drag |
Draw guide; cyan strip follows |
Wheel |
Strip width |
Shift + Wheel |
Density |
Release |
Enter Preview Edit (cyan stays) |
Enter |
Commit |
Esc |
Discard |
Edge Flow
Strip that follows flow direction; can continue an open boundary.
Input |
Action |
|---|---|
LMB drag |
Draw along flow |
Near open boundary |
Strip matches boundary vertex count |
Release |
Enter Preview Edit |
Wheel |
Width |
Enter / Esc |
Commit / Discard |
Circle Patch
Concentric quad patch from a radius drag.
Input |
Action |
|---|---|
LMB drag |
Set radius |
Wheel |
Segment density |
Enter / Esc |
Commit / Discard |
Move
Move existing target vertices, projected onto the source.
Input |
Action |
|---|---|
Select verts, LMB drag |
Move on surface |
Enter |
Confirm |
Esc |
Restore |
Relax
Improve spacing on the target with surface projection. Can preserve boundaries and feature edges (see settings).
Loop Cut
Hover a strip of quads → continuous cut path → LMB applies. Works on open and closed loops.
7. Preview Edit mode
Available after releasing a Draw or Edge Flow stroke (cyan topology still visible).
What you can do
Move preview vertices on the source surface
Select and move multiple vertices
Edge slide on interior edges
Loop cut on the cyan mesh
Relax selected or nearby vertices
Undo/redo preview edits before commit
Change width/density while keeping locked (user-edited) vertices when possible
What you cannot do (by design)
Change the Target until Commit
Change the Source at any time
Leave orphan geometry after Esc
Selection modes
Key |
Mode |
|---|---|
1 |
Vertex |
2 |
Edge |
3 |
Face |
Input |
Action |
|---|---|
LMB |
Select / start move |
Shift + LMB |
Add or remove from selection |
Hover |
Highlights nearest element |
Move vertices
Hover a cyan vertex (it brightens).
LMB-drag.
The vertex follows the source surface under the cursor (ray → surface hit → reproject).
Connected edges and faces update locally (no full grid rebuild).
Multi-selection: selected vertices move together and stay surface-constrained.
Edge slide
Switch to Edge mode (2).
Select an interior edge.
LMB-drag to slide along neighbouring quads.
Vertices stay projected on the source.
Loop cut (preview)
Hover or select an edge (C).
A cut is inserted on the cyan topology only.
Nothing is added to the Target until Commit.
Relax (preview)
Press R. Selected vertices (or nearby region) are smoothed tangentially, then reprojected onto the source. Boundaries are preserved by default.
Undo / redo (preview only)
Input |
Action |
|---|---|
Ctrl + Z |
Undo last preview edit |
Ctrl + Shift + Z |
Redo |
These steps are local to the cyan preview. They do not write Blender undo until you Commit.
Commit
Press Enter or Space.
Preview is validated (duplicates, zero-area faces, non-manifold, non-quads, etc.).
If issues exist → error report, stay in Preview Edit to fix.
If clean → convert to Target geometry, weld/snap as configured, one Blender undo step.
Discard
Press Esc or right-click.
Preview is destroyed.
Target is identical to the state before the operation.
No hidden verts, orphan edges, or selection side effects.
Visual feedback
State |
Appearance |
|---|---|
Unselected |
Cyan |
Hover |
Brighter cyan |
Selected |
Warm highlight (orange/white) |
Locked / user-edited |
Slightly warmer point markers |
Boundary edges |
Distinct cyan boundary style |
HUD example while editing:
FLOWPEN — PREVIEW EDIT
Mode [VERTEX] Verts 48 Faces 35
LMB Select/Move Shift=Extend 1/2/3=Mode
R=Relax C=LoopCut Ctrl+Z=Undo Enter=Commit Esc=Discard8. Snapping & welding
Snap types
Type |
Description |
|---|---|
Vertex |
Existing Target vertices |
Boundary |
Boundary / loose verts (preferred when enabled) |
Surface |
Projection onto the Source |
Seam |
Symmetry plane |
Snap / weld radius is shared in settings. Active snap type is shown as a coloured marker in the viewport.
Weld (Connect)
On commit (and via Connect tools), vertices closer than the radius are merged when safe:
World-space distance (correct with non-uniform scale)
Normal compatibility (avoids welding through thin layers)
Spacing guard (avoids collapsing short edges)
Optional boundary-only mode
Live Connect previews welds as you adjust the radius; Cancel restores the baseline topology.
9. Symmetry
Axes: X / Y / Z (local) or None
During Preview Edit, moving a vertex can update its mirror pair when pairs are set up
On Commit, mirrored geometry is created and the seam is welded according to Seam Distance
Enable symmetry in the FlowPen N-panel before drawing if you want mirrored strips.
10. Settings (N-panel)
Open N → FlowPen.
Typical controls:
Setting |
Purpose |
|---|---|
Quad Size |
Base spacing of quads |
Micro mode / Micro quad size |
Finer spacing for detail work |
Strip width |
Width of Draw / Edge Flow strips |
Density |
Subdivision density of the strip |
Snap / Weld radius |
Merge distance |
Symmetry axis |
X / Y / Z / None |
Seam distance |
Threshold for seam vertices |
Show HUD |
Toggle viewport help text |
Topology stats |
Live vertex/face counts and quality label |
Exact labels may vary slightly by panel layout; tooltips describe each property.
11. Keyboard & mouse reference
Global (most tools)
Input |
Action |
|---|---|
LMB |
Primary action |
Enter / Space |
Commit |
Esc |
Discard / undo last uncommitted step / exit |
Right-click |
Cancel / exit |
Mouse wheel |
Primary parameter (width, segments, …) |
Shift + Wheel |
Secondary parameter (density, …) |
Preview Edit (Draw / Edge Flow after release)
Input |
Action |
|---|---|
1 / 2 / 3 |
Vertex / Edge / Face select mode |
LMB |
Select / move |
Shift + LMB |
Extend selection |
R |
Relax |
C |
Loop cut on hovered/selected edge |
Ctrl + Z |
Preview undo |
Ctrl + Shift + Z |
Preview redo |
Enter |
Validate + commit |
Esc |
Discard preview |
Pie menu
Shift + Q (when registered) opens the FlowPen tool pie for fast tool switching.
12. Tips & best practices
Start coarse, refine in Preview Edit
Draw a clean strip, release, then move corners and cut loops before committing.Use Esc freely
Discarding is safe. The Target never changes until Enter.Match density to the form
Increase density for curved areas; keep it lower on flat panels. Changing density after edits tries to keep locked verts.Boundary continuation
Start Edge Flow near an open Target boundary so the strip continues with matching vertex count.Symmetry first
Turn on the symmetry axis before the stroke if you need mirrored results.Validate before commit
If Commit reports topology issues, stay in Preview Edit, fix the highlighted region, then try again.One logical undo
After Commit, a single Ctrl+Z in Blender removes the whole FlowPen operation.
13. Troubleshooting
Problem |
What to try |
|---|---|
Panel missing |
Enable the extension; press N in the 3D View; check the FlowPen tab |
has no attribute 'register' |
Remove old install, install 1.4.0 zip, restart Blender |
No surface hit under cursor |
Ensure the Source is visible, not on a hidden collection; check object scale |
Commit rejected |
Read the error; fix non-quads / zero-area faces in Preview Edit; reduce extreme stretching |
Preview disappears on release |
Update to 1.4.0 — release should enter Preview Edit, not clear the cyan strip |
Esc left geometry behind |
Report as a bug; 1.4.0 is designed so Esc leaves Target unchanged |
Slow on dense sources |
Ensure BVH can build; hide unused modifiers if possible; work in sections |
14. Known limitations
Loop Cut on highly irregular non-quad regions may not find a full loop; the tool reports failure rather than applying a partial cut.
Circle Patch uses a small inner ring (no single pole) so faces stay quads; very small radii relative to Quad Size may produce fewer rings than requested.
Preview density rebuild preserves locked vertices where possible, but extreme density jumps can still shift unedited regions.
Live Connect baseline is per-target and is discarded when another tool edits the mesh (keeps Blender’s undo stack coherent).
Proportional editing radius for multi-vert falloff in Preview Edit is limited compared to full Blender proportional edit.
15. Architecture (for developers)
flowpen/
├── __init__.py # register / unregister
├── properties.py # Scene + Object settings
├── session.py # Source / Target session
├── operators/ # Start, Continue, tool switch, Connect
├── tools/ # Draw, Edge Flow, Precise Draw, …
├── core/
│ ├── preview_mesh.py # Editable cyan topology (1.4)
│ ├── controller.py # Single active tool, viewport capture
│ ├── transaction.py # begin / preview / commit / cancel
│ ├── surface_query.py # BVH, continuity-aware projection
│ ├── snap.py # Unified snap
│ ├── commit.py # Grid → BMesh + validation
│ ├── quad_grid.py # Strip grids
│ ├── stroke_engine.py # Stroke sampling → grid
│ ├── validator.py # Topology checks
│ └── …
├── viewport/ # GPU draw, preview, HUD
└── ui/ # N-panel, pie menuPreviewMesh responsibilities
Own vertices, edges, faces, adjacency, selection, hover
Surface binding (source_face, normal, locked flags)
Local dirty updates on vertex move (no full regenerate)
Preview-local undo stack
validate() before commit
Export to commit path without writing Target until Commit
Design guarantees
Source is never modified.
Target is unchanged until Commit succeeds.
Esc restores Target exactly (snapshot-based where transactions are used).
Moving one preview vertex updates only local topology.
Commit is one Blender undo step.
Version history (summary)
Version |
Highlights |
|---|---|
1.4.0 |
Editable cyan Preview Edit (move, slide, loop cut, relax, undo); Draw & Edge Flow release → edit → commit |
1.3.x |
Transactions, controller, unified snap, validator, Live Connect, HUD, density/width on Draw |
Support
See INSTALL.md for install variants (including Superhive).
See README.md for a short overview and changelog.
Report bugs with Blender version, FlowPen version, and steps to reproduce.
FlowPen 1.4.0 — DRAW → CYAN PREVIEW → EDIT PREVIEW → COMMIT