修:draw-ui / oil-motion 原被当子模块指针收录 ⇒ 改为正常文件入库(两份内容原先对别人是空的)

一、问题(本轮实测)
`draw-ui` 与 `oil-motion` 目录里**各自带一个内嵌 `.git`** ⇒ 上一次提交把它们记成了 **gitlink(子模块指针)**
⇒ 仓库里只存了一个不属于任何远端的 commit id,**别人克隆下来这两份是空的** ✗(`git status` 显示 ` m draw-ui` / ` m oil-motion` = 子模块内容有改动)。

二、处置(可回退)
· 把两处的 `.git` **挪走**(⛔ 不是删除)⇒ `归档/内嵌git-20261008/{draw-ui,oil-motion}.git`;
· `git rm --cached` 掉那两个 gitlink,再 `git add` 两个目录 ⇒ **按正常文件入库**(内容才真的进仓库)。

三、副作用(如实记)
挪走 `.git` 后,这两个技能**不能再原地 `git pull` 取上游更新**(要更新得重新拉一份覆盖);
如需恢复其本地仓库,把 `归档/内嵌git-20261008/` 里的 `.git` 挪回原处即可。
This commit is contained in:
admin committed 2026-10-08 22:29:52 +08:00
1 parent e03465c398
commit 237a09a5b0
161 files changed
+19429 -2

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
<svg xmlns="http://www.w3.org/2000/svg"
width="1200" height="420" viewBox="0 0 1200 420"
role="img" aria-labelledby="title desc">
<title id="title">Oil Motion — 把 AI 视频编译成可交互网页动画</title>
<desc id="desc">左侧是项目名称与流程,右侧是油画风格漫画插画:戴圆眼镜的小人通过滚动旋钮控制一条手机动作胶片,黄色牧羊犬注视着手机从完整状态逐步变化成爆炸图。</desc>
<defs>
<pattern id="grid" width="32" height="32" patternUnits="userSpaceOnUse">
<path d="M32 0H0V32" fill="none" stroke="#1A1A1A" stroke-opacity=".055" stroke-width="1"/>
</pattern>
</defs>
<rect width="1200" height="420" rx="28" fill="#FCFAF3"/>
<rect width="1200" height="420" rx="28" fill="url(#grid)"/>
<path d="M502 34V386" stroke="#1A1A1A" stroke-opacity=".12"/>
<g id="title-block" font-family="-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif">
<text x="56" y="66" font-size="18" font-weight="700" letter-spacing="3.1" fill="#74726C">AI VIDEO → INTERACTIVE MOTION</text>
<text x="52" y="151" font-size="72" font-weight="850" letter-spacing="-3.4" fill="#171717">Oil Motion</text>
<rect x="54" y="166" width="302" height="15" fill="#F6C85F" opacity=".78"/>
<text x="56" y="224" font-size="29" font-weight="760" fill="#171717">把 AI 视频编译成可交互动画</text>
<text x="56" y="261" font-size="20" font-weight="520" fill="#77756F">关键帧锁定结果,MiniMax 补全动作。</text>
<text x="56" y="291" font-size="20" font-weight="520" fill="#77756F">程序负责切帧、质检、压缩与映射。</text>
<g id="process" transform="translate(58 329)"
font-family="ui-monospace,SFMono-Regular,Menlo,monospace"
font-size="17" font-weight="760">
<path d="M9 10H365" fill="none" stroke="#171717" stroke-opacity=".25" stroke-width="2"/>
<circle cx="9" cy="10" r="8" fill="#171717"/>
<circle cx="184" cy="10" r="8" fill="#F6C85F" stroke="#171717" stroke-width="2"/>
<circle cx="365" cy="10" r="8" fill="#D9E4EE" stroke="#171717" stroke-width="2"/>
<text x="0" y="43" fill="#171717">KEYFRAMES</text>
<text x="139" y="43" fill="#171717">MINIMAX H3</text>
<text x="315" y="43" fill="#171717">WEB MOTION</text>
</g>
</g>
<g id="oil-visual-illustration">
<image x="514" y="29" width="668" height="389"
preserveAspectRatio="xMidYMid meet"
href="data:image/webp;base64,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 truncated
</g>
<circle cx="1160" cy="36" r="6" fill="#F6C85F"/>
<path d="M1139 36H1119M1129 26V46" stroke="#171717" stroke-width="2" opacity=".42"/>
</svg>

After

Width:  |  Height:  |  Size: 372 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 KiB

@@ -0,0 +1,15 @@
Use case: illustration-story
Asset type: transparent hero illustration for the Oil Motion GitHub README
Input image: use oil-visual/assets/characters/oil-character-turnaround-v1.png as the exact identity reference for both recurring characters.
Create one polished editorial manga scene that clearly communicates turning keyframes and AI video into interactive web motion. The glasses stick-figure protagonist operates a long horizontal film-strip workbench. On the left is one intact slim smartphone-like product as the approved start keyframe; across the middle are several continuous motion frames; on the right the same product is cleanly separated into an exploded view as the approved end keyframe. A large physical scroll/scrub wheel and a thin progress rail visibly control which film frame is active. The warm-yellow Border Collie sits beside the rail, watching the active frame with a gentle curious expression. Keep the characters secondary to the film strip and transformation evidence.
Preserve the supplied person's round head, three-strand hair, thin round glasses with clearly visible solid-black pupils, small smile, loose white T-shirt, slender line limbs, and height-to-head ratio. Preserve the supplied dog's narrow white facial blaze, folded ears, gentle dark eyes, compact seated body, fluffy white chest, warm-yellow coat map, and full side-resting tail. Do not make the dog a round chibi puppy.
Style: professional oil-visual manga/comic ink illustration; clean confident black outlines with varied line weight; restrained circular halftone screentone; 90% black, white and halftone gray; warm yellow only on the dog, scrubber knob and a few tiny star accents; muted blue only on a few product/frame surfaces. Flat 2D editorial illustration, not 3D.
Composition: wide horizontal 3:2 scene, readable silhouette, three visual regions from start keyframe to motion frames to end keyframe. Keep generous clear padding around the entire scene for compositing.
Background: genuine transparency with a preserved alpha channel. Every pixel outside the subject must be fully transparent. No green/magenta/grey/white backdrop, checkerboard, gradient, texture, noise, shadow, floor, horizon, reflection or lighting variation.
No text, letters, numbers, logo, watermark, interface cards, dashboard, extra limbs, duplicated dog, missing pupils, motion blur, glossy rendering, photorealism or cast shadow. Keep every subject fully separated from all image borders.
@@ -0,0 +1,48 @@
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="1200" height="420" viewBox="0 0 1200 420"
role="img" aria-labelledby="title desc">
<title id="title">Oil Motion — 把 AI 视频编译成可交互网页动画</title>
<desc id="desc">左侧是项目名称与流程,右侧是油画风格漫画插画:戴圆眼镜的小人通过滚动旋钮控制一条手机动作胶片,黄色牧羊犬注视着手机从完整状态逐步变化成爆炸图。</desc>
<defs>
<pattern id="grid" width="32" height="32" patternUnits="userSpaceOnUse">
<path d="M32 0H0V32" fill="none" stroke="#1A1A1A" stroke-opacity=".055" stroke-width="1"/>
</pattern>
</defs>
<rect width="1200" height="420" rx="28" fill="#FCFAF3"/>
<rect width="1200" height="420" rx="28" fill="url(#grid)"/>
<path d="M502 34V386" stroke="#1A1A1A" stroke-opacity=".12"/>
<g id="title-block" font-family="-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif">
<text x="56" y="66" font-size="18" font-weight="700" letter-spacing="3.1" fill="#74726C">AI VIDEO → INTERACTIVE MOTION</text>
<text x="52" y="151" font-size="72" font-weight="850" letter-spacing="-3.4" fill="#171717">Oil Motion</text>
<rect x="54" y="166" width="302" height="15" fill="#F6C85F" opacity=".78"/>
<text x="56" y="224" font-size="29" font-weight="760" fill="#171717">把 AI 视频编译成可交互动画</text>
<text x="56" y="261" font-size="20" font-weight="520" fill="#77756F">关键帧锁定结果,MiniMax 补全动作。</text>
<text x="56" y="291" font-size="20" font-weight="520" fill="#77756F">程序负责切帧、质检、压缩与映射。</text>
<g id="process" transform="translate(58 329)"
font-family="ui-monospace,SFMono-Regular,Menlo,monospace"
font-size="17" font-weight="760">
<path d="M9 10H365" fill="none" stroke="#171717" stroke-opacity=".25" stroke-width="2"/>
<circle cx="9" cy="10" r="8" fill="#171717"/>
<circle cx="184" cy="10" r="8" fill="#F6C85F" stroke="#171717" stroke-width="2"/>
<circle cx="365" cy="10" r="8" fill="#D9E4EE" stroke="#171717" stroke-width="2"/>
<text x="0" y="43" fill="#171717">KEYFRAMES</text>
<text x="139" y="43" fill="#171717">MINIMAX H3</text>
<text x="315" y="43" fill="#171717">WEB MOTION</text>
</g>
</g>
<g id="oil-visual-illustration">
<image x="514" y="29" width="668" height="389"
preserveAspectRatio="xMidYMid meet"
href="./hero-illustration-crop-v1.webp"
xlink:href="./hero-illustration-crop-v1.webp"/>
</g>
<circle cx="1160" cy="36" r="6" fill="#F6C85F"/>
<path d="M1139 36H1119M1129 26V46" stroke="#171717" stroke-width="2" opacity=".42"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB