mcpField
W
web-shader-extractor

web-shader-extractor

github.com/lixiaolin94开发766826 次安装17 周前更新
代码仓库

关于 web-shader-extractor

web-shader-extractor 是用于调查网页着色器与 Canvas 视觉效果并在本地重放的技能。它引导先收集和验证证据,再构建可编辑项目。

主要功能

  1. 01针对 WebGL、WebGPU 和 Canvas 视觉效果
  2. 02通过分阶段门槛推进调查
  3. 03使用源码与运行时证据
  4. 04定义重放和基线验证步骤
  5. 05提供针对平台的参考指南

适用场景

  1. 01在本地重现网页动画背景
  2. 02调查产品着色器或交互场景
  3. 03构建与证据匹配的视觉基线

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lixiaolin94/skills --skill web-shader-extractor

安装后在 Claude Code 中输入/web-shader-extractor确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
capture-backends.md
evidence-policy.md
operating-contract.md
qa-failure-policy.md
recon-kernel.md
replay-policy.md
shaders-com.md
source-analysis.md
surface-discovery.md
target-lock.md
three-shader-reconstruction.md
tool-capability-matrix.md
unicorn-studio.md
scripts/
fetch-rendered-dom.mjs
scan-bundle.sh
templates/
extraction-report.md
known-gaps.md
qa-report.md
replay-manifest.json
run-state.json
scout-card.json

详细介绍

Web Shader 提取器

用于调查 WebGL / WebGPU / Canvas 渲染并在本地重放的索引。 从目标视觉效果入手。锁定表面组。追踪源码或运行时事实。构建可运行的基线。然后再将其整理为项目。

路由约定

此文件是索引,不要将其视为完整操作手册。开始执行任务前,请阅读:

  • references/operating-contract.md
  • references/recon-kernel.md

然后只加载当前状态所需的专项参考资料。 不要将大量证据、捕获内容和生成的输出放入对话中。 将它们存储在用户的输出目录中。

适用场景

  • 提取网页的 WebGL、WebGPU、Canvas2D、OffscreenCanvas、着色器或动画画布效果。
  • 在本地重放动画背景、产品着色器、交互式 WebGL 场景或 Canvas 视觉效果。
  • 先构建与证据匹配的基线,再构建可编辑项目。
  • 调查与目标绑定的着色器/渲染图/时序/资源/输入事实。

不要将其用于普通 DOM/CSS 仿制、静态截图、通用网站复制、无关的 JavaScript 反混淆或产品 UI 重新设计。 仅在任务有着色器/画布目标时使用。

核心规则

  • 先绑定目标,再绑定框架:全局 Three.js、平台或着色器特征,在与目标表面组关联之前都只是一个假设。
  • 探测必须具有区分性:运行探测前,说明它要区分哪些有效假设,以及每种结果会排除什么。与所有候选项都一致的证据较弱;只有一个候选项能预测的证据较强。
  • 先取证,再实现:源码、运行时对象、帧捕获、源码映射和公开的结构化定义,优先于视觉拟合。
  • 不得捏造数值:通过假设状态和 SOURCE/PARTIAL/GUESS 表示置信程度,绝不编造概率或分数。
  • 先建立基线,再整理为项目:绝不为了清理、简化或原生转换而覆盖已验证的基线。
  • 如实标记:实现关键事实必须标为 SOURCE、PARTIAL 或 GUESS;未标记的值一律视为 GUESS。
  • 不得通过调参补偿:不要调整亮度、时间、颜色、偏移量或噪声,以掩盖管线证据缺失。
  • 门控产物是状态转换的保护条件:如果所需产物缺失、不完整,或门控关键字段中含有占位符,则状态尚未推进。
  • 仅在产品范围变更或外部访问/权限受阻时提问。
  • 使用朴素记录:陈述事实、证据路径、当前未知项和下一步操作。避免使用隐喻、宽泛论断和缺乏依据的结论。

状态路由

完整的状态机、分支和门控语义见 references/recon-kernel.md。门控顺序固定:

TARGET_LOCKED 必须先于深入的源码/包分析。 锁定前,只允许执行与 nextProbe 相关的有限源码探测。 REPLAY_READY 必须先于实现。 BASELINE_VERIFIED 必须先于项目化。

参考路由器

仅加载当前状态所需的内容:

需求阅读
全局约定、事实标签、完成状态references/operating-contract.md
内核、初始协议、状态流、自主性、预算references/recon-kernel.md
表面发现与视觉归因references/surface-discovery.md
锁定标准、绑定目标的证据、范围、Three.js 绑定references/target-lock.md
证据标签、台账、未知类别、敏感数据references/evidence-policy.md
工具能力选择references/tool-capability-matrix.md
WebGL、WebGPU 和 Canvas2D 捕获事实references/capture-backends.md
Source map、bundle 切片、配置、编码定义references/source-analysis.md
重放就绪状态、路由、基线、技术栈选择、项目化references/replay-policy.md
QA、故障路由、严重性、不匹配特征references/qa-failure-policy.md
Three.js 着色器注入或 TSL 重建references/three-shader-reconstruction.md
Unicorn Studio 目标references/unicorn-studio.md
shaders.com / TSL 目标references/shaders-com.md

工具与产物策略

工具是可替换的能力,而非前置条件。首先记录可用能力配置:

navigate, runtime-eval, preload-script, network-metadata, network-body,
source-map, canvas-screenshot, interaction, frame-capture-webgl,
frame-capture-webgpu, local-run, multi-frame-compare

仅当 Playwright 已可用时,才将 scripts/fetch-rendered-dom.mjs 用作可选的清单辅助工具。 仅针对绑定目标的 bundle 切片或精确的 nextProbe 使用 scripts/scan-bundle.sh。 脚本输出属于假设性证据,无法单独满足表面归因、目标锁定、重放就绪或 QA 门槛。

将随附模板用作模式,而非自由格式的笔记:

  • templates/scout-card.json
  • templates/replay-manifest.json
  • templates/run-state.json
  • templates/qa-report.md
  • templates/known-gaps.md
  • templates/extraction-report.md

平台适配器

仅在绑定目标的证据指向相应平台后,才加载平台参考资料:

  • Unicorn Studio:references/unicorn-studio.md
  • shaders.com / TSL:references/shaders-com.md
  • Three.js 着色器注入或 TSL:references/three-shader-reconstruction.md

如果没有适用的适配器,请遵循 references/capture-backends.md 中针对通用 WebGL、WebGPU 或 Canvas2D 的捕获方法。

评论

支持 Markdown