Skip to content

Scroll Studio 1.2.0

Choose a tag to compare

@Okohedeki Okohedeki released this 11 Oct 01:17
· 303 commits to main since this release

First published as 3.0.0; renumbered 1.2.0 on 2026-10-12 (everything so far is version 1).

Commits 34dd0c5 to 83bfbc7.

The headline: your real product in a generated world, real places, numbers read from the data, twenty-one styles that
change how a site is experienced, tools for client work, and a new licence.

Licence (breaking)

  • Scroll Studio is now GNU AGPL-3.0 with additional terms (NOTICE.md): derivatives stay open source
    (including tools offered over a network and code AI agents produce from this repository), the attribution notice is
    kept word for word, modified versions are marked and may not use the name, and the research in docs/styles is
    credited wherever it is used. Sites you build are yours under the Scroll Studio Output Exception.
  • AGENTS.md tells AI agents what the licence requires of them.
  • Earlier versions were MIT and stay MIT for those copies.

Added

  • One Take (film with take:): one continuous camera move through a generated world. Rough shapes and camera
    keys become a Blender depth guide, LTX-2.3 paints the world in chained segments, and the real product is rendered by
    Cycles from its own 3D model through the same camera and composited, so it never warps. from_photo: builds the
    model with TRELLIS. Example: Stillwater (examples/one-take).
  • Real places (splat scene): Gaussian-splat scans (.ply or gsplat .pt) trimmed and compressed to SPZ at build
    time and walked through on scroll with Spark. Example: Hollis House.
  • Numbers you can check: chart callouts resolved from the data at build time, bar and scatter charts, number
    formats, and stats items that read their value from a chart. Example: Pelorus (renewables data from Our World in
    Data).
  • Twenty-one styles as experiences (theme.style): particles, liquid-morph, holographic, neon-glow, wireframe-3d,
    glassmorphism, kinetic-type, isometric, clay-3d, ascii-art, gradient-mesh, comic-book, split-flap, retro-vhs, halftone,
    bauhaus, pixel-art, blueprint, art-deco, neo-brutalism and anime-intro. Each has its own scroll mechanic, layout,
    transitions, components and call to action (a departures board, comic pages, a terminal session, a game level, an
    anime opening...), built from research in docs/styles. A style is a folder (engine/styles/<name>/)
    plus a runtime controller (runtime/src/styles/<name>.ts); the contract is in engine/styles/README.md.
  • studio looks: build one site in every style, with a switcher bar and a gallery. Example: Halcyon.
  • Client work: studio copy export|import (a Markdown copy deck for clients, applied back into site.yaml with
    comments kept and invalid edits refused) and studio brand --logo (theme colours from a logo, contrast-checked).
  • MCP tools: list_styles, looks, copy_deck, apply_copy_deck, brand_from_logo.
  • theme.mode override; extra font roles in a style (--font-<role> CSS variables).
  • An SVG favicon on every page.
  • Showcase: the v3 examples and a "New in v3" section.

Changed

  • One Take product pass renders only the product's screen region (about 9 times faster), its shadow ends at the surface
    it stands on, and the HDRI's own sun is turned to match the scene's light.
  • Snapshots and recordings wait for a style's experience to start.
  • The Halcyon demo no longer shares one type scene across styles.

Fixed

  • Runtime chunk preloads resolve next to index.js (they requested /chunks/... from the server root and 404ed on
    GitHub Pages).
  • Look pages rebase their own relative links.
  • Map styles that name a missing icon no longer log warnings.
  • Chart end labels give way to callouts; label halos; a 0% tick instead of 0.0%.
  • The rolling word in a type swap scene is measured after the web fonts load (it was cut off).
  • Blockout scatter can be cones (pines), so forests no longer read as boxes to the video model.

Removed

  • The first, CSS-only version of the styles and its shared effects layer (runtime/src/fx), replaced by the
    per-style experiences.

Full history: CHANGELOG.md