refactor: simplify primary workflows

This commit is contained in:
Codex
2026-08-28 18:33:20 +09:00
parent 6e5bd512b9
commit 35c33e360e
5 changed files with 756 additions and 126 deletions
+37 -70
View File
@@ -11,90 +11,57 @@
<link rel="stylesheet" href="/packages/ui/app-shell.css" />
</head>
<body>
<header class="landing-header">
<a class="landing-brand" href="/" aria-label="micarrsim 홈">micarrsim</a>
<div class="status-row" aria-label="실행 환경">
<span class="status-chip" id="webgpu-status">그래픽 장치 확인 중…</span>
<span class="status-chip status-chip--neutral">파일은 이 기기에서 처리됩니다</span>
</div>
<a class="landing-docs" href="/docs/">사용 설명서</a>
</header>
<main class="landing-shell">
<section class="hero-card">
<p class="eyebrow">192-channel acoustic camera laboratory</p>
<h1>micarrsim</h1>
<p class="hero-copy">
합성 음향 장면을 만들고, 마이크 배열의 자유음장 응답과 DAS 음향 영상을 같은 조건에서
비교합니다.
</p>
<div class="status-row" aria-label="실행 환경">
<span class="status-chip" id="webgpu-status">그래픽 장치 확인 중…</span>
<span class="status-chip status-chip--neutral">로컬 처리 · 외부 업로드 없음</span>
</div>
<section class="landing-intro" aria-labelledby="landing-title">
<p class="eyebrow">Microphone array workbench</p>
<h1 id="landing-title">무엇을 하시겠어요?</h1>
<p>배열 위치추정을 바로 실행하거나, 평가에 사용할 음원 장면을 먼저 만드세요.</p>
</section>
<section class="workflow-card" aria-labelledby="workflow-title">
<div class="workflow-card__heading">
<section class="launcher-grid" aria-label="작업 선택">
<a class="launcher-card launcher-card--accent" href="/apps/acoustic-camera/">
<span class="launcher-card__number" aria-hidden="true">01</span>
<div>
<p class="eyebrow">Local workflow</p>
<h2 id="workflow-title">파일이 흐르는 방식</h2>
<p class="launcher-card__kicker">바로 분석</p>
<h2>Acoustic Camera</h2>
<p>기본 예제 또는 내 Scene·배열 설정으로 위치추정 결과를 확인합니다.</p>
</div>
<a href="/docs/#asset-reconnect">왜 원본을 다시 선택하나요?</a>
</div>
<ol class="workflow-list">
<li><strong>Dataset Builder</strong><span>음원과 위치 만들기</span></li>
<li><strong>Scene JSON + 원본 assets</strong><span>같이 보관하기</span></li>
<li><strong>Acoustic Camera</strong><span>배열·DAS 실행하기</span></li>
<li><strong>Result JSON</strong><span>map·지표 저장하기</span></li>
</ol>
<p class="workflow-note">
원본 파일은 JSON에 포함되거나 외부로 업로드되지 않습니다. Camera에서 같은 파일을 다시
선택하면 SHA-256으로 확인한 뒤 연결합니다.
</p>
</section>
<span class="launcher-card__action">Camera 열기 →</span>
</a>
<section class="launcher-grid" aria-label="도구 선택">
<a class="launcher-card" href="/apps/dataset-builder/">
<span class="launcher-card__number">01</span>
<span class="launcher-card__number" aria-hidden="true">02</span>
<div>
<p class="launcher-card__kicker">평가 장면 제작</p>
<h2>Dataset Builder</h2>
<p>기기 이미지에 음원을 배치하고 ambient를 혼합해 재현 가능한 장면을 만듭니다.</p>
<p>음원 파일과 이동 경로를 배치해 정답 위치가 있는 Scene을 만듭니다.</p>
</div>
<span class="launcher-card__action">새 Scene 만들기 →</span>
</a>
<a class="launcher-card launcher-card--accent" href="/apps/acoustic-camera/">
<span class="launcher-card__number">02</span>
<div>
<h2>Acoustic Camera</h2>
<p>배열 응답과 DAS 결과를 비교하고 이동 음원의 acoustic map을 시간축으로 재생합니다.</p>
</div>
<span class="launcher-card__action">기본 예제로 바로 실행 →</span>
</a>
</section>
<section class="quick-start-grid" aria-label="빠른 시작">
<article class="quick-start-card">
<p class="eyebrow">30초 확인</p>
<h2>설정 없이 첫 결과 만들기</h2>
<p>Acoustic Camera를 열어 <strong>▶ 기본 예제 실행</strong>을 누르고, 완료되면 <strong>Result JSON</strong>을 저장하세요.</p>
<a href="/apps/acoustic-camera/">기본 예제 열기 →</a>
</article>
<article class="quick-start-card">
<p class="eyebrow">이동 음원</p>
<h2>설정 없이 라이브 재생</h2>
<p>Camera에서 <strong>이동 예제 → 라이브 준비 → 재생</strong>만 누르면 됩니다.</p>
<a href="/apps/acoustic-camera/">이동 예제 열기 →</a>
</article>
<article class="quick-start-card">
<p class="eyebrow">내 데이터</p>
<h2>Builder부터 끝까지</h2>
<p>Scene을 저장한 뒤 Camera에서 <strong>Scene → Array → Experiment → Assets</strong> 순서로 가져오면 참조 오류를 줄일 수 있습니다.</p>
<a href="/docs/#full-workflow">5분 안내 보기 →</a>
</article>
</section>
<footer class="landing-footer">
<a href="/docs/">사용 설명서</a>
<span aria-hidden="true">·</span>
<a href="/tests/">테스트</a>
<span aria-hidden="true">·</span>
<a href="/benchmarks/webgpu-scaling.html">성능 측정</a>
<span aria-hidden="true">·</span>
<a href="/docs/execution-plan.md">실행 계획</a>
</footer>
<details class="workflow-disclosure">
<summary>내 파일로 분석하는 순서</summary>
<ol class="workflow-list">
<li><strong>Scene 제작</strong><span>Builder에서 음원과 위치 지정</span></li>
<li><strong>파일 보관</strong><span>Scene JSON과 원본 파일을 함께 보관</span></li>
<li><strong>Camera 입력</strong><span>Scene, 배열, 원본 파일 선택</span></li>
<li><strong>결과 저장</strong><span>위치 map과 지표를 Result JSON으로 저장</span></li>
</ol>
<p class="workflow-note">
Scene JSON에는 원본 파일이 포함되지 않습니다. 다시 열 때 같은 파일을 선택하면 SHA-256으로
확인해 연결합니다. <a href="/docs/#asset-reconnect">자세히 보기</a>
</p>
</details>
</main>
<script type="module" src="/packages/ui/landing.js"></script>
</body>