Repository navigation
Scroll Studio 1.2.0
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 indocs/stylesis
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 (
filmwithtake:): 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 (
splatscene): Gaussian-splat scans (.plyor 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
calloutsresolved from the data at build time, bar and scatter charts, number
formats, andstatsitems 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 inengine/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) andstudio brand --logo(theme colours from a logo, contrast-checked). - MCP tools:
list_styles,looks,copy_deck,apply_copy_deck,brand_from_logo. theme.modeoverride; 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 of0.0%. - The rolling word in a type
swapscene is measured after the web fonts load (it was cut off). - Blockout
scattercan 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