AlexZhou19871030/dsh-plugin-eva-unit01

AlexZhou19871030★ 0JavaScript最后同步: 2026-08-17

在 GitHub 打开

EVA Unit-01 desktop pet for the DSH web GUI: draggable Unit-01 overlay, NERV sync-rate HUD driven by live session state, 32 actions, and a 50-kind Web Audio synthesizer with optional drop-in real audio.

README 摘要

EVA 初号机桌宠(dsh web 常驻插件) 在 dsh Web GUI 里放一只可拖动的 Q 版(Funko Pop 风)EVA 初号机 ,带 NERV 同步率 HUD 与一套 离散动作。纯浏览器面插件:宿主半程是空 apply ,浏览器半程通过 package.json 的 dsh.client 声明被 web 服务端发现并下发。 形体(T12 起换了表现形式): 机体不再是手写矢量块面,而是参考插画本身 。 pet-ref/slice-rig.py 把 pet-ref/reference.png 沿实测装甲缝切成 16 层刚体部件(切缝取自逐行游程间隙与颜色族连通域, 不是目测),16 层并集与描出的躯体掩膜完全相等:0 像素丢失、0 像素臆造。每层按 2 倍屏幕尺寸导出并以 data URI 内嵌,插件仍是单文件、无需资源路由。viewBox 0 0 300 340 、渲染 240x272,躯体占 227.68 x 291 单位、宽高比 0.782 —— 就是参考图自己的比例。眼睛保留矢量(画在切片器补绘过的眼窝上), 情绪变色/发光/眨眼照旧;脐带电缆保留矢量,因为它必须弯折。 挂载位置与层级(不要随便改) 桌宠注册在 shell.overlay slot,但渲染内容用 react-dom 的 createPortal 投到 document.body div.eva01-portal 。 这不是为了好看,是必须的 : shell.overlay 的祖先 overlayLayer 是 z-index:20 ,而 dsh-better-sidebar 的右侧面板 .W-zNGW panel 与底部面板 .W-zNGW bottomPanel 都是 z-index:50 且 88% 不透明 —— 桌宠在那个层叠上下文里 无论把自己的 z-index 抬到多高都会被盖住 (实测 z-index:2147483000 同样无效),连点击事件都被面板吃掉。 层级取值 60 ,有实测依据:全页常驻层只有 toggleCluster 55 / panel 50 / bottomPanel 50 , 而宿主的模态框、遮罩、toast 在 100–1100 。所以 60 恰好压过所有常驻面板,又仍在所有模态类 UI 之下(报错弹窗永远盖在桌宠之上)。容器 pointer-events:none + 桌宠本体 pointer-events:auto , 保证这个全屏容器不吃任何页面事件。默认落点在 左下 left:24px;bottom:84px ,避开右侧面板内容; 初始朝向即镜像( is-left ),与「左半边镜像」规则一致,避免第一次拖拽时凭空翻面。 交互 操作 结果 拖动 移动,限制在窗口内;窗口缩放后自动钳回视口;跨过屏幕中线整体镜像 松手 落地压扁回弹…

在 GitHub 查看完整 README →
工具/开发deepseek-harnessdesktop-petdshdsh-pluginevangelionweb-audiosidebar

分类