尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Next.js と Supabase で実装した、芸人・学生芸人向けの台本制作専用エディタです。
/stage)に集約:つくる(人形劇をいじる)・かく(速記)・わたす(書き出し・印刷)すぐ書く:ネタ一覧の「+ 漫才/コント/ピン」で、ユニットも題も決めずに台本を作って「かく」を開く (ユニットが無ければ「マイネタ」を作る。役はユニットの演者名、いなければ A・B)。ホーム画面のショートカットからも開ける。 「つづきを書く」に最近の台本が並ぶ。
保存:台本はこの端末(localStorage)に保存し、1分ごとに IndexedDB にも控えをとる(台本ごとに30件)。 ネタ一覧の「自動の控えから戻す」で戻せる。「かく」の右上に最後に保存した時刻。 保存できなかったとき(端末の保存場所がいっぱいなど)は「⚠ 保存できていません」、クラウドへ送れなかったときは「クラウド未送信」と出る。
クラウドとの突き合わせ(lib/sync.ts):ネタ一覧を開いたとき、手元とクラウドを id ごとに比べる。
手元にしか無い台本・ユニット(圏外で作った、送り損ねた)は消さずにクラウドへ送り直し、両方にあるものは最後に直した時刻が新しいほうを採る。
three.js(舞台)は「つくる」を開いたときだけ読み込む。
/stage) → つくる ⇄ かく ⇄ わたすネタ作成で入れた配役・衣装・使用道具・持ち込み物・音源トラックは、「わたす」で直せる。 役の追加は人形箱/小道具箱の「+」。台本で使っている役は消せない。
npm install
.env.local を作成し、Supabase の設定を入力NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
-- ユニット情報
create table units (
id uuid primary key,
name text not null,
university text,
created_at timestamptz default now()
);
-- 演者情報
create table performers (
id uuid primary key,
unit_id uuid not null references units(id) on delete cascade,
name text not null,
grade text,
created_at timestamptz default now()
);
-- 台本情報
create table scripts (
id uuid primary key,
unit_id uuid not null references units(id) on delete cascade,
title text not null,
neta_type text not null,
tools text,
bring_ins text,
costumes text,
blocks jsonb,
created_at timestamptz default now(),
updated_at timestamptz default now()
);
-- 登場人物(台本ごと)
create table characters (
id uuid primary key,
script_id uuid not null references scripts(id) on delete cascade,
name text not null,
performer_id uuid references performers(id)
);
-- 音源(ユニットごと)
create table sounds (
id uuid primary key,
unit_id uuid not null references units(id) on delete cascade,
"index" integer not null,
name text not null,
unique(unit_id, "index")
);
npm run dev
NEXT_PUBLIC_SUPABASE_URL と NEXT_PUBLIC_SUPABASE_ANON_KEY を Vercel 環境変数として追加「芸人が 1 時間台本を書いたとき、Word に戻りたくなくなること」を最重要成功指標とします。
ネタ一覧の「つくる/かく/わたす」から /stage?id=<台本id> を開く。モードは3つ(&mode=make|write|hand)。
台本の本体は舞台の項目(scripts[].stage)。これまでのブロック形式(blocks)は、保存のたびに舞台の項目から起こし直している(クラウドの blocks 列と、これまでの形を読む側のため)。
新規台本の設定(「既存の台本を読み込む」)か、「わたす」から。Word(.docx)・テキスト(UTF-8/Shift_JIS)・貼り付け・JSON に対応(lib/stage/importText.ts・lib/stage/scriptFile.ts)。
古い Word(.doc)と PDF は、本文をコピーして貼り付ける。
| 台本の書き方 | 落とし込む先 |
|---|---|
親父「セリフ」/親父:セリフ/親父<Tab>セリフ/名前の無い 「セリフ」(直前の話者) | セリフ(知らない名前は役を足す) |
親父 セリフ(全角空白区切り) | 3回以上出てくる名前か、登録済みの名前ならセリフ |
(ト書き)/(親父、ト書き)/(間) | 動き/間 |
明転・暗転・【じわ明転 3秒】・【ピン2 IN】 | 照明 |
【音源①】C.I『名前』・M1 C.I・SE:拍手 | 音響 |
【板付き】親父(下手)・【親父 出(下手から・中央へ)】・【親父 ハケ(上手へ)】 | 出ハケ |
タイトル:・登場人物:・使用道具:・ユニット名:・コント「題」 | 題・役・道具など |
| それ以外 | (動き)として残す(文字は捨てない) |
出ハケの書いていない台本は、しゃべる人形を板付きにして明転から始める。「わたす」の書き出しを読み込むと同じ台本に戻る。
scripts[].stage、characters[].color)。クラウドへは、本文を blocks に起こしたもの・登場人物・音源だけを送る(lib/cloud.ts)。| 触るもの | 操作 | 台本に入るもの |
|---|---|---|
| 人形 | ドラッグ/袖や人形箱へ/人形箱から | 移動/ハケ/出 |
| タップ/長押し | その場でセリフ/名前と色 | |
| 壁(ホリゾント) | タップ | (動き) |
| 照明卓 | 明転・暗転/じわ明・じわ暗 | 全体の明暗(じわは3秒) |
| 灯体 | タップ | そのピンの点灯/消灯 |
| 音源プレーヤーの網 | タップ | 新しい音源の C.I |
| 音源プレーヤーの ॥ | タップ | その音源の C.O |
| 小道具 | 小道具箱から/へ・人形の上へ | 置く/片付ける・持つ(受け取る) |
| 大道具 | 床の上をドラッグ・つまみを回す | 置く・動かす(奥行きと向きも)/片付ける |
コードは lib/stage/(状態計算・尺・編集・書き出し・ネタ管理との橋渡し。UIから切り離した純粋関数)と
components/stage/(three.js の舞台と台本ビュー)。npm test で単体テストとスナップショットテストを回す。
サンプル『父』は /stage の「サンプル『父』を追加して開く」で入る。参考の chichi.html がリポジトリに無いため、依頼書の書き出し例から再構成した抜粋。
台本を「文書」から「タイムライン」に変え、間・音源・照明をデータとして持たせて
デジタル・プレ・リハーサル(通し再生・実尺の確認)に進むための設計要件は
docs/rehearsal-data-spec.md。
中長期の順路全体は pompman docs/neta-ai-roadmap.md。
この段階でツールの成功条件は変えません。 データ収集のために必須入力を増やさないことが前提です。