← FUNKY STADIUM ポータルへ戻る / Back to portal
フォールバックマニュアルTHE FALLBACK MANUAL — when the app breaks, the show goes on
アプリ(SHIROFES OS / Events OS)が使えなくなっても祭を止めないための紙運用マニュアル。印刷して受付テーブルと本部に常備してください。 Paper-first operations for when the app is unreachable. Print this and keep a copy at reception and HQ. (Pair: edit together with manuals/FALLBACK_MANUAL.md in the repo.)
鉄則Golden rules
- アプリで進行を止めない。ショーは必ず続行。記録はすべて後から直せる。Never block the show on the app. Every record can be fixed afterwards.
- staff.html が使えない時の現金は紙の台帳。「名前・金額・時刻」を必ず書く。復旧後に staff.html の支払いピルで1件ずつ照合。Cash when staff.html is unreachable goes on a paper ledger — name + amount + time. Reconcile after via the staff.html payment pills.
- 出場番号は後から付け直せる。番号が出ない・null でも紙のリストで進行してよい(バックフィル可)。Entry numbers can be backfilled — run from the paper list.
- スコアは後から入れられる。紙の採点用紙に記入し、judge.html 復旧後にジャッジが再入力(紙を見ながら)。予選は SD が stage.html の「予選通過者の入力」で通過者を直接入力可(スコア不要)。Scores can be entered later — judges re-enter from the paper sheets once judge.html recovers; for prelims the SD can enter qualifiers directly via stage.html (no scores needed).
前日チェックリスト — 印刷するものDay-before checklist — what to print
- 全データの XLSX アーカイブadmin → ダッシュボード → 「XLSX 保存 / Download XLSX」。受付リストの紙バックアップになる。 / Admin dashboard XLSX archive — your paper reception list.
- 参加者向けタイムテーブル(掲示用ポスター)prep → タイムライン → 印刷(timetable.html のポスター印刷が開く)。 / Participant timetable poster via prep Print.
- MC台本mc-script.html → 「PDF / 印刷」ボタン。 / mc-script PDF / 印刷 button.
- 進行表グリッド(全ステージROS)timetable.html → 印刷。 / timetable.html grid print.
- ブラケットPNG(空テンプレート含む)export.html → 各バトルの空テンプレートを書き出して印刷。手書きブラケットの土台。 / Bracket PNGs via export.html — blank templates for hand-written brackets.
- 白紙の採点用紙(予選人数分+予備)judge.html が落ちた時用。 / Blank paper scoresheets.
- このマニュアル自体受付+本部に1部ずつ。 / This manual itself — one at reception, one at HQ.
前日(準備)Day before — preparation
| 壊れたら / If X breaks | やること / Do Y |
| 受付が開けない(定員カウンター未設定などの前提条件エラー)Open Registration blocked (counters missing) | admin → Settings → 「イベントセットアップ再実行」(ボタン: 再実行 / Reprovision)。直らなければ prep の Doors カードの不足項目を1つずつ潰す。「シートミラー未設定」は v136.616 で廃止済み — 出ても無視して構わない。Rerun event setup via the admin Settings card (再実行 / Reprovision button); then clear each missing precondition on the prep Doors card. The old sheet-mirror precondition was retired in v136.616 — ignore it if you still see it. |
| デバイスのGoogleサインインが切れているA cast/ops device lost its Google sign-in | 前日のうちに mc-script / judge / mc の各デバイスでサインインを済ませる。当日のサインイン中断が一番痛い。Pre-sign every device the day before — day-of sign-in interrupts the show. |
| デバイス紛失・故障Device lost / broken | 予備iPadでサインインし直す。kiosk端末を紛失した場合は admin → Settings で QRシークレットをローテーション。ただし7日間は旧QRも有効(二重キー重複期間)— 紛失端末対策としては会場での目視照合を併用。Re-sign a spare iPad; rotate the QR secret in admin Settings if a kiosk device is lost — old QRs stay valid for 7 days (dual-key overlap), so pair with visual ID checks at the venue. |
| 印刷が間に合っていないPrinting not done | 上の前日チェックリストを順に。最低限:XLSXアーカイブ+採点用紙+このマニュアル。Run the checklist; minimum = XLSX archive + scoresheets + this manual. |
受付Reception
| 壊れたら / If X breaks | やること / Do Y |
| staff.html が開かない・検索できないstaff.html unreachable | 印刷済みXLSXの受付リストにチェックで受付続行。現金は紙台帳(名前・金額・時刻)。復旧後に staff.html で1件ずつチェックイン+支払いピルで照合。Check in on the printed list; cash on the paper ledger; reconcile after via staff.html. |
| QRスキャナ(kiosk)が動かないKiosk QR scanner down | staff.html の名前検索で手動チェックイン。QRは必須ではない。Manual check-in by name search — QR is optional. |
| カード決済(Stripe)エラーStripe card payments fail | 当日支払い(現金)に切り替えて受付。現金受領は staff.html の支払いピル、落ちていれば紙台帳。事後に admin の入金タブで照合。Switch to pay-at-door cash; reconcile in admin Payments after. |
| 確認メールが届いていない参加者Dancer's confirmation email missing | メールはチェックインに不要。participants に居れば普通にチェックイン。必要なら admin → 参加者 → 「リンク再発行 / Resend」。Email is not required for check-in; reissue the portal link via the admin リンク再発行 / Resend button if needed. |
| Wi-Fi が死んだ・激重Wi-Fi lost / degraded | 受付iPadをLTEテザリングへ。アプリ画面はキャッシュで動き続ける — 1操作ずつ「反映されたか」を確認しながら進める。受付タブは停電・回線断中に再読み込みしない(メモリキャッシュのみ — リロードで白画面。開いたままなら動き続ける)。LTE-tether the reception iPads; verify each action committed before the next. Never reload the reception tab mid-outage — the cache is memory-only, a reload gives a blank page; a tab left open keeps working. |
| Firebase 全面停止(全ページがオフライン表示)Full Firebase outage | 紙運用に全面切替:印刷リストにチェック+現金台帳。停止開始時刻と担当者を紙にメモ。復旧後の入力はすべて「停電バックフィル」と注記。Go fully paper; note outage start time + operator; tag all backfilled entries. |
予選・ジャッジPrelims + judging
| 壊れたら / If X breaks | やること / Do Y |
| judge.html が動かないjudge.html down | 白紙の採点用紙に記入して予選続行。judge.html 復旧後にジャッジが再入力(紙を見ながら)。予選は SD が stage.html の「予選通過者の入力」で通過者を直接入力可(スコア不要)。Paper scoresheets; judges re-enter via judge.html after recovery; for prelims the SD can enter qualifiers directly on stage.html (no scores needed). |
| 出場番号が表示されない・nullEntry numbers null / missing | 止まらない。紙のリスト順で呼び出して進行。番号は後からバックフィルできる。Don't stop — call from the paper list; numbers backfill later. |
| 集計(Top N)が出ないScore tally won't compute | 紙の採点用紙を手集計し、SD が Top N を確定。ブラケットは手動シードへ(次の表)。Hand-tally; SD locks Top N; seed the bracket manually. |
トーナメント(ブラケット・SD)Bracket + stage director
| 壊れたら / If X breaks | やること / Do Y |
| ブラケット自動生成が失敗Bracket auto-build fails | 「ブラケット・シード配置の可視化 / Bracket Seeding Visualizer」で人数Nごとのシード配置を確認し、印刷済み空テンプレートに手書きで組む。余裕があれば admin → ブラケットタブ → 上書きモードで手動入力。Use the bracket-formations reference + a printed blank template; hand-seed; optionally mirror into admin override mode. |
| stage.html の勝者タップが反映されないSD winner-taps not committing | 紙ブラケットで進行を継続(勝者に丸)。復旧後に admin で結果を後追い入力。Run the paper bracket; backfill results in admin after. |
| export.html のPNGが書き出せないBracket PNG export fails | 印刷済み空テンプレートに手書き → スマホで撮影してSNS共有。Hand-write a printed template; photograph it for social. |
MC・進行MC + show flow
| 壊れたら / If X breaks | やること / Do Y |
| mc-script.html が落ちたTeleprompter down | 印刷済みMC台本に切替。進行順は印刷済み進行表グリッドで確認。Printed MC script + printed ROS grid. |
| ステージタイマーが動かないStage timer down | スマホのストップウォッチ+MCの口頭カウント。Phone stopwatch + MC verbal count. |
| ディレクター→MC連絡が届かないDirector→MC messages not arriving | ランナー(人力)か LINE/Slack に切替。手信号を事前に2つ決めておく(延長・巻き)。Runner or LINE/Slack; pre-agree two hand signals (stretch / hurry). |
| ステージ停電Stage power outage | MC が中断をアナウンス。中断したラウンドは最初からやり直し(スコア持ち越し禁止)。復旧後に SD がタイマーをリセット。MC announces the pause; interrupted rounds restart from scratch — never carry scores over. |
| 運営担当者が不在になったOperator unavailable mid-event | admin → Settings → シフト引き継ぎで次の担当へマジックリンクを発行。admin に誰も入れない場合は紙台帳+受付シートで続行し、事後照合。Shift-handoff card in admin Settings; if no admin reachable, run on paper + reconcile after. |
復旧(事後処理)Recovery — after the outage
| やること / Task | 方法 / How |
| 紙チェックインの反映Backfill paper check-ins | admin のウォークインモーダルで1件ずつ入力。モーダル登録後、参加者行の MEMO 欄に「停電バックフィル / outage-backfill」と注記(別操作)。Admin walk-in modal, one by one; after each, add an outage-backfill note in the participant row's MEMO column (separate step). |
| 現金照合Cash reconciliation | 紙台帳(名前・金額・時刻)と staff.html の支払いピルを突き合わせ、未反映分をピルで確定。Match the paper ledger against the staff.html payment pills. |
| スコアの後追い入力Score backfill | judge.html 復旧後にジャッジが再入力(紙を見ながら)。予選は SD が stage.html の「予選通過者の入力」で通過者を直接入力可(スコア不要)。Judges re-enter from the paper sheets via judge.html; for prelims the SD can enter qualifiers directly on stage.html (no scores needed). |
| 出場番号のバックフィルEntry-number backfill | admin の復旧ツール(番号バックフィル)で再付番。admin.html を ?debug=1 付きで開くとツールが表示される(通常時は非表示)。Re-number via the admin recovery tools — open admin.html with ?debug=1 to reveal the tool (hidden normally). |
| ポストモーテムPost-mortem | 48時間以内に記録(何が・いつ・どう運用したか)。テンプレートはリポジトリの archive/postmortems/ にある。Capture within 48 hours; templates live in the repo's postmortems archive. |
リハーサルの実施Running a rehearsal
リハーサルは本番イベントの安全なコピー上で動きます。開始すると全オペレーター画面(ジャッジ / MC / DJ / VJ)がコピーに切り替わり、本番データ・メール・シート・スタンプには一切触れません。終了でコピーを削除し本番に戻ります — 本番は一度も変更されないので「巻き戻し」は不要です。 A rehearsal runs on a SAFE COPY of the live event. Starting it switches every operator screen (judge / MC / DJ / VJ) to the copy; no real data / emails / sheet / stamps are touched. Ending it deletes the copy and returns to live — the real event was never changed, so there is nothing to rewind.
① SDによるステージ・ブリーフィング(stage.html)SD-led stage briefing — the「ブリーフィング / Stage briefing」card
| 手順 / Step | 内容 / What happens |
| 1. ステージ・日を選び、バトルを選ぶPick stage + day, then the battle | stage.html 上部の日チップでバトル一覧を絞り、ブリーフィング対象のバトルを選択。「ブリーフィング / Stage briefing」カードを開く。Day chips scope the battle picker; the stage comes from the picked battle. Open the Stage briefing card. |
| 2. 「リハーサル開始(安全なコピー)」Start rehearsal (safe copy) | イベント全体の安全なコピーを作成し、全オペレーター画面がコピーに切り替わる。本番データには一切触れない。Creates a safe copy of the WHOLE event; every operator screen switches to it. The real data is never touched. |
| 3. 「チェックイン投入」Simulate check-ins | コピー上の登録者に本番と同じ経路で模擬チェックインを書き込む(本番には影響しない)。Events-OS は連番つき、SHIROFES は番号なし。Writes simulated check-ins onto the COPY's registrants through the production paths (the real event is untouched) — Events-OS numbered, SHIROFES unnumbered. |
| 4. 抽選・ブラケットは本番どおりRaffle + bracket as normal | スタート番号ルーレットの確認、ブラケット生成、勝者タップの自動進行 — 操作は本番と同一(すべてコピー上)。Start-number roulette confirm, bracket build, winner-tap auto-progression — same controls as the live show (all on the copy). |
| 5. 「リハーサル終了(コピー削除)」End rehearsal (delete copy) | 確認するとコピーが削除され、全画面が本番に戻る。本番は一度も変更されていないので、巻き戻す対象は何もない。Confirm deletes the copy and every screen returns to live. The real event was never changed, so there is nothing to undo. |
⚠ 本番開場の前に必ず「リハーサル終了(コピー削除)」を押すこと。押さないと本番がコピー上で進行します。 You MUST end the rehearsal (delete copy) before live doors — otherwise the live show keeps running on the copy.
② イベント全体リハーサル(admin → 設定 → リハーサルモード)Event-wide rehearsal — admin Settings, Rehearsal Mode card
| 操作 / Control | 内容 / What happens |
| ▶ リハーサル開始Start rehearsal | stage.html のブリーフィングと同じサンドボックス。イベント全体のコピーを作り、全オペレーター画面(VJ含む)をコピーに切り替える。本番データ・メール・シート・スタンプには一切触れない。The same sandbox as the stage briefing. Clones the whole event and switches every operator screen (incl. VJ) to the copy; no real data / emails / sheet / stamps are touched. |
| ■ リハーサル終了(コピー削除)End rehearsal (delete copy) | コピーを削除し全画面が本番に戻る。本番は変更されていないので後片付け・巻き戻しは不要。Deletes the copy; every screen returns to live. The real event was never changed, so there is no cleanup or rewind. |
注意 / WARNING: 設定タブの「リハーサルデータ削除」は参加者ドキュメントごと削除します(復元不可)。リハーサルには使わないこと — リハーサルは上の「サンドボックス・リハーサル」を使えばコピー上で行われ、本番データに触れないので後片付けは不要です。「リハーサルデータ削除」はデモデータの再取込前など、ランタイムを本当に空にしたいときだけ使います。「リハーサルデータ削除」(Delete rehearsal/runtime data, in Settings) DELETES participant docs and cannot be undone. Do NOT use it for rehearsals — use Sandbox Rehearsal (above), which runs on a copy and needs no cleanup. Reserve the delete for genuinely emptying the runtime (e.g. before a demo re-import).
③ リハーサル中のMC(mc-script.html)MC during rehearsal — the teleprompter
| 見えるもの / What the MC sees | 内容 / Notes |
| アンバーの「リハーサル中 / REHEARSAL」帯Amber rehearsal strip | テレプロンプター最上部に表示。そのステージがリハーサル中のあいだだけ出る。Top of the teleprompter, shown while this stage is rehearsing. |
| 台本のタップ編集+メモTap-to-edit script + memo | リハーサル中だけ、台本セクションをタップして直接編集+メモ入力ができる。リハーサル外でタップすると「リハーサル中のみ編集できます — SDに開始を依頼してください」、本番確定ロック中は「解除は進行表(rundown)の編集ヘッダーから」と解除方法が表示される。Editable during the stage's rehearsal only; outside it the tap names the unlock (ask the SD to start rehearsal / unlock 本番確定 from the rundown edit header). |
④ リハーサルで確認することWhat rehearsal proves
- 本番と同じ書き込み経路で全画面が動く模擬データではなく、実際の登録者・本物の経路。チェックインで一覧が並び替わり、採点・ブラケットがそのまま流れる。 / Real registrants through the real production write paths — lists reorganize, scoring + bracket flow end-to-end.
- 機内モードのジャッジテストjudge.html をオフラインにして採点 → ヘッダーに「📡 未送信」チップ → 再接続 → 自動送信されチップが消える。 / Score offline → 未送信 chip appears → reconnect → auto-syncs and clears.
- SD→MC 連絡ループSD がメッセージ送信 → MC が「確認した / OK」をタップ → stage.html の送信履歴に ✓ 確認済+時刻。 / SD sends → MC taps 確認した → SD sees ✓ 確認済 + time in the sent list.
このページは静的(Firebase 不使用)。本番アプリが全滅していてもこのページと「ブラケット・シード配置の可視化」は home.funkystadium.app から開けます — それすら落ちた時のために印刷を。 This page is static (no Firebase) and stays up even when the runtime app is down — and you printed it anyway, right?