ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

HyperFrames 组件质量门槛(Component Quality Bar):从缺陷证据到可复现的注册表审计标准

HyperFrames 组件质量门槛(Component Quality Bar):从缺陷证据到可复现的注册表审计标准 HyperFrames 组件质量门槛Component Quality Bar从缺陷证据到可复现的注册表审计标准【免费下载链接】hyperframesWrite HTML. Render video. Built for agents.项目地址: https://gitcode.com/GitHub_Trending/hy/hyperframes本文是 HyperFrames 注册表registry贡献流程的核心质量标准说明完整解读仓库内skills/hyperframes-registry/references/component-quality-bar.md中定义的审计规则一个目录组件catalog component凭什么可以发布、凭什么会被砍掉以及多人并行审计时如何得出相同结论。读完本文你将掌握两遍式审计流程机械 pass 视觉 pass、F1–F5 致命缺陷与 X1–X8 可修复缺陷的判定标准、重复项的存活规则、豁免条款N1–N7以及可直接抄用的逐项核对清单能够在自己的注册表评审中给出有证据、可复现的裁定。一句话规则安装文件才是产品在 HyperFrames 中注册表项registry item分为两类block是独立子合成有自己的尺寸、时长和时间线以data-composition-src挂载进宿主合成component是效果片段无独立尺寸直接粘贴进宿主 HTML。注册表项是作者安装进自己合成并最终发布出去的运动原语motion primitive。目录页面是营销安装到本地的文件才是产品。因此质量门槛文档规定了一条铁律评估对象永远是该项目自身的name.html单独挂载mounted alone时的表现而不是demo.html也不是目录页面——因为这两者都携带了作者实际上拿不到的脚手架。对应到仓库结构被评估的文件就是 registry/blocks/ 与 registry/components/ 下每个子目录里的主 HTML 文件例如 registry/blocks/bar-chart-race/bar-chart-race.html。而demo.htmlcomponent 才有只服务于两个目的CI 预览管线用它生成缩略图和预览视频以及作为使用参考——它不会被hyperframes add安装详见 demo-html-pattern.md。**The one rule唯一规则**全文如下一个项目只有在「作者安装的文件单独挂载在它为之设计的地面上渲染出它名字承诺的主题、并按描述的方式运动」时才配得上存在。任何无法满足这一点、又无法被修成其他项目尚未实现之物的东西都会被砍掉。这条规则本身就是审计的宪法一切标准均源于真实缺陷而非审美偏好。审计如何运行两遍式流程与挂载台架审计分两遍顺序固定。机械 pass 几乎零成本可在数秒内扫过所有项目视觉 pass 消耗浏览器与人的眼睛只花在机械 pass 无法裁决的项目上。机械信号永远是候选candidate不是裁决verdict。Pass成本裁决范围Mechanicalgrep 与哈希重复项、缺失时间线、禁用色值、空标记、名称缺口、无界变量Visual渲染与目检是否能渲染、是否实现了描述、是否清晰可读、是否确定性文档特别强调hyperframes check不是视觉闸门——它会让渲染出空画面的合成通过空渲染是合法渲染不产生错误、警告或布局发现。任何标准都不得单独依赖check。这与贡献流程中hyperframes check --no-contrast0 控制台错误的验证步骤互补后者只是构建期下限见 contributing.md。挂载台架The mount harness一个正常工作的项目可能因为台架搭错而得到假裁决这三种错误全部是台架的错两种形态、两种挂载方式。去掉 HTML 注释后若文件含data-composition-id它是子合成须用data-composition-src./name.html挂到 clip 上若不含它是 snippet直接内联进classclip的 div。把子合成内联会形成「文档套文档」渲染成纯黑——看起来和死项目一模一样。使用项目自己的地面。取走其demo.htmlbody 规则的背景。一个墨色默认#18181b的 snippet在自己#f7f7f8的地面上是 16:1 的大标题在深色舞台上却是不可见的 1.5:1 污点。舞台不是证据。加载 GSAP 并注册一个暂停的根时间线然后用hyperframes snapshot . --at 0.05,1.2,2.5,4.0 --no-end截图并阅读 contact sheet快照帧联系表由 CLI 捕获管线生成见 packages/cli/src/capture/contactSheet.ts。另外一条算术规则项目自身data-duration短于台架时长时末几帧必然空白——这是算术不是缺陷。致命缺陷Fatal直接砍掉Fatal 意味着缺陷底下没有任何值得保留的东西要么不重写一个完全不同的项目就无法修复要么修出来的东西目录里已经存在。必须引用具名证据没有证据的致命裁决无效。F1 未实现自己的描述。标记中找不到该项目名称与描述所承诺的主题物。不是「渲染得差」而是「文件里压根没有这个东西」。文档举的实例是ecosystem-constellation、hero-device-assemble和terminal-to-browser-deploy实为同一文件只是空卡片 div 配了不同标题。自查方法读完标记后把名称换成任何其他项目的名称——如果文件里什么都不用改说明名字只是贴在通用外壳上的标签。证据具名主题没有任何元素星座里没有节点、终端部署里没有终端。F2 冗余重复。与另一个存活项目同时共享运动指纹motion fingerprint和标记骨架markup skeleton。指纹是去掉选择器后的 gsap 调用列表保留 props、时长与 ease骨架是剥离 class 与文本后的标签序列。文档记录一种 wipe 目前以相同 props、时长、easing 发布了 8 次一种 word-stagger 发布了 7 次。证据两个哈希都与兄弟项匹配且兄弟项按下方 tie-break 规则胜出。F3 渲染不出任何东西。帧全空白或具名主题从未出现且项目已在自身地面、按 recipe 正确挂载。证据四帧全空 成因缺失兄弟资产、控制台ReferenceError、主题从未进入视口。帧捕获工件实时渲染正常属误报须在真实页面确认后再记录。F4 描述说的是另一个项目。帧显示承诺的事件从未发生wipe 从不揭开第二面板、图表从不绘制系列。这不是措辞差异。F5 无法被做成可定位seekable。第 N 帧确实依赖第 N-1 帧没有闭式解也没有有界回放且做成可定位会变成另一种效果。极罕见——大多数累加器都有平凡改写只有确认没有改写时才动用此条用种子化、索引派生的替换Math.random()是 X7不是 F5。证据同一时间戳经不同 seek 路径到达的两张快照不一致。可修复缺陷Fixable保留并修复真实缺陷但项目有别的项目覆盖不了的存在理由且修复有界。必须记录具体修复方案绝不允许写「需要打磨」。X1 没有自己的时间线。没有__timelines注册导致安装后的工件渲染为静止帧而目录页看起来正常——因为生成器把 demo 的时间线移植进了预览。文档量化213 个新组件中有 97 个处于此状态。修复把末尾Timeline integration:recipe 折叠进一个真正的script构建暂停时间线并注册单元素项目约需 10–15 分钟。仅在没有任何可折叠的运动通常同时是 F1时才升级为致命。X2 名称声称了代码没有的技术。只 grep 代码区域绝不 grep 文档头——头部的散文充满你正在找的词语会给没有该技术的项目报匹配。判定表名称模式必须包含spring-*elastic、back.、bounce或自定义 spring easemask-*、*-mask*mask或clip-pathfrosted*、*glass*backdrop-filter*3d*、*depth*、*orbit*、*camera*perspective、rotateX、rotateY、translateZ*-draw、*-trace、*stroke*stroke-dash或pathLength修复补上技术或重命名——重命名往往是诚实的修复。X3 不可读。在 1920×1080 自身地面上文本低于 4.5:1或主题最小有意义特征小于约 24px。修复按 placeholder-material.md 做一步值调整文本永不落到 L1 以下。X4 占位渐变。用紫蓝调色板充当内容的占位。修复单色色阶。目录已整体完成新出现即回归而非历史缺陷。X5 硬编码墨色、无主题 token。项目自身文本或主题上出现字面量颜色且无var(--...)回退链作者放到相反主题上就会消失。修复经主题 token 路由字面量作回退。X6 没有自己的标记。文件只有style和script挂载即空盒。修复自带示例标记或在registry-item.json中声明为 attachment snippet 并给 demo 一个宿主元素。X7 未种子化随机。散点来自Math.random()而非元素索引。修复改为由索引派生。贡献规范中 VFX 块要求使用mulberry32种子化 PRNG正是为规避本条见 templates.md。X8 声明了兑现不了的边界。数字变量没有min/max控件给出项目表达不了的值或默认值永远无法回归。修复声明真实边界或用数字字段替代滑块。反例可对照 registry/blocks/bar-chart-race/registry-item.json其barCount声明min: 3, max: 12, step: 1、periodDuration声明min: 0.4, max: 6都是有界可兑现的正面示例。重复项谁存活一个 group 共享 F2 两个哈希的项目集合。恰好存活一个按序裁决名称真正描述共享运动者优先。一个 directional wipe 被其余成员借用则保留 directional wipe。其次是有主题专属标记者。更多「只对该名称有意义」的元素而不是更多元素。再其次是已在origin/main上的。移除已发布项目会破坏安装。绝不保留名称声称了共享实现没做的事的成员。frosted-glass-wipe没有backdrop-filterspring-scale-in没有 springmask-reveal-up没有 mask——三者都不是幸存者。此类成员同时是 F2 和 X2而 X2 无法在不破坏 group 的前提下修复。若所有成员都不诚实保留最朴素的名字。若 group 内每个成员都过不了 F1整个 group 全部砍掉。不要为了软化计数而保留幸存者——十二个名字贴在一个空卡片外壳上是同一个坏项目保留其中一个等于保留了坏项目。同运动、真不同主题不算重复柱状图、折线图和仪表盘填充可以共享一个 stagger——主题才是项目。永不砍Never cut豁免条款豁免是逐条的不是 blanket 保护——受保护项目仍需回答其他所有行。N1 承重颜色仅豁免 X4。chromatic-aberration-wipeRGB 分离就是效果本身、confetti多色即庆祝、matrix-decode绿色即身份、mesh-gradient-bg渐变即主题、multi-device-splayus-map的渐变是序数 choropleth 色阶属于承载数据的颜色。N2 真实产品描绘豁免 X4 与 F1。Figma mock 里的 Figma logo 不是垃圾logo-brand-close中的 HyperFrames 字标就是主题。评判占位内容而非被描绘的产品。N3 刻意静止豁免 X1。描述不承诺运动的项目不违反 X1样式片段或被动 overlay 允许静止。N4 环境组豁免 F3。作为背景而非镜头的项目不因平静而违反 F3。帧间 PSNR 可区分二者环境组 45 或更高真正在跑的东西为 17–24。对照描述评判。N5 静止态即 recipe 的from态豁免 F3。confetti发布的.particlespan 停在 opacity 0直到时间线将其扇出。静止不等于死亡。N6 附件片段豁免 F3。文本切分器按设计没有标记按 X6 定级。N7 已在origin/main上的 36 个项目不在审计范围内。机械首轮 pass 信号表信号方法映射到无时间线对每个合成grep -L __timelinesX1重复运动指纹 标记骨架哈希两两比对F2空外壳标记骨架匹配无关项目或仅有h3p 通用面板F1完全无标记剥除注释/style/script 后元素数为 0X6占位调色板grep 六个禁用色值#7c3aed、#2563eb、#6366f1、#8b5cf6、#a855f7、#4f46e5X4名称缺口仅对代码区域 grep X2 表X2无界数字读registry-item.json的min/maxX8非确定性grepMath.random、Date.now、performance.now、requestAnimationFrameX7, F5视觉 pass裁决必需从合成而非 demo渲染跨时长的至少四帧按上述台架规则挂载然后看。任何未得全绿的项目记录前须在真实目录页确认。逐项记录失败的条目、所见证据、致命或可修复。未经查看的项目不算通过。校准规则被真实帧修正十项用本评分表评分、渲染并查看帧其中三项修正了评分表本身而非反过来项目预期帧实际显示裁决ecosystem-constellationfatal侧栏三个胶囊按钮 三个空白白面板无节点无边四个时间戳完全一致CutF1, F2, F4terminal-to-browser-deployfatal与上者像素级一致仅h3与一个副标题不同无终端无浏览器CutF1, F2, F4frosted-glass-wipefatal一张「Before」卡片永远静止「After」面板保持裁剪recipe 与directional-wipe逐字节一致CutF2, F4, X2char-slam-explodepass0.05s 字母散落1.2s 组装成「Impact」并保持真实逐字符运动Keepecho-trailpass卡片从左到右运动身后拖衰减模糊回声尾迹在自身浅色地面上可读Keeplogo-brand-closepass「H」解析为完整字标标语与 URL 随后落地有调度、可读Keepblur-inborderline静止但该静止是正确的静止态可读标题、唯一实现、主题 token 墨色Keep, X1spring-scale-inborderline在自身#f7f7f8上可读ease 是power3.out毫无 springrecipe 与另外六个共享CutF2, X2confettiborderline只有卡片与网格无粒子源码有 recipe 从 opacity 0 扇出的.particlespanKeep, X1bottom-up-lettersborderline四帧全空文件是无标记的切分器Keep, X6校准迫使的三处修正全部是误砍spring-scale-in首评 X3约 1.5:1那是台架的深色舞台而非项目——由此得出「使用项目自己的地面」。confetti首评 F3其静止态是 recipe 的from态——由此得出 N5。char-slam-explode首评 F3四帧全黑它是子合成却被内联——由此得出两种形态规则。一个砍掉正常工作的项目的评分表是错的即使该裁决很顺手。逐项核对清单按序执行命中首个 fatal 即停按项目形态正确挂载使用自身地面加载 GSAP 与暂停根时间线F1标记包含具名主题F2运动指纹与标记骨架未同时与幸存者共享F3应用 recipe 后渲染出内容或被 N3–N6 豁免F4帧展示了描述承诺的事件F5第 N 帧由第 N 帧计算而来X1–X8 记录具体修复方案裁决引用条目指定的证据而非印象从标准到工程这些规则在仓库中的落点质量门槛不是孤立文档它与注册表生态互相印证构建侧contributing.md 定义了 lint/check/render/snapshot 验证链与「placeholder 内容必须单色」的硬性要求材质侧placeholder-material.md 给出 ink 四档透明度色阶L1 72% / L2 45% / L3 18% / L4 8% hair 14%与「text 永不低于 L1」的对比度下限X3、X4、X5 的修复方案都指向它模板侧templates.md 的 caption/VFX/component 模板内嵌了暂停时间线注册、mulberry32种子化 PRNG、tl.eventCallback(onUpdate, renderScene)禁用 requestAnimationFrame等规避 X1/X7/F5 的既定模式。审计时遇到的每一个缺陷几乎都能在这三份配套文档里找到对应修复。适用前提说明本文全部条款均基于本仓库当前内容截至当前 checkout。F1–F5、X1–X8、N1–N7 的编号与判据以 component-quality-bar.md 原文为准其中引用的项目名如ecosystem-constellation、terminal-to-browser-deploy来自审计时分支上的历史实例当前目录registry/blocks、registry/components中的实际条目以现状为准。执行审计前请先完整阅读该原文档确保多人并行时对同一项目得出同一裁决。【免费下载链接】hyperframesWrite HTML. Render video. Built for agents.项目地址: https://gitcode.com/GitHub_Trending/hy/hyperframes创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表