mrkeyoor.com_
Fri 02 Oct 23:09 UTC
Webevaluationupdated 01 Oct 2026

clay-safari review

Clay Safari's documentation is primarily Chinese, with an English summary but no full English setup guide. It is a finished browser-based 3D animal world where children can explore 10 animals, hear Chinese and English names, and collect each discovery in a field guide.

trackingstars / 7d
Verdict

Our Clay Safari run installed 21 packages in 9 seconds and produced a successful build in 10 seconds, making it an unusually approachable 3D code study despite the absent test target. Use it as a finished bilingual activity or as a source-reading exercise in Three.js. Choose a larger engine or framework if you need reusable levels, keyboard-accessible discovery, localization tooling, or a release process with browser tests.

We ran it

Lab card: what happened when we ran clay-safariScreenshot of clay-safari (clay-safari.lanshuagent.com)
Install✓ · 9s21 packages · 87 MB
Build✓ · 10s
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo46 files~2,676 lines of source · 4.9 MB · 0 CI workflows

Answers from our run

Does clay-safari build from source?

Dependencies installed in 9 seconds (21 packages), and the build succeeded in 10 seconds. We cloned commit fadcc85 into a clean Debian container with 3 CPUs and no project-specific setup.

Does clay-safari have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does clay-safari have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use clay-safari?

Teams that need full English contributor documentation: most of the 10,279-byte README, including setup details, is in Chinese.

What are the alternatives to clay-safari?

React Three Fiber, Babylon.js, Godot. Our Clay Safari run installed 21 packages in 9 seconds and produced a successful build in 10 seconds, making it an unusually approachable 3D code study despite the absent test target.

Setup5/521 packages, a 9-second install, and no runtime service or secret
Docs4/5Detailed Chinese guide, but only a brief English summary
Community2/5180 stars with no issue, pull request, or release history
Maturity2/5Finished v0.1.0 experience, but no tests, CI, or releases

Who it’s for

Web developers studying a compact Three.js scene with scripted Blender models and touch controls.
Chinese-speaking educators who want a bilingual animal activity that runs without an application backend.
Designers looking for a working reference for procedural materials, Web Audio effects, pathfinding, and mobile graphics fallbacks.
Tinkerers willing to edit JavaScript modules directly when adding animals or changing the tour.

Who it’s NOT for

Teams that need full English contributor documentation: most of the 10,279-byte README, including setup details, is in Chinese.
Schools that require real animal recordings: the README says all 17 calls and effects are synthesized, while a CC0 recording pack appears only as an unchecked wish.
Projects requiring keyboard-only animal discovery: the README assigns movement to keys, but recognizing an animal is a click or tap action.
Release processes that require automated browser tests and versioned artifacts: the repository has no test target, CI workflow, tests directory, or GitHub release.
Developers on older Node lines: the documented minimum is Node 20.19 or 22.12.

Setup reality

Our sandbox installed commit fadcc85 in 9 seconds, adding 21 npm packages and using 87 MB on disk. The production build succeeded in 10 seconds. There was no test script or target, so tests were skipped; npm audit reported 0 known vulnerabilities at every severity.

Running the checked-in world needs Node 20.19 or 22.12 and no API credential. The 19 exported GLB models are already in public/models, so Blender is optional unless you want to regenerate or change them.

Cloudflare deployment needs an account login plus edits to the Worker name and custom domain. The repo has no Dockerfile, CI workflow, or tests directory, and Web Speech output still depends on voices supplied by the visitor's browser and operating system.

Ten animals form a finished world with no extension API

Clay Safari puts 10 animals and 7 exploration objects into one handcrafted Three.js scene. A child walks or taps around the map, selects an animal, hears its English name, hears a synthesized call, then hears the Chinese name. Discoveries fill a field guide, and finding all 10 triggers a celebration. A robot guide can run the route automatically while A* pathfinding keeps the character out of the river.

This is a small shipped game. The modules separate animal data, world generation, navigation, sound, effects, controls, and the guided tour, but there is no level editor or plugin API. Adding one animal means editing the Blender builder, the item data, animation code, and audio definitions. That makes the repository valuable as readable source. It also means product teams must own a fork rather than configure an off-the-shelf learning platform.

Nineteen checked-in models keep Blender out of the quick start

The repository includes 19 GLB files for the animals, props, explorer, and robot. You need Node 20.19 or 22.12 to run the Vite project, but you do not need Blender just to open the existing world. The README documents a local server on port 5290 and a production preview on port 5291. There are no API keys, databases, or server processes behind the scene.

Blender 5.x enters the picture when you change the figures. One Python script builds the models from rounded primitives and exports them with separate pivot objects for moving parts. The browser then rotates heads, jaws, tails, ears, and wings without a skeletal rig. That workflow is clever and inspectable, yet it assumes the contributor is comfortable crossing between Blender Python and JavaScript. A visual artist cannot add a creature entirely through the browser.

What happened when we ran it

Our fresh Debian sandbox installed commit fadcc85 in 9 seconds on 3 CPUs with 8 GB of RAM and no secrets. Npm added 21 packages, and the installed project occupied 87 MB. The production build completed successfully in 10 seconds. Npm audit reported 0 known vulnerabilities: 0 critical, 0 high, 0 moderate, and 0 low.

The checkout contained 46 files, about 2,676 lines of source, and 4.9 MB on disk. No test script or test target existed, so we skipped tests. Our scan found 0 CI workflow files, no Dockerfile, and no tests directory. The successful build proves that this commit bundles in the measured Node 22 environment. It does not measure frame rate, speech quality, touch behavior, or whether every animal interaction finishes correctly.

Browser speech makes bilingual output device-dependent

The scene carries no recorded audio files. Its 17 animal calls and effects come from oscillators, noise, filters, and wave shaping, while the Web Speech API reads Chinese and English names. This keeps the checked-out project at 4.9 MB and lets it work without an audio CDN. It also hands voice selection and pronunciation to the browser and operating system, so two classroom devices may sound different.

The README lists real CC0 animal recordings as an unchecked idea, along with more languages and a quiz mode. The checklist gives no schedule for any of them. Today, the data entries hold Chinese, pinyin, and English labels. You can add another label field, but proper localization would also need interface copy, speech-language choices, layout checks, and a fallback when the requested device voice is unavailable.

Mobile graphics fallbacks leave keyboard access unfinished

Clay Safari detects coarse pointers or a viewport below 800 pixels and changes its rendering path. Mobile drops bloom, caps pixel density at 1.5, lowers the shadow map, widens the portrait camera, and supplies a virtual joystick. Desktop keeps postprocessing and supports mouse orbit, wheel zoom, WASD movement, a map view, labels, help, and the guided-tour shortcut.

Keyboard movement is present, but object discovery in the README remains click or tap. The full-screen canvas does not expose each of the 10 animals as a focusable control, and the icon buttons depend on title text rather than visible words. A museum kiosk controlled by touch may be fine. A school procurement checklist covering screen readers, switch input, or keyboard-only play will need an HTML interaction layer and deliberate testing.

Cloudflare deployment is simple once the domain is yours

The included Worker configuration serves the built dist directory as static assets. The README pins Wrangler 4.114.0 for login and says forks must change the Worker name and custom domain or remove the route for a workers.dev address. Because there is no application backend, the same output can also sit on another static host that serves the model files with the correct paths.

GitHub showed 180 stars, an MIT license, and 0 open issues or pull requests on October 1, 2026. The last push was September 7, and there are no releases or any issue history to show how maintainers handle reports. Version 0.1.0 is a polished source drop without the history of an established platform. Its strongest use is specific: study the compact scene, adapt the finished activity, and keep ownership of the fork you create.

Alternatives

ProjectWhat it isPick it when
React Three Fiber gh↗A React renderer for Three.js scenes and reusable web interfaces.pick this instead when the 3D experience must live inside a larger React product.
Babylon.js gh↗A browser 3D engine with editors, physics options, and a larger game-development surface.pick this instead when you need an engine and tooling rather than one finished educational scene.
Godot gh↗A full game engine that can export interactive projects to the web and other platforms.pick this instead when desktop or mobile builds and editor-led level creation matter more than a small web stack.

What people are saying

  1. [velocity-scout] cclank/clay-safari

Sources

  1. Clay Safari README
  2. Clay Safari package manifest
  3. Clay Safari browser entry point
  4. Clay Safari repository metadata

More web reviews

Vela · noname · monkeytype · truanayangi · hit-and-run-web · RhineLabUI · the whole board →