Changelog
Releases are tagged vMAJOR.MINOR.PATCH. Older releases link to their detailed implementation maps in sekai/docs/history/; verification notes for every release live in sekai/VERIFICATION.md.
16.0.0 — 30 October 2026
The second hundred: the world follows the real seasons, the Worktable becomes a full desk, the site gets its own ink-and-paper identity, and the operations side is ready for production storage.
Komorebi is now Sekai (世界, “world”). The wordmark, seals, app icon, share card, page titles and guides carry the new name; Japanese prose writes it セカイ. The code follows (the sekai/ source folder, window.sekai, SEKAI_* variables, file and font names). Browser storage moves from komorebi-* to sekai-* keys on the first visit, keeping the old copies so a rolled-back build still finds them; the IndexedDB databases keep their names. Links keep working. Keyboard shortcuts are gone as well (the command palette opens from its Search buttons); walking keys, E to interact, Escape and the usual Tab, Enter and arrow keys inside controls remain.
World
- Real seasons from your date (sakura, summer, momiji, snow); the 3D world is regraded from saturated green to an ukiyo-e palette of moss, indigo dusk and gold light, along with the province illustrations.
- Fireflies, cicadas, frogs and crickets by season; opt-in local weather from Open-Meteo (coarse location, cached, silent on failure).
- Ten seasonal field-guide pages, and the companion carries an umbrella in rain, a scarf in winter and a lantern at night.
- Fishing at piers and shores, ferry rides between islands, onsen spots with a sit-and-rest camera, festival nights with lanterns, matsuri music and fireworks, a shrine guestbook, a fog-of-war map, a haiku of the day with a shareable card, and a screensaver mode.
- The companion speaks: curated lines per province in English and Japanese, with optional live lines on your own OpenRouter key.
- Photo mode gains six film stocks, depth of field by lens and aperture, and Polaroid, washi and letterbox frames; views can be sent as postcard links.
- Lighter and smoother: the world draws at most 1.1, 1.8 or 2.6 million pixels by graphics level instead of up to 1.65× the screen (on a Retina laptop GPU time per frame fell from 10–27 ms to 3–10 ms, and the picture is sharper because the old scaler no longer shrinks it); no multisampled canvas under the post pass, 2× MSAA on dense screens, quicker flights, a brisker walk, and no hidden previews compiled behind the loader.
- One light: the world stays in its morning light instead of following your clock into dusk and night, and the light, time-of-day, day/night, season and time-lapse switches are gone (the season still follows the calendar).
- Walking: a head bob that follows your steps (dip at each footfall, slight sway), slower uphill and quicker downhill, a little weight when starting and stopping; the Camera bob comfort setting turns it off.
- Boats keep apart: ferries ease aside to pass each other and spread out in harbour, and steer around moored and rowing boats; your rowing boat knocks against other hulls instead of passing through them.
- Grass near you: clumps on every patch of open ground around the walker, tinted from the soil, straw in autumn, gone under snow, swaying in the wind (one draw call, none at the Light level).
Worktable (机)
- Projects with colour, default model and system prompt; "Loose papers" (ばら紙) for the rest; a notebook of pinned messages per project.
- Keep an answer from Compare, a prompt library with
{{variables}}and/search, a cost meter with monthly warnings, Regenerate as branches, parameter presets, a summary offer near the context limit, and a per-conversation privacy panel. - Local models through WebLLM (vendored 0.2.85), dictation and read-aloud settings, chat with your files (BM25 with citations), image mode, encrypted read-only snapshots, passphrase sync, a sandboxed artifact preview, table views of structured output, a capability-based model finder, and imports from ChatGPT and Claude exports.
- Storage keys move to
worktable-*with a fallback to the oldworkspace-*keys;?worktable=and?workspace=links both work.
Look
- Brush-stroke dividers and focus corners, washi grain, carved hanko seals, brush icons, ink-bleed motion without springs, vertical Japanese titles on wide screens, and a Japanese cut of Shippori Mincho for headings.
- A light kinari (unbleached paper) theme next to the indigo one, following the device unless you choose.
- The loader is an ensō drawn stroke by stroke; the icon and share cards use the new palette.
- An anime-film light layer: buttons are train tickets (切符): a body and a stub joined by a perforation, the stub tears a little on hover and a punched hole lets light through; world and Worktable primary actions are notched admission tickets with a slow sheen; blocks rise out of a soft blur, and a warm light leak crosses the screen between views. Reduced motion keeps the look and drops the movement.
- The homepage sections below the hero are now episodes (序章, 第一話 to 第四話, 番外編, 次回予告) with a luminous gradient on the key words in place of grey italics; the first-run steps are three soft cards and the outro is a next-episode card under a low sun, signed つづく. The copy is rewritten to say concretely what Sekai does: seven islands sorted by strength, 350 models, a Worktable in the browser on your own OpenRouter, OpenAI, Anthropic or Ollama key.
Guides and reach
- An "Explore models" directory with filters, 57 provider pages, price-history pages with charts, fictional lore and galleries for each province, a weekly new-models digest (RSS and Atom), a changelog feed, a press kit, an embeddable province widget, Norwegian guide pages, and Korean, Norwegian and Simplified Chinese interface text (machine quality, awaiting native review).
- Per-locale sitemaps with checked hreflang pairs, and every public URL from
SITE_URL, ready for a custom domain.
Speed
- Homepage Lighthouse performance 97 and LCP 2.55 s locally (95 and 2.85 s for 15.0 on the same setup), with the hero headline as the LCP element; /provinces/ scores 100. Analytics, Web Vitals and the Japanese display font load after the page; prerender on hover for guides and the Worktable entry.
- Terrain ships as binary files instead of a base64 string, the terrain map is GPU-compressed in a worker, quality steps down and back smoothly under load, and materials and village landscapes are pooled.
- Per-route JavaScript budgets and a Lighthouse budget script.
Operations
- The CSP is enforced, with a stricter next policy reported alongside; full security headers (HSTS, COOP/CORP, Permissions-Policy).
/api/healthreports what is missing; one rate-limit table covers every API route; Turnstile, push test notifications, uptime checks, an error digest, KV backups and Web Vitals collection switch on as their settings are added.npm run doctor, Dependabot and a vendor-drift job, an architecture doc generated from the import graph, a module lint with no unused exports left, and steadier browser suites.
15.0.0 — 29 October 2026
The hundred-improvements release. The workspace is now the Worktable (机), the traveller is a hand-built anime companion, and the world, worktable, guides, accessibility and tooling all grew.
Naming and look
- The workspace is renamed the Worktable everywhere you read it; Japanese uses 机 (the writing desk). 書斎 now names only the studies inside the world's houses. Saved worktables, links and backups keep working.
- New companion: a cel-shaded anime traveller with an inked outline, a painted face that blinks and smiles, hair locks, haori over pleated hakama, obi and tasuki, a sedge hat on the back and a gourd. The guide portrait is rendered from the same model.
- New palette: the forest greens give way to sumi ink and ai (indigo) surfaces, washi paper and warm gold tints, with the vermilion seal kept. Contrast is unchanged and every page still passes WCAG AA.
- New type: Shippori Mincho for headings and Zen Kaku Gothic New for text (both SIL OFL, from Japanese type foundries), replacing Inter, Space Grotesk and Georgia. Japanese text keeps the system mincho and gothic.
- Province pictures in the archipelago section lose the dark box behind their labels; the text keeps a soft shadow so it stays readable.
World
- Four new festivals: Tanabata in the Cedar Forest, Obon with bon-odori dancers in the Silvergrass Fields, Shōgatsu in the High Peaks, Setsubun in Blossom Valley. A festival calendar in Journey lets you celebrate any festival now or follow today's date.
- Achievements: 15 titles for journey milestones, kept with your save and every backup.
- Photo challenges: 12 field-guide tasks completed with a photo, such as deer among the maples or a crane on the shore.
- Rowing boats: board at a pier and row between islands with the keyboard, a controller or on-screen oars.
- A daily omikuji at every village shrine. Tie an unlucky slip to the rack.
- Villager friendship: talking and helping with errands unlocks new conversations. Villagers write letters while you're away; read them in the study mailbox.
- Rainbows after rain and firefly nights by the water in early summer. The season can follow the real calendar.
- A calm tea ceremony in the tea house that rewards the Matcha robe.
- Kodama hide in the forest villages, most of all in the Cedar Forest. Stand still among the trees and one may appear.
- Compose a haiku at a village lookout or in photo mode, with 5-7-5 hints and season words. It's kept in your Journal with the view.
- Generative koto and shamisen music that changes with province and hour, with its own level. Listen mode brings wind chimes, garden water and birds forward.
- Slow travel for a second screen: the camera drifts between provinces as the day passes.
- Photo mode adds four film looks, tap-to-focus and time-lapse video (up to 60 s). Print photos as A6 postcards, front and back.
- A village notice board shows what changed in recent releases.
Together
- Leave short lantern notes for other visitors. They are moderated, can be reported and fade after 7 days.
- An opt-in shared photo wall that stores only a small thumbnail with metadata removed.
- Walk together: invite up to 3 friends by link and walk side by side (positions and emotes only).
- Visit a friend's study from their share link as a read-only room.
- A weekly world challenge with an anonymous shared progress bar.
- A public arena leaderboard at /arena/: one vote per pair per day; a model is ranked after 10 votes.
Worktable
- Math renders in messages (KaTeX, loaded only when a message has math).
- Routing presets (cheapest with vision, fastest under a price, best reasoning, long context) pick a model from the live catalog and fall back automatically; each reply says which model answered.
- Compare shows a word-level diff. A branch map shows every version of a conversation.
- Dictate prompts and have replies read aloud.
- An image gallery keeps prompt, model and cost, with download, reuse and delete.
- JSON schema presets, prompt templates with {{variables}}, and CSV batch runs with an approved cost estimate and CSV export.
- Evaluation sets with exact, contains and regex checks and an optional judge model, compared across models in a matrix.
- A 30-day spend chart, and per-session warnings and caps that stop a request before it is sent.
- Slash commands, web search per message with sources, a context meter and automatic summaries of older turns you can see and undo.
- Remote MCP tools over Streamable HTTP, each call approved first.
- Private notes and ratings on models; live provider uptime and latency on model cards; new-model alerts by Web Push.
- Security: rotate the sync code, see linked devices and wipe one remotely; optional passphrase encryption on this device; keep a provider key for the session only; share links that expire or can be revoked.
- Experimental on-device models (WebLLM) for deployments that vendor the runtime.
Accessibility and phones
- A 2D map world view with full keyboard navigation (provinces, villages, ferries, Visit, Journey and stamps), also used when WebGL is unavailable.
- High contrast toggle and Windows forced-colours support across the site, world and map.
- Colourblind-safe map palettes, with a distinct shape for every province.
- Captions for sounds: bells, birds, water, ferries, festival drums, music and more.
- Remappable keys with conflict warnings; comfort settings for field of view, camera bob, calmer camera and snap turning.
- 44 px touch targets and a resting joystick on phones. Installed-app shortcuts (World, Worktable, Journey, 2D map), offline launch into the last province, iOS home-screen and safe-area polish.
- Capacitor scaffolding for future store builds (
native/).
Guides and site
- Comparison pages for 120 model pairs and "best model for…" guides with the ranking method stated.
- Guide pages in Korean, Simplified Chinese and Spanish, with five-language hreflang; visible FAQs with structured data.
- Atom feeds (
/new/feed.atom,/models/feed.atom), embeddable model cards (/embed/model/<slug>/) and a /press/ kit. - Daily price snapshots and a price-history chart on model pages (needs Upstash and
CRON_SECRET). - Homepage model directory filters (provider, input, price, context) and price sort, kept in the URL.
Speed
- The homepage no longer downloads the 3D world until you head for it; hovering "Enter" gets it ready (skipped with Save-Data). Homepage JavaScript is 28 KB compressed.
- Villages draw about half as many objects with up to 70% fewer triangles; distant trees use lighter geometry.
- Guide pages prerender on hover. Smaller site fonts (Inter −26%, Space Grotesk −17%).
- On low battery the world renders at 20 fps.
- Fixed: the production build could pick a lazily loaded chunk as the homepage entry, which pulled the world onto the homepage.
Operations
- Rate limits on sync, arena, lanterns and error/CSP reports, keyed by hashed IP, with accurate Retry-After.
- Error alerts to Slack/Discord, once per distinct error; the daily digest lists the most frequent errors.
/api/healthand a 30-minute uptime check with webhook alerts.- Tagged releases publish the offline
Komorebi.htmlwith release notes from this changelog. Pull requests get Lighthouse scores and a size comparison. - Vendored libraries are checked for licences and recorded with versions and SHA-256 hashes.
- A Report-Only CSP measures a stricter style policy and Trusted Types before enforcing them.
- Privacy-respecting funnel analytics (Do Not Track and GPC honoured; no prompts or personal data).
Quality
npm run test:e2eruns all 34 browser suites under Playwright Test, starting the servers itself; filter with--grep @world,@worktable,@site,@a11yor@delivery.- Property-based tests for sync merging: random diverged worktables converge in either order and never lose a message.
npm run lintfails on import cycles and new unused exports;npm run coveragereports c8 coverage (77.8% of lines).- Type checking now also covers 44 interface modules.
- Visual-regression baselines are kept per platform, so the suite also runs on a laptop.
- New browser suites: companion, worktable bench and security, world play, social, atmosphere, performance, access, low-end Android.
14.0.0 — 29 October 2026
Second batch of fifty improvements (released together with 15.0.0).
- Worktable: more providers and local models (the lab), conversation branches, tools, attachments, an IndexedDB data store, merge-based encrypted sync (Argon2) and a command palette.
- World: daily quests, wildlife, other visitors' presence, crowd rendering, controller and touch play controls, a world clock, new houses and photo extras.
- Delivery: lazy-loaded assets, split CSS, generated share images, size budgets, a Lighthouse configuration, new API routes (arena, presence, new models, CSP reports, report digest), Dependabot and a security policy.
13.0.0 — 29 October 2026
Deployment, performance, workspace and world release.
Hosting and delivery
- Production build (
scripts/build-site.mjs) bundles, minifies and content-hashes code and styles into_k/, served with one-year immutable caching. Assets get week-long caching with background revalidation. - The 3D world and workspace load after the homepage is interactive (or immediately for direct links and the first interaction). Compressed JavaScript fell from about 395 KB to 295 KB.
- Terrain ships as a 1.26 MB binary file with byte-plane compression instead of 2.3 MB of base64 JavaScript.
- Province art has AVIF and phone-sized WebP variants (≈45% smaller on desktop, ≈75% on phones), with an offline fallback in the service worker.
- Security headers: Content Security Policy,
nosniff, referrer and permissions policies. - Styled 404 page;
/world/<province>links open a province directly. - Open Graph and Twitter cards, canonical URL, structured data,
robots.txtand a sitemap. - 132 indexable guide pages: one per province and per model family, each linking into the live world.
- Vercel Web Analytics and Speed Insights scripts (enable them in the Vercel dashboard).
Server functions (api/)
GET /api/catalog: the live OpenRouter model list, cached at the edge.GET|PUT /api/sync/<id>: end-to-end encrypted workspace sync storage (Upstash Redis). The server only stores ciphertext.POST /api/report: browser errors, rejected promises and WebGL context loss, logged to Vercel.
Workspace
- Live catalog notice ("N new models since the bundled snapshot").
- Encrypted cloud sync with a sync code.
- OpenRouter sign-in (OAuth PKCE).
- Share links for conversations, comparisons and expedition results.
- One combined backup for workspace and Journey.
- Prices and context on model cards, and pre-send cost estimates.
- Streaming responses with Stop.
- Blind arena with a local Elo leaderboard.
- Prompt library per province.
- Conversation search and pinned messages.
- Fixed: provider requests failed in real browsers with "Illegal invocation" because
fetchwas called unbound.
World
- Seasonal festivals:
- hanami in Blossom Valley;
- tōrō nagashi on the water around the Tidal Isles;
- tsukimi in the Maple Highlands;
- yuki matsuri in Snow Country.
- Six new villagers with daily routines.
- Ferries on 21 sea lanes, with a "take the ferry" journey.
- Layered soundscapes for each province, with a volume control.
- Drifting rain and snow fronts, and valley fog.
- Trail network linking all 123 villages, with a route planner.
- Discovery rewards: robes, hats, patterns, study furniture and province ink stamps.
- Photo album with share cards.
- Guided first-visit tour.
- Shader warm-up: first entry into a province renders in about 91 ms instead of about 538 ms.
- Automatic graphics level calibrated from measured frame times, with hysteresis.
Quality
- Tests moved to
sekai/tests/. - New tests: API, site output, terrain binary, Japanese localization, workspace extras, world life, world UX, and a WCAG 2.1 AA accessibility audit with axe-core.
- Type checking (
npm run typecheck) covers server functions, build scripts and the app's logic modules. - GitHub Actions run every test on each push.
- A smoke test runs against each Vercel deployment.
- CI runs visual regression on CI-generated baselines.
- Japanese mode covers province texts, the field guide, rewards, the tour and every workspace tool (428 strings plus templated labels).
- Accessibility fixes:
- Journey sections are now a proper tab list with arrow keys;
- workspace evaluation selects have labels;
- the conversation log is reachable by keyboard;
- the empty breadcrumb is hidden.
- Province illustrations renamed after the Japanese provinces (
province-snow-country.webp, …).
12.0.0 — 28 October 2026
The living world: 100 improvements to landmarks, terrain, activities, field guide, errands and walking. See docs/history/v12.md.
11.0.0 — 28 October 2026
World, motion and interface refinement: architecture, foliage, distant forests and roofs. See docs/history/v11.md.
10.0.0
The anime art edition: painted homepage illustrations and province art.
9.0.0 – 9.1.0
The complete website: homepage, province explorer, model directory and previews.
8.0.0 – 8.1.0
Village and interface refinement, smooth zoom transitions. See docs/history/v8.md.
6.0.0
A world to inhabit: Journey, interiors, seasons, photo mode, gamepad and offline edition (50 upgrades). See docs/history/v6.md.