Repository navigation
Releases: FishAlchemist/lantern-tide
Release list
Lantern Tide v0.4.0 — The doors open sooner
The island has learned to expect you. Step onto the street and, quietly in the background, the shops ready their rooms — so when you choose one, the door is already open. And on the days the tide runs slow, the light no longer waits frozen: it keeps breathing softly until you're through.
This is a Vibe Code project — made to let a passing idea keep breathing, not to be a flawless codebase. Treat its words as a small light drifting in on the tide, not a source to rely on. The Stillroom is a place to ease the mind, not medical care.
Also available in: Traditional Chinese
The doors open sooner
Before, the first time you stepped into a shop on a cold visit, you might wait a few breaths at the threshold while the room gathered itself. Now the street quietly warms the rooms the moment you arrive, so stepping in is all but instant. Touch a storefront and it lights at once — a small amber glow, so you know the door is opening even before the room appears. And in the tunnel, if the way is slow to clear, the light keeps its gentle breath instead of holding still; you're never left staring at a frozen frame.
Nothing about the ritual changed — the walk in from the tide is as unhurried as ever. It's only the waiting that has gone soft.
A note under the lamp
This is still an early light, lit on a passing thought and kept burning only while it glows. Nothing here is a promise — rooms, words, and small details may still shift from one visit to the next. Take what helps you, and let the rest drift on with the tide.
Links
- Live site: https://fishalchemist.github.io/lantern-tide/
- Source: https://github.com/FishAlchemist/lantern-tide
- Versioning policy: https://github.com/FishAlchemist/lantern-tide/blob/v0.4.0/docs/versioning.md
- License: MIT
Lantern Tide v0.3.0 — A mark in the corner
Every light is lit at some moment, and carries the marks of that moment. Now the island wears one, quietly: up in the corner sits a small version mark — which light you're holding, right now.
This is a Vibe Code project — made to let a passing idea keep breathing, not to be a flawless codebase. Treat its words as a small light drifting in on the tide, not a source to rely on. The Stillroom is a place to ease the mind, not medical care.
Also available in: Traditional Chinese
A mark in the corner
Up in the corner, a faint v0.3.0 now keeps watch. Touch it and it opens a little: the exact build you're standing in — its commit — and a way back to the notes for this very version, the page you're reading now. Nothing you need to mind; just a thread back to where this particular light was lit, there if you ever care to follow it.
A note under the lamp
This is still an early light, lit on a passing thought and kept burning only while it glows. Nothing here is a promise — rooms, words, and small details may still shift from one visit to the next. Take what helps you, and let the rest drift on with the tide.
Links
- Live site: https://fishalchemist.github.io/lantern-tide/
- Source: https://github.com/FishAlchemist/lantern-tide
- Versioning policy: https://github.com/FishAlchemist/lantern-tide/blob/v0.3.0/docs/versioning.md
- License: MIT
Lantern Tide v0.2.0 — Breathe, and settle
A new door opens on the island street: the Stillroom, the warmest room of all, and the one that turns the site's quiet thesis into something you do — "distil the weight of the deep into a flicker of steady light." You sit down by the fire, and you breathe.
This is a Vibe Code project — made to let a passing idea keep breathing, not to be a flawless codebase. Treat its words as a small light drifting in on the tide, not a source to rely on. The Stillroom is a place to ease the mind, not medical care.
Also available in: Traditional Chinese
The Stillroom
Sit, and breathe with the lantern furnace. A soft circle of light swells as you breathe in and settles as you breathe out; the room warms with every out-breath, and a little steady light is distilled into the core and kept. Come back another day and the lamp has dimmed a little while you were out in the tide — so you breathe it back up.
The room leads, and you follow — it is never a test. Instead of asking you to perform, it meets you at an easy pace and, over the first minute, draws the breath gently longer, toward something calm with an unhurried out-breath. When a pace feels right, tap once to keep it. If you would rather not choose at all, just follow the fire down. No holding a button, no counting, no getting it wrong.
And if you already know the breath that suits you, a quiet little menu sits to one side — five paces, from a light, easy breath to a slow, deep one. Move between them and nothing lurches: the circle eases back to rest, waits with you a calm moment, and only then begins again.
Choose your own calm
A small "detailed / simple" switch now travels with you through every room, and it remembers your choice — turn the motion down to a hush once and it stays that way, or keep the full, living version. Either way the Stillroom still breathes with you; under the gentler setting it simply breathes smaller, and stiller.
A note under the lamp
This is still an early light, lit on a passing thought and kept burning only while it glows. Nothing here is a promise — rooms, words, and small details may still shift from one visit to the next. Take what helps you, and let the rest drift on with the tide.
Links
- Live site: https://fishalchemist.github.io/lantern-tide/
- Source: https://github.com/FishAlchemist/lantern-tide
- Versioning policy: https://github.com/FishAlchemist/lantern-tide/blob/v0.2.0/docs/versioning.md
- License: MIT
Lantern Tide v0.1.0 — First light
The first tagged release of Lantern Tide: a quiet, static-first web experience. You arrive at a dark shore, step through a tunnel of warm light, and land on a small island street where a few shops have opened their doors.
This is a Vibe Code project — made to let a passing idea keep breathing, not to be a flawless codebase. The vision and the aesthetic are the floor; everything inside is meant to be reached by a person, not a crawler. Treat its words as a small light drifting in on the tide, not a source to rely on.
Also available in: Traditional Chinese
The experience
- Front door. A static, indexable threshold: a title, a tagline, an Enter button, and a Skip button. It is the one page a cold visitor or a crawler ever sees.
- The tunnel is the loader. Pressing Enter folds a little paper boat and carries it through a tunnel of warm light while the destination loads; the walk ends in a cross-fade, never a hard page cut.
- The street. A small island street is the hub, and the shops open from there. Leaving a shop returns you to the front door to set out again — the destination is a waypoint, not an endpoint.
What's open
- Café · sit a while, think. Fifty pairs of a question and a public-domain quote — Seneca, Marcus Aurelius, Laozi, Su Shi, Rilke, and more — drawn one at a time.
- Library · look it up, fill back up. A curated reading list across five shelves: facing reality and resilience; time and impermanence; stillness, focus and solitude; meaning, work and calling; and more modern voices. Each entry is an outbound link.
- Lookout · the legend. A twelve-beat story of the first lookout and the lamp that has never gone dark, advanced by tap or by keyboard.
- Paper-Boat Shop · fold one, let it go. Name a worry or pick one of eight directions, set the boat on the tide, and let it drift off somewhere unseen.
- A couple of empty storefronts, marked "coming soon."
Languages
- Traditional Chinese (the default, the site's mother tongue) and English, switchable in place — the space re-mounts so its words swap. Adding a language is dropping in one locale file.
Accessibility and motion
- prefers-reduced-motion lands you instantly, with no movement; Skip does the same on demand.
- The one exception: the front door's slow tide and breathing lantern keep moving, gently, even under reduced motion — they are the site's identity, low-amplitude, and not vection. Pressing Enter is an explicit opt-in to full motion for the rest of the session.
- Visible focus rings on every control, keyboard-operable interactions, selectable and copyable library text, and live-region updates for the unfolding story.
Under the hood
- Vite 6 and vanilla TypeScript. No framework runtime and no animation library — a pure static bundle that can be hosted anywhere static.
- Each space is its own lazy chunk, fetched only after you enter, so a cold load or a crawler that does not run JavaScript stops at the front door.
- Path (history) routing under a single base segment, with an SPA
404.htmlfallback that covers deep links on the GitHub Pages project subpath. - Spaces and locales are auto-discovered from the folder layout; adding either needs no router or loader edit.
- Quality gate: strict TypeScript, type-checked ESLint, Stylelint, Prettier, 23 unit tests (Vitest) and 10 end-to-end tests (Playwright). CI runs the gate on every push and pull request, with the static-and-unit checks and the Playwright e2e as parallel jobs; deploys are on-demand by tag and publish only a commit whose gate is green. Third-party Actions are pinned to commit SHAs.
Links
- Live site: https://fishalchemist.github.io/lantern-tide/
- Source: https://github.com/FishAlchemist/lantern-tide
- Versioning policy: https://github.com/FishAlchemist/lantern-tide/blob/v0.1.0/docs/versioning.md
- License: MIT