Repository navigation
Replies: 2 comments
0 replies
|
分支:https://github.com/Bemly/dsh-TUI/tree/feat/companion-claude-codex-girls |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
诉求
品牌切到 Claude / Codex 时,开屏和标题槽已经有这两个角色的静态立绘,但伙伴面板的
companion.skin只有 deepy / whale / whaleGirl 三个选项——Claude、Codex 品牌下没有自己的动画皮肤,宠物换过去还是鲸鱼。想给这两个角色各补一套和鲸娘同规格的 22 动画素材包,让「品牌」和「伙伴面板里的宠物」对得上。素材和构建脚本已按
assets/whaleGirl的形态在本地整理好(未提 PR):frames.jsonschema、图像帧规格、字母格开窗都能直接复用,增量主要是数据 + 注册,不引入新的渲染契约。现状(代码依据)
src/settings/definitions.ts:companion.skin的 options 只有deepy/whaleGirl/whale。src/components/sidePanel/companion/skins.tsx:注册表同样是这三个;WhaleGirlSkin的字母格与图像轨路径都写死在assets/whaleGirl。src/components/splashArtRows.ts:resolveSplashArtForm只在brand === 'deepseek'时走mascot,其余品牌固定portrait——即使加了皮肤,Claude / Codex 的开屏也不会自动用素材包。registerCompanionSkin,注释写明「插件皮肤(纯数据帧表)留到 Phase 7」。素材
两套,各 22 个动画,key 与 deepy 词汇表一致(
idle/thinking/typing/tickle/smile-hearts/thumbs-up…),语义映射可以直接复用鲸娘那套。cells几何可直接复用assets/claudeGirl/、assets/codexGirl/;静态立绘目录assets/claude-girl/、assets/codex-girl/保持不动(沿用whale-girl/whaleGirl的 kebab=立绘、驼峰=素材包约定)assets从 13.5MB 涨到 42MB,npm tarball 的 assets 部分约 13MB → 39MBframes.json由scripts/build-girl-kit-from-frames.mjs从img/确定性生成;img/是真源(预览 GIF 的 alpha 被压成 1bit 且缺 idle,不能当输入)一点坦白:这套美术细节比鲸鱼多,42×30 字母格下保底效果会明显变糊(总览图里能看出来)。如果维护者觉得保底质量不够,也可以只做图像轨、无协议终端继续回落 deepy 字母格——代价是这类终端里切皮肤看不出变化。
两条实现路线
skins.tsx加两个皮肤、把鲸娘图像轨的写死路径抽成按 id 解析,加companion.skin选项与文档;素材随 npm 包分发。和鲸娘同级,复用现有几何,改动集中在 5 个模块 + 1 个回归脚本,但包体积 +26MB。registerCompanionSkin的描述符校验落地(Phase 7 接缝),两套素材做成插件分发,不进核心包;体积问题自然消失,但要先定义插件皮肤契约,周期更长。个人倾向先按内置做(和鲸娘同级、立刻可用);如果维护者更看重包体积,我再按插件路线排队等 Phase 7。
想请维护者拍板
portrait切到mascot(这会改变现有开屏布局,需要单独决策)?方向确认后,希望开一个跟踪 issue 并指定范围,我按 issue 提 PR;PR 只做这一件事,不夹带其他改动。
非目标
assets/claude-girl/、assets/codex-girl/的静态立绘与标题槽逻辑(除非第 2 问决定改)。All reactions