Story Clock

approvedunreviewed

by Ramaputhra

Map themes and setup/payoff threads on a two-ring story clock, link every segment to a note, and open notes in a side panel.

Updated todayMIT

Story Circle logo

Story Circle

Circle Map for Obsidian β€” map your story's themes and setup β†’ payoff threads onto a two-ring story circle, link every segment to a note, and open notes in a side panel.

A visual screenwriting / plotting tool that lives inside your vault, so your story structure sits right next to your notes.

Buy Me a Coffee

Story Clock running live inside Obsidian side-by-side with a linked scene note

Story Clock dark theme with segment focus highlight and bottom segments tray


✨ Features

πŸ•°οΈ The two-ring story clock

  • 120 minutes, two acts β€” an inner ring for Act I Β· 0–60 and an outer ring for Act II Β· 60–120, each divided into 60 one-minute segments.
  • Paint themes as colored arcs and connect them with setup β†’ payoff wires (one-to-many, cross-circle).

🎨 Three modes

ModeWhat it does
PaintDrag a ring to select minutes, then name the theme
WireDrag one block to another to connect setup β†’ payoff
NoteClick a segment or a minute to link it to a note

πŸ“ Full segment creation & editing

  • Create & name in one flow β€” while painting a new segment, set its Theme name, Title card, Annotation, and Color directly in the left panel.
  • 12 palette swatches + custom color picker β€” click the compact rainbow color-wheel circle (+) at the end of the swatches row to choose any custom color with live arc preview.
  • One-click Title-Card Note creation β€” click + Create New Title-Card Note while creating (or editing) a segment to automatically create a formatted Markdown note in your vault (with YAML frontmatter + # Title Card heading), link it to the segment, and open it in the side panel.
  • Incoming (setups) and outgoing (payoffs) wire lists with one-tap delete.

πŸ“Š Created Segments tray below the clock

  • Directly below the Story Clock visualization, a live Created Segments bar displays every segment in timeline order (Act I β†’ Act II), plus a pulsing Creating now… badge while painting a new arc.

🎯 Segment focus & side-panel note opening

  • Click any segment on the circle or in the Created Segments tray below:
    1. Highlights that segment (and its connected setup/payoff wires) in full vibrant color on the clock while graying out all other segments.
    2. Opens its linked note in a side panel (split leaf), new tab, or current pane.
    3. Click Reset highlight (show all) (or click the center hub) at any time to restore all segments to full color.

πŸ—‚οΈ Multiple projects

  • Create, rename, duplicate, and delete projects β€” each stored as its own file inside the vault.

Project list


πŸ“¦ Installation

From a release

  1. Download the latest main.js, manifest.json, and styles.css.
  2. Copy them into <your-vault>/.obsidian/plugins/story-clock/.
  3. In Obsidian: Settings β†’ Community plugins β†’ Installed β†’ enable Story Clock.
  4. Click the timer ribbon icon or run the "Open Story Clock" command.

Build from source

git clone https://github.com/Ramaputhra/storyclock.git
cd storyclock
npm install
npm run build

Then copy main.js, manifest.json, and styles.css into your vault's plugin folder as above.


🧭 Usage

  1. Open the plugin (ribbon icon or command).
  2. Create a project or open an existing one.
  3. Paint β€” drag on a ring to select minutes, then name the theme in the side panel.
  4. Wire β€” switch to Wire mode and drag one block to another to connect setup β†’ payoff.
  5. Link notes β€” switch to Note mode and click a segment (or a minute) to link an existing note, or use Create title-card note in the side panel.
  6. Open β€” click a mapped segment to open its note in the side panel.

βš™οΈ Settings

SettingDescription
Title-card folderWhere new title-card notes are created (e.g. Story Clock).
Open linked notesSide panel (split), New tab, or Current pane.

πŸ—„οΈ Data & portability

Projects are stored as JSON in .obsidian/plugins/story-clock/projects/:

project
β”œβ”€β”€ id, name
β”œβ”€β”€ segments[]      # theme blocks (text, start, end, circle, color, note, titleCard, noteLink)
β”œβ”€β”€ wires[]         # setup β†’ payoff links
β”œβ”€β”€ minuteNotes[]   # per-minute note links
└── createdAt, updatedAt

The schema matches the standalone Circle Map β€” Story Clock desktop app, so a project can move freely between the two.


🧰 Development

npm run dev     # watch build
npm run build   # type-check + production bundle

Documentation images are generated from SVG with:

node scripts/render-docs-images.mjs

β˜• Support

If Story Clock helps you structure your screenplays, stories, or narrative notes, consider supporting its development:

Buy Me a Coffee QR Code β€” https://buymeacoffee.com/ramaputhra
Scan the QR code or click here to support on Buy Me a Coffee


πŸ“„ License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.