Authored character dialogue, side stories, and definitions as per-language markdown files.
Added an on-site dev notes blog at /docs and rewrote the privacy page to follow the theme.
English is temporarily under maintenance; the site is Chinese-only for now.
Character Display
Choices now stack vertically as a left-aligned menu, one option per row.
On compact screens the control bar (backlog, auto-play, …) hides while a choice is prompted and returns once there are no choices.
Smooth expression crossfade plus experimental scroll-reveal, staggered card loading, and a cursor point-light (all toggleable in lib/effects.js).
Background Music
Switched character background music to local audio that auto-plays when the dialogue opens, with play/pause, mute, and a volume slider in the expanded player. The original Apple Music embed is kept behind a flag for future use.
Tracks are public-domain recordings from Wikimedia Commons, free to use with no restrictions:
Erik Satie — *Gymnopédie No. 1*
Ludwig van Beethoven — Piano Sonata No. 14 in C-sharp minor "Moonlight", Op. 27 No. 2, I. Adagio sostenuto
v0.1.4
Standalone Fragments / Cast Pages
Made the Fragments and Cast nav entries standalone pages (/fragments, /cast) rendered as card-list grids instead of homepage anchors.
Added side-story blog-style posts at /fragments/[id] and a character dialogue page at /cast/[id].
Carousel cards now link out: side-story cards open /fragments/[id], character cards open /cast/[id].
Carousel And Title Animation
Fixed carousel cards not routing on click: the carousel captures the pointer only after a real drag begins, so a tap stays a native link click.
Fixed the cyclic carousel so the right-most card renders to the left of the left-most card, with no load-time jump.
Added a top-to-bottom title reveal animation for hero, post, and card titles, with a reduced-motion opt-out.
Galgame Character Display
Reworked character data into a language-neutral story graph plus per-locale text lines. Most nodes are continue-only sentence nodes; decision nodes carry two or more choices.
CharacterDisplay opens as a full-window modal (everything except the navbar) with the back button embedded in the upper-left of the stage.
Added six tooltip controls: back to last choice, back to last line, backlog, auto play, next line, next choice. Auto play and the "next" controls advance sentence nodes only and pause on decision / end nodes.
Added a backlog panel to review visited lines and jump back to any of them.
Scene background changes crossfade; background and bgm are read from the active node and carried forward along the visited path.
Background Music
Added components/BgmPlayer.jsx: a corner circle that expands into a panel holding an Apple Music embed (with its own controls) and collapses on outside click. The iframe stays mounted while collapsed so playback persists. Cross-origin embeds only play once deployed.
Test tracks: Kimi ga Umareta Hi (feat. Hatsune Miku) and Nuit.
Naming And Localization
Renamed the secondary character work101 to artifact101 across code, ids, graph nodes, the asset folder, and media paths; fixed the stale "Work 101" English name to "Artifact 101".
Localization policy: Chinese (zh) is authored fully; English (en) uses placeholders until a translation pass is requested.
v0.1.3
Carousel And Character Dialogue
Added a reusable drag carousel with cloned edge cards for looped movement.
Updated side-story cards to use the carousel, 80% card width, smooth transitions, and story-specific time labels.
Removed hero side panel and current-time status from the homepage.
Converted the hero into a full-width background-image section.
Added a game-dialog-style CharacterDisplay widget.
Rendered Cast and Core Tension as a character display carousel.
Added Qi's pre-convenience-store dialogue as a bilingual state machine.
Added docs for side stories, character media, and dialogue creation.
Restored carousel dot selectors while keeping drag movement and cloned edge cards.
Added markdown-driven world definitions under data/definitions/.
Added the /defn page and inline definition hover links for bracketed terms.
Added footer links for Colorful Numbers Lab, the old index page, docs, and privacy.
v0.1.2
Visual Novel Direction
Renamed the site to 栗世界 / Set of Chestnut.
Revised the README around an interactive visual fictional novel goal.
Added data/sideStories/ and public/story-media/.
Added random side-story fragments on homepage refresh.
Added placeholder media for story and character cards.
Added light/dark theme toggle and fixed global language switching.
v0.1.1
Story-First Homepage
Removed homepage content that presented the site as an information/tool hub.
Reworked the homepage around the provided post-Miracle world setting.
Removed unrelated generated fragments outside the owner's outline.
Preserved utility routes separately from the homepage experience.
Added root AGENTS.md submodule and moved project-specific agent notes into docs/.