siro.orb v6.0 — SETTINGS / SPACE BRIDGE
Signal source
高評価(videos.rate)はAPIキーでは呼べず、OAuth 2.0が必要です。
GCPで OAuth同意画面(テスト)→ 認証情報 → OAuthクライアントID(ウェブアプリケーション) を作成し、
「承認済みのJavaScript生成元」に http://localhost:8000 を登録してIDを貼ってください。
生成元にLAN IPは登録できないため、高評価はlocalhostでのみ動作します(スマホで使うにはhttpsホスティングが必要)。
トークンは保存されず、約1時間ごとに再認証します。rate 1回 = 50 units。
—
Search Saver: 自動移動では search.list を呼びません。
明示検索だけを1回実行し、最大50件を7日間キャッシュして軌道へ段階的に再利用します。
自動探索は、台帳の庭・過去の検索プール・同チャンネルのアップロード一覧・同カテゴリの人気動画を組み合わせます。
同チャンネル取得は channels.list + playlistItems.list を使うためSearch Queries枠を消費しません。
Appearance // 外観
自動は端末のライト/ダーク設定に追従します。ダークは黒に近い背景を基調に、
青緑を主アクセント、カーキと鈍い黄を補助色として使います。ライト配色は従来のままです。
Sound // 音
YouTube は setPlaybackQuality を無効化済みで、
品質はプレイヤー内部のビューポート寸法と帯域から自動で決まります。小さく置くと音声も最下位ティア(Opus 48kbps帯)に落ちます。
ここで指定した実寸(すべて厳密な16:9)で iframe を描画し、見た目だけ CSS の transform: scale() で縮めます。
大きいほど音は良く、帯域は食います。上限は128kbps相当で、ここから先は上がりません。
クロスオリジンのiframeなのでYouTubeの音そのものは加工できません。できるのは混ぜることだけです。
ごく小さな暗騒音を重ねると、心理音響的にコーデックの粗が目立ちにくくなります。
局名を出して息を置きます。提供元をまたぐ継ぎ目を隠すためではなく、選局の間として扱うための時間です。
User Lists // ユーザー追加リスト
手動追加したリストは authoredなYouTubeユーザーリスト としてLOGへ記録します。
取得した動画はリストを削除するまで関連候補へ混ぜられ、Search Queries枠は消費しません。
1リストにつき最大200件を取得します。公開・限定公開リストを想定し、非公開リストはOAuth認証が必要です。
Ledger // 台帳
—
冷所は手で動かしたときだけ作られ、読み込み時には現役台帳と合流します。Drive同期には含めません。
追記専用イベントログ。取り込みはイベントIDの和集合でマージされ、既存の記録は失われません。
この端末への自動保存は —。書き出した単一JSONがsiroの可搬正本です。端末内では容量に応じて自動分割されます。
SPACE CONTEXT // 未接続
Space Context Bridge: siro.spaceを含む siro.data を取り込むと、
YouTube動画とREGION・LOG・活動・プロジェクトなどの関係を索引化します。
関連軌道、自動WARP、ラジオの選局に利用しますが、自動再生は従来どおり未採用のままで、
「しるし」「高評価」「+採用」が行われるまで恒常的な嗜好には変換しません。
Notes
エラー153が出る場合: YouTubeが埋め込み再生にReferer(参照元)の送信を必須化したためです。
file:// で直接開くとRefererが存在せず必ず失敗します。
python3 -m http.server 等で
http://localhost 経由で開いてください。広告ブロッカーやトラッキング防止でも発生します。
再生できない動画(エラー101/150)は投稿者が埋め込みを禁止しています。「YouTube ↗」から本体で視聴できます。
操作: 背景ドラッグ = 軌道回転 / ノードクリック = 移動 / ◈ WARP = ランダム移動
スマホ: 弧をスワイプで回し、タップで移動。iOSは音声つき自動再生が許可されないため、動画切替後にプレイヤーの▶を一度タップしてください。
スマホで開くには同一Wi-Fi上のPCから配信します(PC側で
python3 -m http.server 8000 →
スマホのブラウザで http://PCのIPアドレス:8000/siro-orb.html)。
台帳の自動保存はアドレス(オリジン)ごとに別になるため、PCのIPを固定するか、書き出しJSONを正本として運用してください。