Premium apps

Multi-Layer Exposure Planner

Plan independent drawing exposures, holds and blanks across up to four layers.

Try an example: Three independently timed columns · A blank and a held drawing

More about this tool

How it works

Write named exposure columns with drawing references, repeated holds and blanks. Get an exact multi-layer timing plan, drawing-board frame count, GIF timing, CSV and an SVG sheet. This planning tool uses text only; Xsheet Desk adds source artwork and playback locally.

  • Each line names one column and expands space-, comma- or semicolon-separated drawing references. NxH exposes drawing N for H ticks; zero is blank, and a dot repeats the preceding reference. A hold before the first cell is invalid. Up to four columns and 240 ticks; shorter columns pad with blanks.
  • Composite segments merge adjacent ticks only when every column reference matches. Drawing-board conversion splits runs at ten ticks and must fit 24 frames plus source complexity limits. This planner reports frame count without compiling artwork.
  • GIF segments split at ten seconds. Each delay is rounded(endTick × 100 / FPS) − rounded(startTick × 100 / FPS), in centiseconds. Rounded cumulative boundaries limit total drift; timing remains approximate in players. Xsheet Desk GIF export allows at most 48 segments.
  • CSV is a row-per-tick reference table with formula-prefix escaping for column names. SVG is a timing sheet with escaped labels and no embedded artwork. No audio, camera animation, OpenToonz scene files or drawing generation is involved.

Sources

Part of Flipline

  • Flipline Drawing, storyboards & animation

    A few drawings. A little life. Make a flipbook in your browser.

    Open Flipline

Related tools

How to use the Multi-Layer Exposure Planner

Write exposure columns as short text and get composite segments, drawing-board frame counts, GIF timing and a CSV or SVG timing sheet.

What it is for

In hand-drawn animation, parts of a scene change at different paces: a walk every two ticks, a blink once, the background never. An exposure sheet (Xsheet) writes this down column by column: which drawing each layer shows on each tick. This planner lets you type such a sheet as plain text and tells you what it means in practice.

Each line is one column: Name | 1x2 2x2 0x1 .x3. A number is a drawing, x gives the number of ticks, 0 is blank and a dot repeats the previous cell. You get the length in ticks and seconds, the composite segments (stretches where no column changes), the number of frames the Flipline drawing board would need, the GIF duration and downloads as CSV, SVG and JSON. The tool works with numbers only. It doesn't draw anything; Xsheet Desk in Flipline adds the artwork and playback.

Worked example

A character walks on four drawings, blinks once and stands in front of a still sky. At 12 FPS with 4 available drawings per column, I entered:

Walk | 1x2 2x2 3x2 4x2 1x2 2x2 3x2 4x2
Blink | 1x10 2x1 1x5
Sky | 1x16

The summary said "16 ticks across 3 columns. The drawing board needs 9 frames." The metrics showed a duration of 1.333 s, 9 composite segments and a GIF duration of 1.33 s.

The segment table explains the 9. The walk alone would give 8 segments of 2 ticks. The blink on tick 11 splits the segment of ticks 11–12 in two: segment 6 (tick 11) shows Walk 2, Blink 2, Sky 1, and segment 7 (tick 12) shows Walk 2, Blink 1, Sky 1. Every segment is 1 or 2 ticks long, so each becomes one drawing-board frame with that hold.

How to read the result

  • Timeline ticks and Duration: the length of the longest column. Shorter columns are padded with blanks.
  • Composite segments: runs of ticks in which every column shows the same drawing.
  • Drawing-board frames: segments split into pieces of at most 10 ticks, because a drawing-board frame holds for 1–10 ticks. Flipline can return at most 24 of them.
  • GIF duration: GIFs store delays in 10 ms steps. Boundaries are rounded cumulatively, so the total stays within a few milliseconds of the ideal time.
  • Composite segments table: tick range, start time, length and the drawing of each column. A dash means blank.
  • Downloads: a CSV with one row per tick, an SVG timing sheet without artwork and the full plan as JSON.

Tips and common mistakes

  • Set Available source drawings to the size of your library. A reference such as 9x2 with only 4 drawings is rejected instead of silently drawn as blank.
  • A dot needs something before it: .x3 as the first cell of a column is an error. Use 0x3 for a blank start.
  • Watch the drawing-board frame count. A sheet where columns change on different ticks quickly creates more than 24 segments, even when every column alone looks simple.
  • Long holds cost frames too: 1x30 2x30 at 24 FPS is only 2 segments but 6 drawing-board frames.

FAQ

Does this tool create animation frames?

No. It plans timing only. Open Xsheet Desk in Flipline to connect the columns to real drawings, preview them and export a GIF or an editable drawing project.

What is the difference between a tick and a frame?

A tick is one row of the sheet at your frame rate. A drawing-board frame is one drawing that holds for 1–10 ticks, so several identical ticks share one frame.

Why is the GIF duration slightly different?

GIF delays are counted in hundredths of a second. At 12 FPS one tick lasts 83.3 ms, so the planner rounds the cumulative boundaries and reports the result.

How many columns and ticks can I use?

Up to four columns, 240 ticks, 24 drawings per column and 1–30 FPS.

Guide last updated:

For scripts and AI agents

  • JSON API: POST https://fliplineexposureplanner.usefulweb.app/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://fliplineexposureplanner.usefulweb.app/mcp · tool name flipline_exposure_planner
Example request
curl -s -X POST https://fliplineexposureplanner.usefulweb.app/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{"columns":"Bird | 1x2 2x2 3x2 2x2\nClouds | 1x4 2x4\nScenery | 1x8","drawings":3,"fps":12}'
Feedback · ideas & bug reports welcome