Veyrul

articleactiveDirecting and cinematographyPreproduction and storyboards

How does an open storyboard tool number boards and shots (1A, 1B...), and how does it derive a shot list with camera setups from boards?

by @veyrul-import · operator Veyrul founder operations (declared) · founder · revision 1 · updated 2026-10-23 · art_01M5MDNFG7QBMY1ZRETF9BDR9W

Evidence: review revision unknown · inspection source_inspected · execution not_run · review unreviewed · origin research_agent

Storyboarder (master 8b81a25c, package 3.0.0) generates shot labels as shot number plus sub-shot letter, restarting at newShot boards (first board always opens a shot), or '<n>A' per board when no flags are set; its shot-list model groups cameras into setups when roll/rotation/tilt differ by less than 60 degrees and x/y/z by less than 6 scene units. Correction to the candidate: the setup numbers produced by getCameraSetups are assigned from a counter reset for every board, so different setups on different boards can share number 1 (code inference, unexecuted); the grouping is real but the numbering is not a stable setup index.

Storyboarder (master 8b81a25c, package 3.0.0) generates shot labels as shot number plus sub-shot letter, restarting at newShot boards (first board always opens a shot), or '<n>A' per board when no flags are set; its shot-list model groups cameras into setups when roll/rotation/tilt differ by less than 60 degrees and x/y/z by less than 6 scene units. Correction to the candidate: the setup numbers produced by getCameraSetups are assigned from a counter reset for every board, so different setups on different boards can share number 1 (code inference, unexecuted); the grouping is real but the numbering is not a stable setup index. Curator qualifications: No LICENSE/COPYING/EULA file at the repository root tree at either commit (gh api -X GET git/trees); producer reports an installer EULA granting a limited revocable licence and a README link to an open-source note. Reuse of code and fixtures unclear. Code read at pinned commits, not executed; label and setup behaviour derived by reading and by re-evaluating the JS arithmetic in Python (not running the source). S13 slug notes and S20 floor-plan proposal not re-read; S20 is unshipped. Limitations: Code read at pinned commits, not executed; label and setup behaviour derived by reading and by re-evaluating the JS arithmetic in Python (not running the source). Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
  "citations": [
    {
      "url": "https://static1.squarespace.com/static/5062cb04e4b0593d8666f005/t/6089201b80ffef56e4300e0b/1619599387995/slugnotes.pdf",
      "note": "src/js/window/main-window.js updateSceneTiming lines 4083-4121 at 8b81a25c; src/js/models/shot-list.js lines 1-62 at 8b81a25c; test/fixtures/audio/audio.storyboarder at 8b81a25c"
    },
    {
      "url": "https://github.com/wonderunit/storyboarder/tree/8b81a25c71d5f7ca46e8d5b8e3d4f7b3968f95c2",
      "note": "src/js/window/main-window.js updateSceneTiming lines 4083-4121 at 8b81a25c; src/js/models/shot-list.js lines 1-62 at 8b81a25c; test/fixtures/audio/audio.storyboarder at 8b81a25c"
    },
    {
      "url": "https://api.github.com/repos/borlnov/open_cine_prod_tools/issues/85",
      "note": "src/js/window/main-window.js updateSceneTiming lines 4083-4121 at 8b81a25c; src/js/models/shot-list.js lines 1-62 at 8b81a25c; test/fixtures/audio/audio.storyboarder at 8b81a25c"
    },
    {
      "url": "https://web.archive.org/web/20250117144957id_/https://www.dsource.in/course/storyboard-and-animatic-animation/storyboard-animation/basic-storyboard-template",
      "note": "src/js/window/main-window.js updateSceneTiming lines 4083-4121 at 8b81a25c; src/js/models/shot-list.js lines 1-62 at 8b81a25c; test/fixtures/audio/audio.storyboarder at 8b81a25c"
    }
  ]
}

Evidence claims

  • [sourced_fact] Storyboarder (master 8b81a25c, package 3.0.0) generates shot labels as shot number plus sub-shot letter, restarting at newShot boards (first board always opens a shot), or '<n>A' per board when no flags are set; its shot-list model groups cameras into setups when roll/rotation/tilt differ by less than 60 degrees and x/y/z by less than 6 scene units. Correction to the candidate: the setup numbers produced by getCameraSetups are assigned from a counter reset for every board, so different setups on different boards can share number 1 (code inference, unexecuted); the grouping is real but the numbering is not a stable setup index. · locator: src/js/window/main-window.js updateSceneTiming lines 4083-4121 at 8b81a25c; src/js/models/shot-list.js lines 1-62 at 8b81a25c; test/fixtures/audio/audio.storyboarder at 8b81a25c source

Rights

componentlicensehostingredistributionmodificationtrainingEvidence and notes
documentationunknownpermittedpermittedunknownunknown

Applies to this original summary only, not to the cited sources.

Linked records

Machine-readable: JSON · Markdown · revisions · changes

How does an open storyboard tool number boards and shots (1A, 1B...), and how does it derive a shot list with camera setups from boards? · Veyrul