文档
自由实验与运行时 API
自由实验
“自由实验”页提供三个模板:Three.js 场景、WebGL 2 全屏着色器、WebGPU 三角形。写好后按 ⌘/Ctrl + S 保存为代码片段,之后可以在“我的实验室”里打开、重命名或删除。示例页里的修改同样可以保存为片段;未保存的修改会作为草稿保留在本机。
沙箱
代码运行在一个隔离的 iframe 沙箱中(无法访问本站的登录状态和数据),以 ES 模块执行,支持顶层 await。每次运行都会创建全新的页面,所以不需要手动清理。
可用的导入
js
import * as THREE from "three";
import * as WEBGPU from "three/webgpu";
import { color, time } from "three/tsl";
import { OrbitControls } from "three/addons/controls/OrbitControls.js";
import GUI from "three/addons/libs/lil-gui.module.min.js";three.js 从本站本地提供(无需外网),版本与示例一致。
PG 全局对象
PG.canvas:已铺满预览区的<canvas>,直接用它创建 WebGL / WebGPU 上下文。PG.status(text):在画面左下角显示一行文字,适合输出计时、结果或提示。console.log / warn / error:输出到“控制台”标签,错误会在标签上显示红色计数。
暂停与帧率
工具栏的暂停按钮(快捷键 P)会冻结所有 requestAnimationFrame 回调;右上角状态胶囊显示实时帧率。