akari-video 0.1.15 → 0.1.16
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/package.json +1 -1
- package/vendor/docs/contract-2026-08-02-preview-parity.md +7 -1
- package/vendor/packages/akari-launcher/package.json +1 -1
- package/vendor/packages/edit-store/lib/edit-v2.js +10 -2
- package/vendor/packages/overlay-runtime/README.md +6 -0
- package/vendor/packages/overlay-runtime/package.json +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "akari-video",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "AKARI Video launcher CLI — start an AI-edited video project from any directory: scaffold, connection check, then hand over to Claude Code (or opencode). AKARI Video を opencode や Claude Code で、どのディレクトリからでも始めるための `akari` ランチャー CLI。接続確認(doctor)→ 未セットアップならプロジェクト雛形を作成 → AI エージェントを起動する。外部 npm 依存ゼロ(Node.js 組み込みモジュールのみ)。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -521,7 +521,10 @@ ffmpeg の `perspective` フィルタの制約(式に時刻変数を持たな
|
|
|
521
521
|
プレビューでは、書き出しの `acrossfade=d=<duration>` のような前後 2 音源の同時混合は行わない
|
|
522
522
|
|
|
523
523
|
### 2.6 トランジション
|
|
524
|
-
-
|
|
524
|
+
- `dissolve` / `fade-black` / `fade-white` / `reveal-down` / `reveal-up` の 5 種を実描画する。
|
|
525
|
+
dissolve は前後 2 面の opacity、fade は前後面 + 色プレート、reveal は incoming 面の
|
|
526
|
+
`clip-path` で表現する。Shell で video FX rail が有効な場合も同じ opacity / clip-path を
|
|
527
|
+
rail canvas へ鏡写しし、LUT / chroma 適用後の面同士を同じ進行率で合成する
|
|
525
528
|
|
|
526
529
|
### 2.7 書き込み
|
|
527
530
|
- edit.json への**すべての書き込み経路は edit-lint を通す**(UI・API・RPC を問わず)。
|
|
@@ -557,6 +560,9 @@ ffmpeg の `perspective` フィルタの制約(式に時刻変数を持たな
|
|
|
557
560
|
| `cuts[].fx`(2026-08-07 実装・近似あり) | 🟡(§2.4.5。5 種対応、3 種は近似バッジ付き) | ❌(未実装) |
|
|
558
561
|
| `layers[].keyframes`(2026-08-09 実装) | ✅(§2.4.7。transform/crop は連続補間。perspective は blend:"normal" のみ・書き出しの段階保持とサンプル点で一致) | ✅(§2.4.7。同左) |
|
|
559
562
|
| `cuts[].static-image-source`(2026-08-12 実装。正本: `contract-2026-08-12-still-image-cut-source-v0.md`) | 🟡(`<img>`/`<video>` 出し分け + preview-engine ClipSession/Timeline の image 対応を実装。framing/freeze/transform は流用。実ブラウザでの対話的スクラブ・複数区間切替の実機検証は未実施。2026-08-17: 静止画が stylesheet の display:none に隠れたまま永久に出ない実機バグ(`img.style.display=''`)を是正) | 🟡(2026-08-17 実装 — task/2026-08-17-shell-still-image-cut-preview。#preview-still + gap と同じ壁時計クロックで表示。cut transform/framing/freeze/選択ドラッグは video のスタイル鏡写しで流用。タイムラインの静止画フィルムストリップ/サムネも同時是正(probeForFilmstrip の duration 必須ガードが静止画分岐を dead code 化していた)。Electron 実機での対話検証は未実施) |
|
|
563
|
+
| `output.look` | 🟡(WebGL rail 配線は T2 予定) | ✅(WebGL rail。chroma → LUT、intensity 対応) |
|
|
564
|
+
| `chroma_key`(source / layer) | 🟡(WebGL rail 配線は T2 予定) | ✅(WebGL rail。source は背景合成、layer はアルファ抜き) |
|
|
565
|
+
| `audio.master` | 🟡(未裁定・badge のみ) | 🟡(未裁定・badge のみ) |
|
|
560
566
|
|
|
561
567
|
- `cuts[].framing`(静的クロップ / ズームキーフレーム)・`cuts[].freeze`(フリーズ)は
|
|
562
568
|
`contract-2026-07-22-render-basics.md` #6/#7 としてレンダ(render-cut)に加え、
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "akari-video",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "AKARI Video launcher CLI — start an AI-edited video project from any directory: scaffold, connection check, then hand over to Claude Code (or opencode). AKARI Video を opencode や Claude Code で、どのディレクトリからでも始めるための `akari` ランチャー CLI。接続確認(doctor)→ 未セットアップならプロジェクト雛形を作成 → AI エージェントを起動する。外部 npm 依存ゼロ(Node.js 組み込みモジュールのみ)。 [akari-video npm vendor: bin/akari.mjs is reference-only. These CLI entrypoints are not included in the akari-video npm package. Run them from a full AKARI Video app installation (normally ~/.akari/app) or a monorepo checkout.]",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -326,10 +326,18 @@ function requireRecord(value, path) {
|
|
|
326
326
|
function hasOwn(value, key) {
|
|
327
327
|
return Object.prototype.hasOwnProperty.call(value, key);
|
|
328
328
|
}
|
|
329
|
+
const UNKNOWN_KEY_GUIDANCE = {
|
|
330
|
+
emphasis_words: '語レベル演出は captions.json のトップレベル emphasis_words[] へ移してください(契約 contract-2026-08-23-captions-emphasis-words-v0.md)',
|
|
331
|
+
};
|
|
332
|
+
const DEFAULT_UNKNOWN_KEY_GUIDANCE = 'このキーは v2 の語彙にありません。手で編集した場合は取り除くか、.akari/backup/ の原本から復元してください';
|
|
329
333
|
function requireExactKeys(value, allowed, path) {
|
|
330
334
|
const unknown = Object.keys(value).filter(key => !allowed.has(key));
|
|
331
|
-
if (unknown.length > 0)
|
|
332
|
-
|
|
335
|
+
if (unknown.length > 0) {
|
|
336
|
+
const guidance = unknown
|
|
337
|
+
.map(key => `${key}: ${UNKNOWN_KEY_GUIDANCE[key] ?? DEFAULT_UNKNOWN_KEY_GUIDANCE}`)
|
|
338
|
+
.join(' / ');
|
|
339
|
+
throw invalid(path, `未定義キーを使用できません: ${unknown.join(', ')}。案内: ${guidance}`);
|
|
340
|
+
}
|
|
333
341
|
}
|
|
334
342
|
function requireText(value, path) {
|
|
335
343
|
if (typeof value !== 'string' || value.trim().length === 0)
|
|
@@ -18,6 +18,12 @@ Three.js + glTF シーンを決定的な時刻で描画し(`three-runtime.js`
|
|
|
18
18
|
| `#overlay-stage` 配下のオーバーレイ DOM の mount/tick/unmount | アプリシェルの DOM 骨格(上部バー・字幕リストパネル・トランスポート・スプリッタ等) |
|
|
19
19
|
| オーバーレイの選択・ドラッグ移動・拡縮ハンドル・ダブルクリックテキスト編集 | edit.json の実ファイル I/O(`overlay_write` の実装) |
|
|
20
20
|
| ズーム中の全体フレーム + 現在視野ミニマップ(`#minimap`) | 動画プレーンの再生/シーク、書き出しパイプライン |
|
|
21
|
+
| `video-fx.js` による動画面の画素 FX(LUT / chroma。外部時刻駆動) | 動画プレーン自身の再生・音声・クロック |
|
|
22
|
+
|
|
23
|
+
`video-fx.js` は `<video>` / `<img>` 1 面ごとに宣言がある場合だけ WebGL canvas を重ねる。
|
|
24
|
+
宣言が無い場合は canvas・WebGL context・rAF 負荷を一切作らない。ホストはメディア要素を再生の
|
|
25
|
+
正として保ち、タイムライン更新時に `rail.render(t)` を呼ぶ。WebGL 初期化・LUT 解決・画像読込が
|
|
26
|
+
失敗した rail は canvas を畳んで元のメディア表示へ戻るため、再生と音声を止めない。
|
|
21
27
|
|
|
22
28
|
ホストシェル(新モノレポの `apps/shell/` 等)は、本パッケージが期待する DOM id と
|
|
23
29
|
`window.akari.*` インターフェースを用意した上で、必要なスクリプトを読み込む。
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"README.md"
|
|
11
11
|
],
|
|
12
12
|
"scripts": {
|
|
13
|
-
"check": "node --check src/vendor/three-bundle.js && node --check src/vendor/vendor-3d-text-bundle.js && node --check src/three-runtime.js && node --check src/overlay-runtime.js && node --check src/interaction.js && node --check src/minimap.js",
|
|
13
|
+
"check": "node --check src/vendor/three-bundle.js && node --check src/vendor/vendor-3d-text-bundle.js && node --check src/three-runtime.js && node --check src/video-fx.js && node --check src/overlay-runtime.js && node --check src/interaction.js && node --check src/minimap.js",
|
|
14
14
|
"test": "node --test test-harness/*.test.mjs"
|
|
15
15
|
}
|
|
16
16
|
}
|