LM-37Travel

Tsukikage

A night tour of Japan in autumn, walked through a live moonlit shrine courtyard, with a duel you play.

The live preview runs real 3D in your browser, so on this device it can take longer to appear and scroll less smoothly. The video above shows the full site.

A complete website for Tsukikage, a made-up small-group night tour of Japan in autumn that ends in a filmed duel under a torii. The whole page plays over one live 3D shrine courtyard after rain: wet flagstones with mirror puddles and raindrops, a vermilion torii, a lit shrine hall, stone and paper lanterns, crimson maples shedding leaves, moon shafts through the canopy and drifting fog. Scrolling walks the camera through the gate and up the stone path, rises over the roofs to an ink map of the nine nights from Tokyo to Kyoto, climbs the hall steps to a rack of five swords you can turn and choose, each with its own temper line and effect (moonglow, embers, smoke, lightning, foxfire), and comes down to the pool between two duelists. Then you play: hold, wait for a leaf to fall from the gate, and release the moment it touches the water. Three opponents, decoy leaves, ranks, slow motion on the cut and a result card to share. Below it sit what's included, departures, a price block, a FAQ and an enquiry form with a ready server handler. Sound is synthesised live, and browsers without WebGL get a still courtyard and a 2D duel. For tour operators, travel and experience companies, retreats, classes and any booking site that should feel like being there.

How it's made

  1. One courtyard, one night

    Every section is a camera position in the same moonlit shrine courtyard, so the page reads as one walk from the gate to the duel rather than a stack of panels. A camera script of cues, each with its own phone framing, moves through it as you scroll.

  2. Wet stone that mirrors

    The flagstones carry a height field, so rain collects in the low parts with real shorelines. Puddles mirror the torii, the lanterns and the maples through a planar reflection pass, broken by ripples and a raindrop every few seconds.

  3. Light in the air

    The scene renders in HDR with raymarched moonlight through the moon's shadow map, shafts through the canopy, god rays from the disc, height fog, bloom and depth of field, then a Night Ink grade: cool shadows, warm lantern highlights.

  4. Five blades from one table

    Each sword's steel, temper line, guard, handle wrap and scabbard are built from a few numbers, with its own effect: moonglow, leaf embers, smoke, lightning or foxfire. Change a colour in the table and the sword itself changes.

  5. A duel with an honest clock

    The game is a pure state machine with scripted tests. Reaction time is measured from the first frame that draws the leaf on the water, so the number on the result card is the reaction the visitor really had.

  6. Textures from nine images

    Nine images generated for the kit (flagstone, lacquer, cedar, roof tiles, stone, bark, two leaf atlases and a mountain backdrop) became full material sets in code: height, normals, roughness and occlusion, with half-size copies for phones.

  7. Fast on phones, safe without WebGL

    Desktop starts on the high tier and phones on medium, and a governor steps down when frames run long. Without WebGL 2, a still courtyard and a 2D duel take over and every section and the form still work.

In this kit

  • src/

    Full source. The complete site as its own project, ready to run.

  • public/

    Media and assets. The images, clips, textures and icons the page loads.

  • bench/

  • scripts/

  • server/

  • index.html

  • package.json

  • package-lock.json

  • vite.config.ts

  • tailwind.config.js

  • postcss.config.js

  • tsconfig.json

  • vercel.json

  • .env.example

  • README.md

    Start here. What's inside and how to run it.

  • CHANGES.md

    Changelog. What changed in each version of the kit.

  • HOW-IT-WAS-MADE.md

    How it was made. The build step by step, and a recipe to make your own.

  • ADAPT.md

    Adaptation prompt. Fits the kit to your client's brand in an AI builder.

  • RESKIN.md

    Re-skin guide. Colors, type, copy and media, changed file by file.

  • PROVENANCE.md

    Provenance. Where every model, texture and image came from.

  • THIRD_PARTY.md

    Open-source credits. Every library and font inside, with its license.

  • LICENSE.md

    Commercial license. Unlimited client projects, one person per license, no resale.

See a real zip, opened

Specs

Stack
Vite 8.3 · React 18.3 · TypeScript 5.9 · Tailwind CSS 3.4 · three.js 0.186 · Lenis 1.3 · Framer Motion 11 · GLSL shaders (HDR bloom and god rays) · Volumetric moonlight and depth of field · Night Ink colour grade · WebAudio (sound synthesised live) · Self-hosted fonts (Shippori Mincho B1 / Zen Kaku Gothic New / IBM Plex Mono)
File size
8.4 MB
Triangles
459,620
Browser
Needs WebGL 2 with float render targets for the live courtyard: current Chrome, Edge, Firefox and Safari on desktop and phones. Desktop starts on the high tier and phones on medium with half-size textures; a governor steps down when frames run long. Without WebGL 2, or if the world can't start, a still courtyard and a 2D duel take over and every section and the form still work. Reduced motion turns off the rails, the slow motion and the camera shake. Tested in headless Chromium with software rendering at 1440 x 900 and 390 x 844: no errors, no failed requests, no sideways scroll. Not yet tested on a real GPU, in Safari or Firefox, or on real phones.
Released
Oct 2026
Version
1.0.1

From download to client site

  1. Buy it, or get it with a plan

    Buy this kit on its own, or get every kit in the collection with a plan.

  2. Download the zip

    It shows up in your library as soon as payment goes through. Up to 10 downloads a day, and each link works for 10 minutes.

  3. Run it

    Unzip it, run npm install, then npm run dev to open the site on your machine. You need Node.js 20 or newer. The README says how to build it for any host.

    npm install && npm run dev
  4. Make it your client's

    Hand ADAPT.md to your AI builder (Claude, ChatGPT or Cursor) with the client's brief, or follow RESKIN.md to change colors, type, copy and media by hand. HOW-IT-WAS-MADE.md shows how to build their product the same way.

Unlimited client projects, one person per license, no resale. Read the license

Built in code: the torii, the shrine hall, the lanterns, the maples, the two duelists and the five blades are three.js geometry with no model files. The surface textures started as nine images generated for this kit with an image model and were turned into full material sets in code. The sound is synthesised live; there are no audio, video or photo files. The fonts are self-hosted under the SIL Open Font License, and the libraries are listed in THIRD_PARTY.md. Written with an AI coding assistant (Claude Code) under Parallel's direction. The tour operator, dates, prices, venues and instructors are placeholders, and every sword is described as a blunt stage-combat replica, never sharpened.

Buy LM-37 Tsukikage

Single kit

Price: $59once

By buying you agree to the Terms and License.

Included with Monthly, Annual and Lifetime.