关于 threejs-choose-skills
面向 Three.js r185 WebGPU、TSL 和节点材质工作的路由技能。它帮助开发者明确可观察需求、选择负责各成因的技能、闭合系统交接,并验证组合结果。
主要功能
- 01定义可观察契约与验收界限
- 02为目标结果分配成因所有者
- 03梳理系统依赖与交接
- 04明确资源和输出归属
- 05以证据验证组合方案
适用场景
- 01为多系统 Three.js 场景选择技能
- 02找出目标效果缺少的负责方
- 03规划共享渲染资源与通道顺序
- 04将定量或时序工作导向验证
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ linegel/ threejs-complete-set-of-skill --skill threejs-choose-skills安装后在 Claude Code 中输入/threejs-choose-skills确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEagents/openai.yamlreferences/composed-route-performance.mdcross-system-handoffs.mdprojected-error-contract.mdrouter-recipes.md详细介绍
路由 Three.js WebGPU/TSL 工作
适用于 Three.js r185 的路由,使用来自 three/webgpu 的 WebGPURenderer、来自
three/tsl 的 TSL,以及节点材质。已安装的软件包和已初始化的渲染器是 API、后端、附件限制和计时支持的权威依据。
四步路由
1. 明确约定
记录已安装的修订版本和已初始化的后端。然后说明:
- 主要可观测量,以及其约定属于度量、身份、物理合理性还是感知;
- 权威输入、单位、坐标系、尺度、拓扑、时间行为、目标视图和交互方式;
- 每个适用部署目标,以及误差、延迟、帧时间和峰值实时内存的可检查上限;
- 任何比较或重放所需的可复现种子、输入轨迹或相机路径。
将缺少的权威输入视为明确的缺口。规范性声明要求已初始化 WebGPU 后端。只有用户明确询问如何应用回退方案时,才讲解路由兼容性。
当路由涉及帧时间、延迟、峰值实时内存、自适应质量或持续性能时,请先阅读 composed-route-performance.md, 再确定这些上限。
完成标准: 请求的结果、权威依据以及每个适用目标和验收上限均明确且彼此一致。
2. 选择因果负责人
找出最早缺失的原因:数据/拓扑、几何体、场、材质、照明、传输体积、运动、相机/投影或图像变换。如果仍有多个可行机制,则比较复杂度最低的候选方案,并说明排除每个落选方案的证据。为最早缺失的原因指定一个主要负责人,然后只添加负责请求原因、必需输入或验证方法的技能。
当 LOD、细分、伪像、场带或模拟范围取决于屏幕误差时,请在选择表示方式前阅读 projected-error-contract.md。
完成标准: 每个请求的可观测量都有一个负责人或明确的缺口,且每项已选技能都至少负责一项必要内容。
3. 明确交接和呈现负责人
当所选系统交换物理状态、事件或 GPU 资源时,请阅读 cross-system-handoffs.md,并在实现前完成所有适用行的交接。
明确每个生产者、消费者、版本、执行顺序、生命周期和失效规则。只有在指定消费者需要时,才分配深度、法线、速度、标识符、历史记录或 MRT 附件。如果共享的 RenderPipeline 已公开所需信号,则复用一次场景渲染。
为每个呈现目标指定一个最终输出负责人。选择且仅选择一种输出转换方式:
- 使用场景线性的
outputNode,并设置outputColorTransform = true;或 - 显式调用
renderOutput(...),并设置outputColorTransform = false。
更改 outputNode 或 outputColorTransform 后,设置 renderPipeline.needsUpdate = true。按语义信号、视图、编码、分辨率、抖动、节奏和重置策略为时间状态设置键。
完成标准: 每条跨系统边都完成所有适用的交接行;每项已分配资源都有消费者;每个目标都只有一条色调映射/输出路径。
4. 验证组合后的路线
首先验证不添加后处理或采用最少机制的基线,然后检查场、几何、材质、深度、速度、历史记录和输出诊断,以证明所选原因。对于可能被看似合理的图像掩盖的机制断连情况,请使用变更或禁用控件。在目标矩阵上测量完整合成结果,并将无法获取的证据标记为 unmeasurable。
仅当所列多系统工作负载与请求匹配时,才阅读 router-recipes.md;应调整其中的归属模式,而不要将其视为预设。只要路线涉及定量、时间、适应性、计算或持续性能方面的声明,就添加 $threejs-visual-validation。
**完成条件:**每项验收边界都有来自组合路线的直接证据,或者已缩小不受支持的声明范围并予以报告。
已安装技能的边界
将目标映射与实际安装的技能取交集。报告缺失的归属方;在提供归属方之前,不要将其请求的原因纳入实现。
目标映射
| 触发条件 | 加载 | 边界 |
|---|---|---|
| 接触尺度遮蔽、GTAO、弯曲法线或双边 AO 重建 | $threejs-ambient-contact-shading | 需要自有深度和尺度;法线视情况而定。保留定量颜色语义。 |
| 弯曲光线、黑洞、虫洞或吸积输运 | $threejs-black-holes-and-space-effects | 输运机制通过验证后,辉光和调色才使用其 HDR 结果。 |
| 全帧或选择性 HDR 泛光 | $threejs-bloom | 需要经过验证的 HDR 发光和曝光;泛光不会赋予发光含义。 |
| 投影、环绕/自由导航、取景、浮动原点或控制权交接 | $threejs-camera-controls-and-rigs | 负责相机策略和重置信号,不负责主体运动。 |
| 针对不可用 WebGPU 后端的明确教学 | $threejs-compatibility-fallbacks | 仅在识别出规范的 WebGPU 所属技能后,为用户请求的后备方案教学加载。 |
| 可复现的运行时/API 故障、源码与文档不一致、回归或升级问题排查 | $threejs-debugging | 仅在隔离故障机制需要时,才添加领域技能。 |
| 持续的屏幕空间霜冻、清除、模糊或历史遮罩 | $threejs-dynamic-surface-effects | 负责屏幕空间历史表面;世界/物体天气归其领域所属技能负责。 |
| 曝光、色调映射、LUT 调色和显示转换 | $threejs-exposure-color-grading | 定量显示可能需要固定传递函数;输出转换只能由一个技能独占负责。 |
| 共享通道信号、MRT、历史、排序和最终呈现 | $threejs-image-pipeline | 为共享所有权应尽早加载,为组装应较晚加载;它不负责弥补缺失的场景成因。 |
| 参考图可行性分析、分解或代码原生对象重建 | $threejs-object-sculptor | 摄影测量、精确网格提取和导入资源制作不在此技能范围内。 |
| 粒子、轨迹、事件层、等离子体或冲击波 | $threejs-particles-trails-and-effects | 物体变换归运动技能负责;稳定的应用/数据标识仍是权威来源。 |
| 程序化建筑、立面、屋顶、装饰或城市规则 | $threejs-procedural-buildings-and-cities | 导入的 BIM/AEC 表示和源资源准备仍由外部负责。 |
| 程序化动物、生成身体、骨架、运动或人群 | $threejs-procedural-creatures | 导入的蒙皮资源管线仍由外部负责。 |
| 可复用标量/向量场、因果遮罩、域扭曲或派生法线 | $threejs-procedural-fields | 实测科学数据在其数据层中保持权威。 |
| 生成的顶点、索引、轮廓、轨道、拓扑、UV 或材质组 | $threejs-procedural-geometry | CAD/glTF 导入、网格修复、压缩和通用资源优化仍由外部负责。 |
| BRDF 身份、滤波图案/图集、帧场、语义表面遮罩或镜面抗锯齿 | $threejs-procedural-materials | 几何负责轮廓;场负责共享的因果遮罩。 |
| 编写的变换阶段、旋转坐标系、弹簧、运动学或解析运动 | $threejs-procedural-motion-systems | 实时数据插值留在应用数据层中。 |
| 球形天体、行星地平线/精度、陨石坑、生物群系或球形 LOD | $threejs-procedural-planets | 局部平面地形归场和几何技能负责。 |
| 植物生长、分布、异速生长、根系、树冠或根系风效 | $threejs-procedural-vegetation | 地形/支撑场和环境驱动因素由各自的权威来源负责。 |
| 雨雪输运、受体累积、湿润度、水坑或飞溅 | $threejs-rain-snow-and-wet-surfaces | 使用提供的环境驱动因素;气象状态合成仍是缺口。 |
| 动态、级联、平铺覆盖或缓存式实时阴影 | $threejs-scalable-real-time-shadows | 从普通光照阴影开始;仅在有经过测量的覆盖/失效需求时才增加复杂度。 |
| 天空散射、大气层壳、空中透视或薄雾 | $threejs-sky-atmosphere-and-haze | 图像技能负责最终曝光/输出,不负责辐射输运。 |
| 跨波段、延伸至地平线尺度的均匀定向海洋 | $threejs-spectral-ocean | 周期性深海/开阔水域止于由水体光学技能负责的海岸边界。 |
| 确定性捕获、诊断、扫描、时间检查、预算或回归证据 | $threejs-visual-validation | 只有实际检查所需产物和控制项后,报告才构成证据。 |
| 体积云密度、照明、输运、平流或云影 | $threejs-volumetric-clouds | 使用环境驱动因素;通用体积渲染和气象仍是缺口。 |
| 解析式、有界或沿海水体、海岸变换、涟漪、焦散、折射或吸收 | $threejs-water-optics | 开阔水域光谱归光谱海洋技能负责;选择能够保留可观测量的最简求解器。 |
明确缺口
除非项目提供相关所有者,否则以下事项不纳入公共技能集:
| 请求 | 所属边界 |
|---|---|
| glTF/CAD/BIM/科学数据导入、网格修复、UV 烘焙、压缩和源资产 LOD | 项目资产/数据管线和官方 Three.js 工具。 |
| 通用光照设计、影棚 IBL/PMREM、反射探针和立方体捕获 | 项目光照负责人和官方 Three.js 指南。 |
| 通用体渲染、点云/八叉树流式传输、图布局和张量可视化 | 专用领域实现。 |
| 实时传输、数据库、遥测架构和插值服务 | 应用数据层。 |
| 拾取、选择、注释、DOM UI 和无障碍功能 | 应用交互/UI 层。 |
| WebXR | 官方 Three.js/WebXR 指南或专用技能。 |
| 物理引擎选择和引擎内部模拟 | 所提供的引擎或领域求解器。仅路由已声明的 Three.js 使用方;不受支持的耦合通道须明确列为缺口。 |
| 气象状态合成 | 所提供的环境协调器。天气和云技能使用其状态。 |
| 框架、部署、编辑器和通用应用架构 | 项目规范。 |
路由结果
返回如下形式的精简结果;仅包含请求用到的字段:
route:
backend: { required: WebGPU, installedRevision: "", actualBackend: "" }
contract: { observable: "", truth: "", units: "", frame: "", bounds: [] }
primaryOwner: ""
selected: []
deferred: []
gaps: []
handoffs: []
resources: []
passes: []
output: { owner: "", toneMap: "", conversion: "" }
verification: []
status: provisional | proven | blocked | unmeasurable
selected 应精简;deferred 应指出每项技能在什么条件下才有必要。每次交接都必须在 cross-system-handoffs.md 中补全适用的数量/单位、坐标系、时间、权威来源/版本、有效性/错误、顺序、生命周期和重置各项。每项资源都须注明其格式、物理范围、生命周期和使用方。verification 应测试所选原因,而不只是判断图像是否合理。
当每个请求的可观测量或约束都恰好归属一项技能或被明确列为缺口、每项已选技能至少负责一项内容、每项跨技能依赖都补全所有适用的交接项,并且每个验证点都测试所选原因时,路由才算完成。