Smalleast23 commited on
Commit
e31e483
·
verified ·
1 Parent(s): 722d531

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +213 -0
index.html CHANGED
@@ -187,6 +187,150 @@ body {
187
  padding: 32px 24px;
188
  }
189
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  /* --- Upload Section --- */
191
  .upload-section {
192
  display: flex;
@@ -1148,6 +1292,55 @@ body {
1148
 
1149
  <!-- 主内容区 -->
1150
  <main class="main">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1151
  <!-- 上传区域 -->
1152
  <section class="upload-section" id="uploadSection">
1153
  <div class="upload-area" id="uploadArea">
@@ -2398,6 +2591,26 @@ function csvEsc(str) {
2398
  // =================== 初始化 ===================
2399
  initAISettings();
2400
  updateModelSelectStatus();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2401
 
2402
  // =================== 上传功能 ===================
2403
  dom.uploadArea.addEventListener('click', function(e) {
 
187
  padding: 32px 24px;
188
  }
189
 
190
+ /* --- Intro Section --- */
191
+ .intro-section {
192
+ margin-bottom: 24px;
193
+ }
194
+
195
+ .intro-card {
196
+ background: var(--bg-card);
197
+ border: 1px solid var(--border);
198
+ border-radius: var(--radius-lg);
199
+ box-shadow: var(--shadow-sm);
200
+ overflow: hidden;
201
+ }
202
+
203
+ .intro-header {
204
+ display: flex;
205
+ align-items: center;
206
+ gap: 12px;
207
+ padding: 16px 24px;
208
+ border-bottom: 1px solid var(--border-light);
209
+ cursor: pointer;
210
+ }
211
+
212
+ .intro-header:hover {
213
+ background: var(--bg-hover);
214
+ }
215
+
216
+ .intro-icon {
217
+ color: var(--primary);
218
+ display: flex;
219
+ align-items: center;
220
+ }
221
+
222
+ .intro-titles h2 {
223
+ font-size: 1rem;
224
+ font-weight: 600;
225
+ color: var(--text-primary);
226
+ flex: 1;
227
+ }
228
+
229
+ .intro-divider {
230
+ color: var(--text-muted);
231
+ font-weight: 300;
232
+ margin: 0 4px;
233
+ }
234
+
235
+ .intro-toggle {
236
+ margin-left: auto;
237
+ padding: 4px 8px;
238
+ transition: transform var(--transition);
239
+ }
240
+
241
+ .intro-toggle.collapsed svg {
242
+ transform: rotate(-90deg);
243
+ }
244
+
245
+ .intro-body {
246
+ padding: 20px 24px 24px;
247
+ transition: all 0.3s ease;
248
+ }
249
+
250
+ .intro-body.collapsed {
251
+ display: none;
252
+ }
253
+
254
+ .intro-columns {
255
+ display: grid;
256
+ grid-template-columns: 1fr 1fr;
257
+ gap: 32px;
258
+ }
259
+
260
+ .intro-col h4 {
261
+ font-size: 0.9rem;
262
+ font-weight: 600;
263
+ color: var(--text-secondary);
264
+ margin-bottom: 8px;
265
+ letter-spacing: 0.02em;
266
+ }
267
+
268
+ .intro-col p {
269
+ font-size: 0.875rem;
270
+ color: var(--text-secondary);
271
+ line-height: 1.7;
272
+ margin-bottom: 10px;
273
+ }
274
+
275
+ .intro-col p strong {
276
+ color: var(--primary);
277
+ }
278
+
279
+ .intro-col ul {
280
+ list-style: none;
281
+ padding: 0;
282
+ display: flex;
283
+ flex-direction: column;
284
+ gap: 4px;
285
+ }
286
+
287
+ .intro-col ul li {
288
+ font-size: 0.85rem;
289
+ color: var(--text-secondary);
290
+ line-height: 1.6;
291
+ padding-left: 4px;
292
+ }
293
+
294
+ .intro-models {
295
+ margin-top: 16px;
296
+ padding-top: 16px;
297
+ border-top: 1px solid var(--border-light);
298
+ display: flex;
299
+ align-items: center;
300
+ gap: 8px;
301
+ flex-wrap: wrap;
302
+ }
303
+
304
+ .intro-models-label {
305
+ font-size: 0.8rem;
306
+ color: var(--text-muted);
307
+ font-weight: 500;
308
+ }
309
+
310
+ .intro-model-tag {
311
+ font-size: 0.75rem;
312
+ padding: 3px 12px;
313
+ border-radius: 20px;
314
+ font-weight: 500;
315
+ }
316
+
317
+ .intro-model-tag.sf {
318
+ background: #EDE9FE;
319
+ color: #7C3AED;
320
+ }
321
+
322
+ .intro-model-tag.gemini {
323
+ background: #DBEAFE;
324
+ color: #2563EB;
325
+ }
326
+
327
+ @media (max-width: 768px) {
328
+ .intro-columns {
329
+ grid-template-columns: 1fr;
330
+ gap: 20px;
331
+ }
332
+ }
333
+
334
  /* --- Upload Section --- */
335
  .upload-section {
336
  display: flex;
 
1292
 
1293
  <!-- 主内容区 -->
1294
  <main class="main">
1295
+ <!-- 工具介绍 -->
1296
+ <section class="intro-section" id="introSection">
1297
+ <div class="intro-card">
1298
+ <div class="intro-header">
1299
+ <div class="intro-icon">
1300
+ <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg>
1301
+ </div>
1302
+ <div class="intro-titles">
1303
+ <h2>关于本工具 <span class="intro-divider">|</span> About This Tool</h2>
1304
+ </div>
1305
+ <button class="btn btn-ghost btn-sm intro-toggle" id="introToggle" title="收起/展开">
1306
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"/></svg>
1307
+ </button>
1308
+ </div>
1309
+ <div class="intro-body" id="introBody">
1310
+ <div class="intro-columns">
1311
+ <div class="intro-col">
1312
+ <h4>🇨🇳 中文</h4>
1313
+ <p><strong>Scene Asset Analyzer</strong> 是一款基于 AI 视觉模型的游戏场景3D资产分析工具。上传游戏场景截图后,AI 将以资深场景美术的视角自动识别截图中的所有3D资产,并提供:</p>
1314
+ <ul>
1315
+ <li>📦 资产清单(含中英文命名)</li>
1316
+ <li>📐 资产在原图中的精确定位标注</li>
1317
+ <li>⏱️ 每项资产的预估制作人天</li>
1318
+ <li>📝 专业的制作注意事项与建议</li>
1319
+ <li>📥 一键导出 Excel(含截图)/ CSV</li>
1320
+ </ul>
1321
+ </div>
1322
+ <div class="intro-col">
1323
+ <h4>🌐 English</h4>
1324
+ <p><strong>Scene Asset Analyzer</strong> is an AI-powered tool for analyzing 3D assets in game scene screenshots. Upload your scene screenshots and AI will automatically identify all 3D assets from a senior environment artist's perspective, providing:</p>
1325
+ <ul>
1326
+ <li>📦 Asset inventory with bilingual naming</li>
1327
+ <li>📐 Precise location annotation on original images</li>
1328
+ <li>⏱️ Estimated production time (man-days) per asset</li>
1329
+ <li>📝 Professional production notes & suggestions</li>
1330
+ <li>📥 One-click export to Excel (with images) / CSV</li>
1331
+ </ul>
1332
+ </div>
1333
+ </div>
1334
+ <div class="intro-models">
1335
+ <span class="intro-models-label">支持模型 Supported Models:</span>
1336
+ <span class="intro-model-tag sf">Qwen3-VL-32B</span>
1337
+ <span class="intro-model-tag gemini">Gemini 3 Flash</span>
1338
+ <span class="intro-model-tag gemini">Gemini 3 Pro</span>
1339
+ </div>
1340
+ </div>
1341
+ </div>
1342
+ </section>
1343
+
1344
  <!-- 上传区域 -->
1345
  <section class="upload-section" id="uploadSection">
1346
  <div class="upload-area" id="uploadArea">
 
2591
  // =================== 初始化 ===================
2592
  initAISettings();
2593
  updateModelSelectStatus();
2594
+ initIntroToggle();
2595
+
2596
+ // =================== 工具介绍收起/展开 ===================
2597
+ function initIntroToggle() {
2598
+ var toggleBtn = $('#introToggle');
2599
+ var introBody = $('#introBody');
2600
+ if (!toggleBtn || !introBody) return;
2601
+ var header = toggleBtn.closest('.intro-header');
2602
+ var collapsed = localStorage.getItem('intro_collapsed') === 'true';
2603
+ if (collapsed) {
2604
+ introBody.classList.add('collapsed');
2605
+ toggleBtn.classList.add('collapsed');
2606
+ }
2607
+ function toggle() {
2608
+ var isCollapsed = introBody.classList.toggle('collapsed');
2609
+ toggleBtn.classList.toggle('collapsed');
2610
+ localStorage.setItem('intro_collapsed', isCollapsed);
2611
+ }
2612
+ if (header) header.addEventListener('click', toggle);
2613
+ }
2614
 
2615
  // =================== 上传功能 ===================
2616
  dom.uploadArea.addEventListener('click', function(e) {