All documentation
Canvas and boards/08

Labels, shapes, and connectors

Free

Annotate boards without leaving FenSight.

Labels, shapes, and connectors are Free board annotations. They are saved inside .fns board files, stay separate from source media, and can be selected, moved, styled, locked, layered, copied, pasted, grouped, and restored with the board.

Screenshot coming soon

FenSight board showing labels, shape tools, connector anchors, and the annotation quick action bar

Screenshot placeholder. Expected production asset: /docs/screenshots/labels-shapes-and-connectors.png.

Annotation access paths

Toolbar

Bottom tool rail -> Label (L)

Toggles add-label mode. The next canvas click creates a user label and starts inline editing.

Toolbar

Bottom tool rail -> Text Box (T) / Comment (C)

Creates text-backed board labels with Text or Comment defaults. One-click placement creates a 220 x 90 item.

Toolbar

Bottom tool rail -> Square / Rectangle (R), Circle / Ellipse (O), Diamond (D), Trapezoid

Creates text-capable shape items. Drag or click twice to size the shape.

Toolbar

Bottom tool rail -> Marquee

Creates a frame shape. This is different from the empty-canvas marquee selection gesture.

Toolbar

Bottom tool rail -> Divider

Creates a connector. Connector anchors appear on a single selected shape or label.

Toolbar

Selection quick action bar -> Fill / Stroke / Text / Cycle connector style

Appears near the current selection when the selected object supports the action.

Menu

View -> Labels & Text

Shows or hides label and text rendering on the board surface.

Toolbar

Settings -> Appearance -> Labels -> Cluster label size / Text color / Background color / Pick

Sets default label colors and cluster-label sizing. Per-label H1-H4 sizing is changed from the board quick text popover.

Context menu

Label item -> Edit text...

Starts inline label editing for the selected label.

Context menu

Shape item -> Properties... / Delete / Bring Forward / Send Backward / Bring to Front / Send to Back / Lock selected / Unlock selected

Selects the shape, exposes style controls, deletes the item, or changes z-order and lock state.

Creation tools

Tool labelUser-facing behaviorTechnical behavior
Label (L)Free
Places a free-floating board label.Add-label mode creates a LabelItem at the clicked canvas point, applies the current label foreground/background settings, centers the measured label above the click, and starts inline editing.
Text Box (T)Free
Places a rectangular text note.One-click placement creates a 220 x 90 LabelItem with Text as its initial text and a dark translucent background, selects it, and starts inline editing.
Comment (C)Free
Places a comment note.One-click placement creates a 220 x 90 LabelItem with Comment as its initial text and a warm translucent background, selects it, and starts inline editing.
Square / Rectangle (R)Free
Creates a rounded rectangle shape that can contain text.The shape uses the current stroke, fill, stroke style, stroke width, corner radius, and dot spacing controls. Shape text editing starts after creation.
Circle / Ellipse (O)Free
Creates an ellipse shape that can contain text.By default, shape creation keeps width and height uniform. Holding Ctrl while sizing allows non-uniform sizing.
Diamond (D)Free
Creates a diamond shape that can contain text.Diamond shape geometry is rendered from the saved shape bounds and uses the same text and style pipeline as other text-capable shapes.
TrapezoidFree
Creates a trapezoid shape that can contain text.Trapezoid has no bare-key shortcut because F is reserved for fit-to-view.
MarqueeFree
Creates a frame around a board area.The Frame tool creates a transparent ShapeItem. If the current stroke style is Solid or empty, FenSight saves the frame stroke style as Dash.
DividerFree
Creates a connector between two points or anchors.The connector tool creates a ShapeItem with Shape set to Connector, transparent fill, current stroke settings, and Elbow as the initial connector style.

Text and label editing

ControlUser-facing behaviorTechnical behavior
Inline label editFree
Edits label text directly on the board.Enter commits, Shift + Enter inserts a newline, Escape cancels, and losing keyboard focus commits the current text. The edit box auto-resizes while you type.
Edit text...Free
Starts editing a label from the context menu.The label context menu calls the same inline editor used immediately after label creation.
H1 / H2 / H3 / H4Free
Changes selected user-label size from the quick text popover.User labels store a HeadingLevel. Cluster labels are excluded from this per-label size control and use the cluster label size setting instead.
Shape SizeFree
Changes text size inside selected text-capable shapes.The quick text popover exposes a 6 to 120 slider and a numeric input. Shape text defaults to 24.
FontFree
Changes the selected label or shape text font.The quick text popover lists system font family names and stores the selected FontFamilyName on the label or shape.
Align left / Align center / Align rightFree
Changes selected text alignment.Alignment is saved as TextAlign for labels and shape text, then applied when the board surface redraws.
Text colorFree
Changes selected label text or shape text color.The quick text popover applies swatch colors to selected labels and text-capable shapes. User labels mark HasCustomColors when customized.
Labels & TextFree
Shows or hides board text annotations.The View menu and label toggle update BoardViewState.LabelsVisible, then force the board surface to redraw.

Shape style controls

ControlUser-facing behaviorTechnical behavior
StrokeFree
Changes the outline thickness.The ShapeStrokeWidthSlider runs from 0 to 50 and writes StrokeThickness to selected shapes.
Stroke color / PickFree
Changes the outline color.The stroke color field accepts a color string and the Pick button opens the color picker. Selected shapes and connectors receive the brush.
Solid / Dash / DotFree
Changes the outline pattern.The active stroke-style dropdown stores StrokeStyle as Solid, Dash, or Dot. Dot spacing is controlled separately.
FillFree
Changes shape or label fill color from preset or custom values.The fill dropdown exposes None, Accent, Warm, Cool, and Neutral. The adjacent fill color field accepts a custom color. Frame shapes are forced to transparent fill.
Corner radiusFree
Rounds eligible shape corners.The corner radius slider runs from 0 to 300 and applies to Rectangle, Frame, Diamond, and Trapezoid shapes.
Dot spacingFree
Adjusts dotted stroke spacing.The dot spacing slider runs from 0.5 to 20 and updates StrokeDotSpacing.
Resize handlesFree
Resizes a selected shape.Handles appear for one selected, unlocked, non-connector shape. Corner resizing preserves aspect ratio by default; holding Ctrl allows free non-uniform resizing.
Lock selected / Unlock selectedFree
Prevents or restores movement and resizing.Locked annotation items are skipped by move, nudge, and resize operations and the lock state is saved with the board.
Bring Forward / Send Backward / Bring to Front / Send to BackFree
Changes stacking order.Z-order changes are saved with board items. Default rendering places shapes behind file items, connectors above file items, and labels above connectors.

Connector behavior

BehaviorUser-facing behaviorTechnical behavior
Straight / Elbow / CurveFree
Changes the connector path style from the dropdown.ConnectorStyleCombo exposes Straight, Elbow, and Curve. Connector creation starts with Elbow.
Cycle connector styleFree
Cycles selected connectors through available styles.The quick action cycles Straight -> Elbow -> Curve -> Line. Line is a supported saved/rendered connector style even though the dropdown lists the first three styles.
Anchor dotsFree
Connects a line to the top, right, bottom, or left side of a shape or label.A single selected non-connector shape or label exposes anchors. Hovering near a shape or label can also reveal anchors for connector preview.
Anchor snappingFree
Snaps connector endpoints to nearby anchors.Connector preview and endpoint dragging snap within a 28-screen-pixel radius. Anchor hover activation uses a 50-screen-pixel radius.
Shift while placing a connectorFree
Constrains the connector angle.Shift runs the endpoint through SnapLineAngle before the preview or final connector is updated.
Move or resize anchored itemsFree
Keeps attached connectors connected.Moving or resizing an anchored shape or label refreshes connectors whose start or end anchor references that item.
Drag connector endpointsFree
Moves or re-anchors a connector endpoint.Dragging an endpoint clears its current anchor until it snaps to a new eligible anchor. Internal connector points move freely.
Double-click connector bodyFree
Adds a bend/control point.FenSight inserts a ConnectorPoints entry at the nearest projected segment point. When connector points exist, they override the generated Straight, Elbow, or Curve geometry.

Saved board data

Annotations are board data, not edits to the original media files.

Item typeWhat is preservedTechnical fields
LabelsFree
Restores text notes, headings, alignment, font, and custom colors.Board saves LabelText, LabelHeadingLevel, LabelFontFamily, LabelTextAlign, LabelVerticalAlign, LabelTextColor, and LabelBackgroundColor where applicable.
ShapesFree
Restores shape kind, size, position, text, fill, stroke, style, and lock state.Board saves ShapeKind, ShapeWidth, ShapeHeight, ShapeStroke, ShapeFill, ShapeStrokeThickness, ShapeCornerRadius, ShapeStrokeStyle, ShapeDotSpacing, ShapeText, and related fields.
ConnectorsFree
Restores connector style, endpoints, custom control points, and anchor attachments.Board saves ShapeConnectorStyle, connector start/end coordinates, ConnectorPoints, ConnectorStartItem/Side, and ConnectorEndItem/Side.
Groups and z-orderFree
Keeps annotations grouped and layered with other board items.Annotations save ItemId, GroupId, IsLocked, z-order, and normal board position fields.

The toolbar Marquee tool creates a frame annotation. Empty-canvas drag is the selection marquee described in Selection and navigation.

Annotations are non-destructive board objects. Deleting a label, shape, connector, or frame removes it from the board, not from source media on disk.

Connected guides

Follow these related pages when the workflow crosses into setup, search, organization, export, security, or another board-level system.