@crapthings/run3d

中文文档
0.2.19发布于 2026/11/08MITES Module零依赖近 30 天下载 2199

From idea to interactive 3D prototype in one command. A JavaScript starter with Vite, React Three Fiber, and tools for creative experimentation.

原始使用文档
文档目录9 节
  1. Usage
  2. Languages
  3. Included tools
  4. App foundation
  5. 3D scenes
  6. Data and state
  7. Interface
  8. Worlds and movement
  9. Media

run3d

Create a 3D project in one command. The starter scene recreates the run3d icon with a green cube and speed lines, ready to edit.

As models like GPT-6 Astra grow more capable at building 3D experiences, the distance from an idea to a working prototype keeps shrinking. I have new ideas every day, and I want to spend that energy creating. run3d brings my go-to tools for brainstorming and experimentation into one ready-to-use starter, so I can jump straight into building, testing ideas, and discovering what works.

Usage

Requires Node.js >=24 and pnpm.

npx @crapthings/run3d my-project
cd my-project
pnpm dev

Edit the components in src/scenes to make the starter scene your own. To install dependencies later, add --skip-install to the first command.

Drag to orbit the scene, scroll to zoom, and right-drag to pan. Edit src/scenes/index.jsx for the scene and its settings.

Languages

The template initializes react-i18next in src/i18n.js, with English and Chinese resources in src/locales. It detects the browser language, falls back to English, and remembers language changes in local storage. The document's lang attribute follows the active language.

Use const { t, i18n } = useTranslation() from react-i18next in components, render text with t('scene.label'), and switch languages with i18n.changeLanguage('zh') or i18n.changeLanguage('en'). Add new translation keys to both JSON files; register additional languages in src/i18n.js.

Included tools

Ordered by importance to the starter and typical usage, with core tools first and specialized tools later.

App foundation

3D scenes

Data and state

  • Zustand — manages React app state.
  • Koota — manages game state with entities and components.
  • D3 — provides data scales, layouts, and visualizations.
  • p5.js — creates interactive graphics and creative coding sketches.

Interface

Worlds and movement

Media

  • Howler.js — plays audio with volume controls, sound sprites, and 3D spatial sound.
  • Mediabunny — reads, writes, and converts audio and video files in the browser.
  • Elementary — creates declarative audio DSP graphs with @elemaudio/core and runs them in the browser with @elemaudio/web-renderer.

版本与发布记录

@crapthings/run3d 共发布 21 个版本,首次发布于 2026/09/15;过去 12 个月发布了 21 个版本。

版本发布日期距今
0.2.19latest2026/11/082 天前
0.2.182026/11/037 天前
0.2.172026/11/0110 天前
0.2.162026/10/2715 天前
0.2.142026/10/2715 天前
0.2.132026/10/2715 天前

关于 @crapthings/run3d 的常见问题

@crapthings/run3d 是什么?

From idea to interactive 3D prototype in one command. A JavaScript starter with Vite, React Three Fiber, and tools for creative experimentation.

如何安装 @crapthings/run3d?

在项目目录运行 npm install @crapthings/run3d,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 run3d,可以用 npx run3d 直接运行。

@crapthings/run3d 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/crapthings__run3d 是否存在。

@crapthings/run3d 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@crapthings/run3d 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@crapthings/run3d 可以商用吗?

@crapthings/run3d 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@crapthings/run3d 的下载量有多少?

根据 npm 官方下载统计,@crapthings/run3d 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,199 次,日均约 73 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@crapthings/run3d 还在维护吗?

最新版本 0.2.19 发布于 2026/11/08(2 天前);至今共发布 21 个版本,其中过去 12 个月发布了 21 个;首次发布于 2026/09/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。