evomeme 0.1.8 → 0.1.9-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/canvas-public/app.js +7264 -702
- package/dist/canvas-public/assets/presets/catalog.json +47 -0
- package/dist/canvas-public/assets/presets/tiles/A_01_CaoDi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_02_ShaMo.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_03_TianKong.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_04_ShuiBo.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_05_HaiMian.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_06_MuDiBan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_07_ShiZhuan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_08_AnRongYan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_09_QingTaiShi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_10_ShenHai.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_11_HuiYanShi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_12_HongTu.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_13_GengDi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_14_HuoShanYan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_15_NiTu.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_16_HuangSha.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_17_CongLin.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_18_ZiYanShi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_19_MoGuTu.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_20_HuaDian.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_21_HaiLang.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_22_GanTu.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_23_QingTaiShiBan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_24_XingKong.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_25_MoFaFuWen.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_26_ShiTuYeDi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_27_LanZhuan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_28_HongZhuan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_29_YueQiu.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_30_JinShuGe.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_31_JinShuJingGai.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_32_ShuZiChuang.png +0 -0
- package/dist/canvas-public/color-key-worker.js +280 -0
- package/dist/canvas-public/image-canvas-size-editor.js +254 -0
- package/dist/canvas-public/index.html +188 -25
- package/dist/canvas-public/perfect-pixel-worker.js +499 -0
- package/dist/canvas-public/styles.css +3570 -864
- package/dist/canvas-public/tile-map-editor.js +2120 -0
- package/dist/canvas-public/ui-controls.js +95 -0
- package/dist/canvas-public/vendor/pixi-tilemap.js +126 -0
- package/dist/canvas-public/vendor/pixi.min.js +2340 -0
- package/dist/index.js +29581 -2110
- package/dist/stage-blender/bake_materials.py +102 -0
- package/dist/stage-blender/export_scene.py +275 -0
- package/dist/stage-blender/preview_camera.py +90 -0
- package/dist/stage-blender/repair_mesh.py +112 -0
- package/dist/stage-public/app.js +759 -0
- package/dist/stage-public/baked/bakePilot.js +44 -0
- package/dist/stage-public/baked/bakedScene.js +129 -0
- package/dist/stage-public/baked/sceneAppearance.js +225 -0
- package/dist/stage-public/baked/sceneCamera.js +45 -0
- package/dist/stage-public/comparison-contract.js +28 -0
- package/dist/stage-public/delivery.html +4 -0
- package/dist/stage-public/delivery.js +17 -0
- package/dist/stage-public/godot/appearance.gd +170 -0
- package/dist/stage-public/godot/preview.gd +79 -0
- package/dist/stage-public/index.html +141 -0
- package/dist/stage-public/review-app.js +289 -0
- package/dist/stage-public/review-runtime.js +63 -0
- package/dist/stage-public/review.css +24 -0
- package/dist/stage-public/review.html +47 -0
- package/dist/stage-public/scene-runtime.js +212 -0
- package/dist/stage-public/sceneContractRuntime.js +235 -0
- package/dist/stage-public/styles.css +328 -0
- package/dist/stage-public/three-appearance.js +104 -0
- package/dist/stage-public/vendor/three170/LICENSE +21 -0
- package/dist/stage-public/vendor/three170/build/three.module.js +54571 -0
- package/dist/stage-public/vendor/three170/examples/jsm/controls/OrbitControls.js +1523 -0
- package/dist/stage-public/vendor/three170/examples/jsm/environments/RoomEnvironment.js +144 -0
- package/dist/stage-public/vendor/three170/examples/jsm/libs/fflate.module.js +2672 -0
- package/dist/stage-public/vendor/three170/examples/jsm/loaders/EXRLoader.js +2563 -0
- package/dist/stage-public/vendor/three170/examples/jsm/loaders/GLTFLoader.js +4727 -0
- package/dist/stage-public/vendor/three170/examples/jsm/utils/BufferGeometryUtils.js +1373 -0
- package/dist/tile-transition-mask.svg +40 -0
- package/package.json +77 -69
- package/skills/evomeme-cover/SKILL.md +1 -1
- package/skills/evomeme-game-maker/SKILL.md +83 -83
- package/skills/game-asset-align/SKILL.md +45 -0
- package/skills/game-asset-align/agents/openai.yaml +8 -0
- package/skills/game-asset-align/references/alignment-contract.md +61 -0
- package/skills/game-asset-align/references/blender-scene-pipeline.md +45 -0
- package/skills/game-asset-align/references/canonical-package.md +26 -0
- package/skills/game-asset-align/references/engine-capabilities.md +14 -0
- package/skills/game-asset-align/references/lightweight-review.md +32 -0
- package/skills/game-asset-align/references/repair-policy.md +30 -0
- package/skills/game-asset-align/references/tool-contract.md +39 -0
- package/skills/game-asset-align/references/visual-review.md +26 -0
- package/skills/game-asset-image-generator/SKILL.md +1 -1
- package/skills/godot-3d-game/SKILL.md +39 -0
- package/skills/godot-3d-game/agents/openai.yaml +8 -0
- package/skills/godot-3d-game/references/alignment-gates.md +26 -0
- package/skills/godot-3d-game/references/appearance-alignment.md +52 -0
- package/skills/godot-3d-game/references/build-and-qa.md +22 -0
- package/skills/godot-3d-game/references/canonical-asset-runtime.md +27 -0
- package/skills/godot-3d-game/references/import-and-wrapper-scenes.md +20 -0
- package/skills/godot-3d-game/references/physics-colliders.md +13 -0
- package/skills/godot-3d-game/references/project-structure.md +22 -0
- package/skills/godot-3d-game/references/skeleton-animation.md +16 -0
- package/skills/threejs-3d-game/SKILL.md +6 -2
- package/skills/threejs-3d-game/references/engine-asset-pipeline.md +52 -15
|
@@ -38,19 +38,48 @@
|
|
|
38
38
|
<button type="button" class="ghost-btn" id="inspector-close" title="取消选中">×</button>
|
|
39
39
|
</header>
|
|
40
40
|
<div class="inspector-body" id="inspector-body"></div>
|
|
41
|
+
<div
|
|
42
|
+
class="inspector-resize-handle"
|
|
43
|
+
id="inspector-resize-handle"
|
|
44
|
+
role="separator"
|
|
45
|
+
aria-label="调整左侧栏宽度"
|
|
46
|
+
aria-orientation="vertical"
|
|
47
|
+
tabindex="0"
|
|
48
|
+
></div>
|
|
41
49
|
</aside>
|
|
42
50
|
<div class="canvas-main">
|
|
43
51
|
<div class="canvas-shell">
|
|
44
52
|
<div class="canvas-toolbar">
|
|
53
|
+
<span class="product-brand">EVOMEME</span>
|
|
45
54
|
<div class="project-bar">
|
|
46
55
|
<span class="project-name" id="project-name" title="">未打开工程</span>
|
|
47
56
|
<button type="button" class="ghost-btn" id="switch-project-btn">切换工程</button>
|
|
48
57
|
</div>
|
|
49
58
|
<div class="toolbar-actions" id="toolbar-actions">
|
|
50
|
-
<
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
59
|
+
<div class="toolbar-primary" role="tablist" aria-label="画布功能分类">
|
|
60
|
+
<button type="button" class="toolbar-primary-button toolbar-category-tab" id="tool-add-assets" role="tab" aria-selected="false" aria-expanded="false" aria-controls="toolbar-asset-tools"><span>添加素材</span><i class="toolbar-category-indicator" aria-hidden="true"></i></button>
|
|
61
|
+
<button type="button" class="toolbar-primary-button toolbar-category-tab" id="toolbar-image-tab" role="tab" aria-selected="false" aria-expanded="false" aria-controls="toolbar-image-tools"><span>图片生成</span><i class="toolbar-category-indicator" aria-hidden="true"></i></button>
|
|
62
|
+
<button type="button" class="toolbar-primary-button toolbar-category-tab" id="toolbar-video-tab" role="tab" aria-selected="false" aria-expanded="false" aria-controls="toolbar-video-tools"><span>视频生成</span><i class="toolbar-category-indicator" aria-hidden="true"></i></button>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="toolbar-ribbon" id="toolbar-ribbon" hidden>
|
|
65
|
+
<div class="toolbar-ribbon-panel" id="toolbar-asset-tools" role="tabpanel" hidden>
|
|
66
|
+
<button type="button" class="toolbar-ribbon-tool toolbar-ribbon-action" id="tool-local-assets" title="从本地选择图片或视频"><span>本地导入</span></button>
|
|
67
|
+
<button type="button" class="toolbar-ribbon-tool" id="tool-official-assets" title="拖到画布指定位置打开官方素材库"><span>官方素材</span></button>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="toolbar-ribbon-panel" id="toolbar-image-tools" role="tabpanel" hidden>
|
|
70
|
+
<button type="button" class="toolbar-ribbon-tool" id="tool-image-gen" title="拖到画布指定位置创建图片生成元素"><span>图片生成</span></button>
|
|
71
|
+
<button type="button" class="toolbar-ribbon-tool" id="tool-game-ui-gen" title="拖到画布指定位置创建游戏 UI 组件生成元素"><span>游戏 UI 组件生成</span></button>
|
|
72
|
+
<button type="button" class="toolbar-ribbon-tool" id="tool-four-view" title="拖到画布指定位置创建空白四视图生成元素"><span>角色四视图生成</span></button>
|
|
73
|
+
<button type="button" class="toolbar-ribbon-tool" id="tool-eight-direction" title="拖到画布指定位置创建空白八方图生成元素"><span>角色八方图生成</span></button>
|
|
74
|
+
<button type="button" class="toolbar-ribbon-tool" id="tool-seamless-tile-gen" title="拖到画布指定位置创建无缝地块生成元素"><span>无缝地块生成</span></button>
|
|
75
|
+
<button type="button" class="toolbar-ribbon-tool" id="tool-tile-transition-atlas" title="拖到画布指定位置创建无缝地块集生成元素"><span>无缝地块集生成</span></button>
|
|
76
|
+
<button type="button" class="toolbar-ribbon-tool" id="tool-tile-map" title="先设置文件夹和瓦片分辨率,再创建地图"><span>地图绘制</span></button>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="toolbar-ribbon-panel" id="toolbar-video-tools" role="tabpanel" hidden>
|
|
79
|
+
<button type="button" class="toolbar-ribbon-tool" id="tool-video-gen" title="拖到画布指定位置创建视频生成元素"><span>视频生成</span></button>
|
|
80
|
+
<button type="button" class="toolbar-ribbon-tool" id="tool-animation-gen" title="拖到画布指定位置创建序列帧动画生成管线"><span>序列帧动画生成</span></button>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
54
83
|
</div>
|
|
55
84
|
</div>
|
|
56
85
|
<div class="canvas-viewport" id="viewport">
|
|
@@ -65,25 +94,110 @@
|
|
|
65
94
|
<div class="ctx-menu" id="ctx-menu" hidden>
|
|
66
95
|
<button type="button" data-action="copy">复制</button>
|
|
67
96
|
<button type="button" data-action="paste" hidden>粘贴</button>
|
|
68
|
-
<button type="button" data-action="
|
|
97
|
+
<button type="button" data-action="export-tile-map" hidden>导出 PNG</button>
|
|
98
|
+
<button type="button" data-action="image-canvas-size" hidden>图片大小编辑</button>
|
|
69
99
|
<button type="button" data-action="interactive-edit" hidden>交互编辑</button>
|
|
70
|
-
<button type="button" data-action="
|
|
100
|
+
<button type="button" data-action="perfect-pixel" hidden>完美像素化</button>
|
|
101
|
+
<div class="ctx-submenu" data-submenu="cutout" hidden>
|
|
102
|
+
<button type="button" class="ctx-submenu-trigger" aria-haspopup="menu" aria-expanded="false">
|
|
103
|
+
<span>抠图</span><span class="ctx-submenu-arrow" aria-hidden="true">›</span>
|
|
104
|
+
</button>
|
|
105
|
+
<div class="ctx-submenu-panel" role="menu">
|
|
106
|
+
<button type="button" role="menuitem" data-action="cutout" hidden>智能抠图</button>
|
|
107
|
+
<button type="button" role="menuitem" data-action="color-key" hidden>颜色剔除</button>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
71
110
|
<button type="button" data-action="video-cycle" hidden>智能周期提取</button>
|
|
72
111
|
<button type="button" data-action="video-to-frame-sheet" hidden>视频转序列帧图</button>
|
|
73
|
-
<
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
112
|
+
<div class="ctx-submenu" data-submenu="image-split" hidden>
|
|
113
|
+
<button type="button" class="ctx-submenu-trigger" aria-haspopup="menu" aria-expanded="false">
|
|
114
|
+
<span>图片切分</span><span class="ctx-submenu-arrow" aria-hidden="true">›</span>
|
|
115
|
+
</button>
|
|
116
|
+
<div class="ctx-submenu-panel" role="menu">
|
|
117
|
+
<button type="button" role="menuitem" data-action="smart-split">智能切分</button>
|
|
118
|
+
<button type="button" role="menuitem" data-action="manual-split">手动切分</button>
|
|
119
|
+
<button type="button" role="menuitem" data-action="layer-decomposition" hidden>大模型图层分离</button>
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
<div class="ctx-submenu" data-submenu="frame-sheet" hidden>
|
|
123
|
+
<button type="button" class="ctx-submenu-trigger" aria-haspopup="menu" aria-expanded="false">
|
|
124
|
+
<span>序列帧</span><span class="ctx-submenu-arrow" aria-hidden="true">›</span>
|
|
125
|
+
</button>
|
|
126
|
+
<div class="ctx-submenu-panel" role="menu">
|
|
127
|
+
<button type="button" role="menuitem" data-action="frame-sheet-preview" hidden>序列帧预览</button>
|
|
128
|
+
<button type="button" role="menuitem" data-action="frame-sheet-edit" hidden>序列帧编辑</button>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
<div class="ctx-submenu" data-submenu="character-views" hidden>
|
|
132
|
+
<button type="button" class="ctx-submenu-trigger" aria-haspopup="menu" aria-expanded="false">
|
|
133
|
+
<span>角色多视角生成</span><span class="ctx-submenu-arrow" aria-hidden="true">›</span>
|
|
134
|
+
</button>
|
|
135
|
+
<div class="ctx-submenu-panel" role="menu">
|
|
136
|
+
<button type="button" role="menuitem" data-action="four-view" hidden>四视图生成</button>
|
|
137
|
+
<button type="button" role="menuitem" data-action="eight-direction" hidden>八方图生成</button>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
<div class="ctx-submenu" data-submenu="map-tiles" hidden>
|
|
141
|
+
<button type="button" class="ctx-submenu-trigger" aria-haspopup="menu" aria-expanded="false">
|
|
142
|
+
<span>地图瓦片</span><span class="ctx-submenu-arrow" aria-hidden="true">›</span>
|
|
143
|
+
</button>
|
|
144
|
+
<div class="ctx-submenu-panel" role="menu">
|
|
145
|
+
<button type="button" role="menuitem" data-action="seam-elimination" hidden>瓦片缝隙消除</button>
|
|
146
|
+
<button type="button" role="menuitem" data-action="tile-transition-atlas" hidden>地图集生成</button>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
77
149
|
<button type="button" data-action="delete" class="ctx-danger">删除</button>
|
|
78
150
|
</div>
|
|
79
151
|
|
|
152
|
+
<div class="modal-backdrop modal-backdrop-dark" id="image-canvas-size-modal" hidden>
|
|
153
|
+
<div class="modal-dialog modal-dialog-image-canvas-size" role="group" aria-labelledby="image-canvas-size-title">
|
|
154
|
+
<div class="seq-panel-head">
|
|
155
|
+
<strong id="image-canvas-size-title">图片大小编辑</strong>
|
|
156
|
+
<button type="button" class="ghost-btn" id="image-canvas-size-close">关闭</button>
|
|
157
|
+
</div>
|
|
158
|
+
<div class="image-canvas-size-stage" id="image-canvas-size-stage">
|
|
159
|
+
<canvas id="image-canvas-size-preview"></canvas>
|
|
160
|
+
<div class="image-canvas-size-frame" id="image-canvas-size-frame">
|
|
161
|
+
<button type="button" class="image-canvas-size-edge is-top" data-edge="top" aria-label="拖动上边缘"></button>
|
|
162
|
+
<button type="button" class="image-canvas-size-edge is-right" data-edge="right" aria-label="拖动右边缘"></button>
|
|
163
|
+
<button type="button" class="image-canvas-size-edge is-bottom" data-edge="bottom" aria-label="拖动下边缘"></button>
|
|
164
|
+
<button type="button" class="image-canvas-size-edge is-left" data-edge="left" aria-label="拖动左边缘"></button>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
<div class="image-canvas-size-fields">
|
|
168
|
+
<label class="seq-field">
|
|
169
|
+
宽度
|
|
170
|
+
<input type="number" id="image-canvas-size-width" min="1" max="16384" step="1" />
|
|
171
|
+
<span>px</span>
|
|
172
|
+
</label>
|
|
173
|
+
<label class="seq-field">
|
|
174
|
+
高度
|
|
175
|
+
<input type="number" id="image-canvas-size-height" min="1" max="16384" step="1" />
|
|
176
|
+
<span>px</span>
|
|
177
|
+
</label>
|
|
178
|
+
</div>
|
|
179
|
+
<div class="modal-actions">
|
|
180
|
+
<button type="button" class="ghost-btn" id="image-canvas-size-reset">重置</button>
|
|
181
|
+
<button type="button" class="ghost-btn" id="image-canvas-size-cancel">取消</button>
|
|
182
|
+
<button type="button" class="tool-btn" id="image-canvas-size-confirm">应用</button>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
|
|
80
187
|
<div class="modal-backdrop modal-backdrop-dark" id="interactive-edit-modal" hidden>
|
|
81
|
-
<div class="modal-dialog modal-dialog-interactive-edit" role="
|
|
188
|
+
<div class="modal-dialog modal-dialog-interactive-edit" role="group" aria-labelledby="interactive-edit-title">
|
|
82
189
|
<div class="seq-panel-head">
|
|
83
190
|
<strong id="interactive-edit-title">交互编辑</strong>
|
|
84
191
|
<button type="button" class="ghost-btn" id="interactive-edit-close">关闭</button>
|
|
85
192
|
</div>
|
|
86
|
-
<div class="interactive-editor-
|
|
193
|
+
<div class="interactive-editor-stage">
|
|
194
|
+
<div class="interactive-editor-host" id="interactive-editor-host"></div>
|
|
195
|
+
<label class="interactive-edit-zoom" for="interactive-edit-zoom">
|
|
196
|
+
<span>缩放</span>
|
|
197
|
+
<input type="range" id="interactive-edit-zoom" min="1" max="400" step="1" value="100" />
|
|
198
|
+
<output id="interactive-edit-zoom-value" for="interactive-edit-zoom">100%</output>
|
|
199
|
+
</label>
|
|
200
|
+
</div>
|
|
87
201
|
<div class="interactive-edit-compose">
|
|
88
202
|
<label class="layer-decomposition-prompt" for="interactive-edit-prompt">
|
|
89
203
|
编辑要求
|
|
@@ -93,7 +207,14 @@
|
|
|
93
207
|
placeholder="例如:将框选区域替换为木质宝箱,并保持其他内容不变"
|
|
94
208
|
></textarea>
|
|
95
209
|
</label>
|
|
96
|
-
<
|
|
210
|
+
<label class="interactive-edit-model" for="interactive-edit-model">
|
|
211
|
+
<span>模型</span>
|
|
212
|
+
<select id="interactive-edit-model">
|
|
213
|
+
<option value="asset-pro">Pro</option>
|
|
214
|
+
<option value="asset-max">Max</option>
|
|
215
|
+
</select>
|
|
216
|
+
</label>
|
|
217
|
+
<p class="modal-hint">画面标记和文字会合并到参考图中,再使用所选模型生成。</p>
|
|
97
218
|
<p class="modal-hint" id="interactive-edit-status" hidden></p>
|
|
98
219
|
<div class="modal-actions">
|
|
99
220
|
<button type="button" class="ghost-btn" id="interactive-edit-cancel">取消</button>
|
|
@@ -104,8 +225,42 @@
|
|
|
104
225
|
</div>
|
|
105
226
|
</div>
|
|
106
227
|
|
|
228
|
+
<div class="modal-backdrop modal-backdrop-dark" id="seam-elimination-modal" hidden>
|
|
229
|
+
<div class="modal-dialog modal-dialog-seam-elimination" role="group" aria-labelledby="seam-elimination-title">
|
|
230
|
+
<div class="seq-panel-head">
|
|
231
|
+
<strong id="seam-elimination-title">缝隙消除</strong>
|
|
232
|
+
<button type="button" class="ghost-btn" id="seam-elimination-close">关闭</button>
|
|
233
|
+
</div>
|
|
234
|
+
<div class="seam-elimination-preview">
|
|
235
|
+
<img id="seam-elimination-image" alt="待处理地砖预览" />
|
|
236
|
+
</div>
|
|
237
|
+
<label class="layer-decomposition-prompt" for="seam-elimination-prompt">
|
|
238
|
+
地砖描述
|
|
239
|
+
<textarea
|
|
240
|
+
id="seam-elimination-prompt"
|
|
241
|
+
rows="4"
|
|
242
|
+
placeholder="描述地砖的内容、材质和美术风格"
|
|
243
|
+
></textarea>
|
|
244
|
+
</label>
|
|
245
|
+
<label class="interactive-edit-model" for="seam-elimination-model">
|
|
246
|
+
<span>模型</span>
|
|
247
|
+
<select id="seam-elimination-model"></select>
|
|
248
|
+
</label>
|
|
249
|
+
<div class="seam-elimination-size-row">
|
|
250
|
+
<span>输出尺寸</span>
|
|
251
|
+
<output id="seam-elimination-size">读取中…</output>
|
|
252
|
+
</div>
|
|
253
|
+
<p class="modal-hint">输出尺寸锁定为输入图片的像素尺寸。</p>
|
|
254
|
+
<p class="modal-hint" id="seam-elimination-status" hidden></p>
|
|
255
|
+
<div class="modal-actions">
|
|
256
|
+
<button type="button" class="ghost-btn" id="seam-elimination-cancel">取消</button>
|
|
257
|
+
<button type="button" class="tool-btn" id="seam-elimination-confirm">开始处理</button>
|
|
258
|
+
</div>
|
|
259
|
+
</div>
|
|
260
|
+
</div>
|
|
261
|
+
|
|
107
262
|
<div class="modal-backdrop modal-backdrop-dark" id="layer-decomposition-modal" hidden>
|
|
108
|
-
<div class="modal-dialog modal-dialog-layer-decomposition" role="
|
|
263
|
+
<div class="modal-dialog modal-dialog-layer-decomposition" role="group" aria-labelledby="layer-decomposition-title">
|
|
109
264
|
<div class="seq-panel-head">
|
|
110
265
|
<strong id="layer-decomposition-title">大模型图层分离</strong>
|
|
111
266
|
<button type="button" class="ghost-btn" id="layer-decomposition-close">关闭</button>
|
|
@@ -131,7 +286,7 @@
|
|
|
131
286
|
</div>
|
|
132
287
|
|
|
133
288
|
<div class="modal-backdrop modal-backdrop-dark" id="video-cycle-modal" hidden>
|
|
134
|
-
<div class="modal-dialog" role="
|
|
289
|
+
<div class="modal-dialog" role="group" aria-labelledby="video-cycle-title">
|
|
135
290
|
<div class="seq-panel-head">
|
|
136
291
|
<strong id="video-cycle-title">智能周期提取</strong>
|
|
137
292
|
<button type="button" class="ghost-btn" id="video-cycle-close">关闭</button>
|
|
@@ -172,15 +327,23 @@
|
|
|
172
327
|
</div>
|
|
173
328
|
|
|
174
329
|
<div class="modal-backdrop modal-backdrop-dark" id="smart-split-modal" hidden>
|
|
175
|
-
<div class="modal-dialog" role="
|
|
330
|
+
<div class="modal-dialog" role="group" aria-labelledby="smart-split-title">
|
|
176
331
|
<div class="seq-panel-head">
|
|
177
332
|
<strong id="smart-split-title">智能切分</strong>
|
|
178
333
|
<button type="button" class="ghost-btn" id="smart-split-close">关闭</button>
|
|
179
334
|
</div>
|
|
180
335
|
<p class="modal-hint">
|
|
181
|
-
|
|
336
|
+
自动识别并裁出彼此分离的主体;主体不会缩放。
|
|
182
337
|
</p>
|
|
183
|
-
<
|
|
338
|
+
<label class="smart-split-size-toggle">
|
|
339
|
+
<input type="checkbox" id="smart-split-pad-to-same-size" checked />
|
|
340
|
+
<span>
|
|
341
|
+
<strong>补全为相同图片大小</strong>
|
|
342
|
+
<small>只在裁切结果周围填充透明像素,不扩大原图裁切范围。</small>
|
|
343
|
+
</span>
|
|
344
|
+
</label>
|
|
345
|
+
<p class="modal-hint">透明补全时主体的对齐位置:</p>
|
|
346
|
+
<div class="split-anchor-grid" id="smart-split-anchor-grid" role="radiogroup" aria-label="透明补全对齐位置">
|
|
184
347
|
<button type="button" class="split-anchor-btn" data-anchor="top-left" role="radio" aria-checked="false"><span></span>左上</button>
|
|
185
348
|
<button type="button" class="split-anchor-btn" data-anchor="top" role="radio" aria-checked="false"><span></span>上</button>
|
|
186
349
|
<button type="button" class="split-anchor-btn" data-anchor="top-right" role="radio" aria-checked="false"><span></span>右上</button>
|
|
@@ -200,7 +363,7 @@
|
|
|
200
363
|
</div>
|
|
201
364
|
|
|
202
365
|
<div class="modal-backdrop modal-backdrop-dark" id="manual-split-modal" hidden>
|
|
203
|
-
<div class="modal-dialog" role="
|
|
366
|
+
<div class="modal-dialog" role="group" aria-labelledby="manual-split-title">
|
|
204
367
|
<div class="seq-panel-head">
|
|
205
368
|
<strong id="manual-split-title">手动切分</strong>
|
|
206
369
|
<button type="button" class="ghost-btn" id="manual-split-close">关闭</button>
|
|
@@ -229,7 +392,7 @@
|
|
|
229
392
|
</div>
|
|
230
393
|
|
|
231
394
|
<div class="modal-backdrop modal-backdrop-dark" id="frame-extract-modal" hidden>
|
|
232
|
-
<div class="modal-dialog" role="
|
|
395
|
+
<div class="modal-dialog" role="group" aria-labelledby="frame-extract-title">
|
|
233
396
|
<div class="seq-panel-head">
|
|
234
397
|
<strong id="frame-extract-title">视频转序列帧图</strong>
|
|
235
398
|
<button type="button" class="ghost-btn" id="frame-extract-close">关闭</button>
|
|
@@ -238,9 +401,9 @@
|
|
|
238
401
|
均匀抽取视频帧后,自动按从左到右、从上到下的顺序拼成一张 PNG 图片。
|
|
239
402
|
</p>
|
|
240
403
|
<label class="seq-field frame-extract-field">
|
|
241
|
-
|
|
242
|
-
<input type="number" id="frame-extract-
|
|
243
|
-
<span class="frame-extract-range">
|
|
404
|
+
FPS
|
|
405
|
+
<input type="number" id="frame-extract-fps" min="0.1" max="60" step="0.1" value="8" />
|
|
406
|
+
<span class="frame-extract-range">0.1 – 60</span>
|
|
244
407
|
</label>
|
|
245
408
|
<p class="modal-hint" id="frame-extract-status" hidden></p>
|
|
246
409
|
<div class="modal-actions">
|
|
@@ -251,7 +414,7 @@
|
|
|
251
414
|
</div>
|
|
252
415
|
|
|
253
416
|
<div class="modal-backdrop modal-backdrop-dark" id="frame-preview-modal" hidden>
|
|
254
|
-
<div class="modal-dialog" role="
|
|
417
|
+
<div class="modal-dialog" role="group" aria-labelledby="frame-preview-title">
|
|
255
418
|
<div class="seq-panel-head">
|
|
256
419
|
<strong id="frame-preview-title">序列帧预览</strong>
|
|
257
420
|
<button type="button" class="ghost-btn" id="frame-preview-close">关闭</button>
|
|
@@ -284,7 +447,7 @@
|
|
|
284
447
|
</div>
|
|
285
448
|
|
|
286
449
|
<div class="modal-backdrop modal-backdrop-dark" id="frame-editor-split-modal" hidden>
|
|
287
|
-
<div class="modal-dialog" role="
|
|
450
|
+
<div class="modal-dialog" role="group" aria-labelledby="frame-editor-split-title">
|
|
288
451
|
<div class="seq-panel-head">
|
|
289
452
|
<strong id="frame-editor-split-title">创建序列帧编辑器</strong>
|
|
290
453
|
<button type="button" class="ghost-btn" id="frame-editor-split-close">关闭</button>
|