Fireworks Open ELI5 は何をしますか?
複雑なシステムを、真実に基づいた視覚的なストーリーに変換します。まずポータブルなJSON仕様を作成し、次に決定論的な自己完結型のHTMLエクスプレイナーを生成します。
絶対に守るべき境界線
- 証拠は視覚的な美しさに優先します。すべての証拠項目には
verified、inferred、analogyのいずれかのラベルを付けます。 - アナロジーを実装の真実のように見せかけてはいけません。
- 生成されたローカルHTMLファイルは単なる
generated(生成物)です。published(公開済み)、アップロード済み、送信済み、宛先確認済みではありません。 - ユーザーの明示的な要求と、宛先ワークフロー自身による検証なしに、公開、アップロード、送信、またはアクセス権の変更を行ってはいけません。
- レンダリングはネットワーク呼び出しを一切行いません。引用されたURLは読者向けのリンクであり、実行時の依存関係ではありません。オプションのネイティブPagesアクションは、バンドルされた同一オリジンのヘルパーを
127.0.0.1上でのみ呼び出すことができます。リモートサービスに接続してはいけません。 - ブラウザローカルの履歴、お気に入り、注釈は、読者がオプトインするまで無効になっています。これらは便利な状態であって証拠ではなく、ソースの仕様や生成されたアーティファクトを決して変更しません。
- 履歴は、以前にそのブラウザで開かれた同一オリジンのエクスプレイナーとして正確に記述します。生成されたすべてのファイルを列挙するものだと決して主張してはいけません。
- PDFエクスポートはブラウザの印刷ダイアログを呼び出します。PNGは1シーンをエクスポートし、PPTXおよびPages互換のDOCXはスライドまたはページごとに1シーンをエクスポートします。ネイティブの
.pages出力は、インストール済みのPagesアプリが実際に保存した場合にのみ許可されます。DOCX を.pagesにリネームしてはいけません。生成されたダウンロードはローカルアーティファクトのみです。
ワークフロー
-
対象読者、質問、言語、そしてストーリーを通して伝えるべき1つのもの(リクエスト、パケット、決定、イベント、ユーザーアクション)を特定します。
-
正確に1つのストーリー文法を選択します。
concept:直感 → メカニズム → 境界。module:エントリポイント → 変換 → 出力/依存関係。tradeoff:共通の目標 → 競合する選択肢 → 結果/決定ルール。incident:通常のパス → 障害と伝播 → 検出/復旧。
-
証拠を収集します。リポジトリ作業の場合は、実際のファイルを調査し、ローカルパスを使用します。外部の主張については、利用可能な場合は信頼できるソースを使用します。不確実性は明示的に記録します。
-
references/spec-contract.md に従ってバージョン1のJSON仕様を作成します。3~7シーン、シーンあたり2~6ノード、完全な真実の階段(truth ladder)、トレース、用語集、ティーチバック、証拠マップ、および必須のモード固有の
modeDataを使用します。重要なノードには障害情報を追加します。 -
レンダリング前に検証します。
node scripts/validate.mjs path/to/spec.json -
新しいローカルファイルにレンダリングします。
node scripts/render.mjs path/to/spec.json path/to/explainer.htmlレンダラーは既存のパスを拒否します。ユーザーが既知の通常ファイルを明示的に置き換えたい場合にのみ、
--forceを追加します。強制レンダリングはアトミックな置き換えを使用し、それでもシンボリックリンクやファイル以外のパスは拒否します。 -
仕様とアーティファクトを一緒に検証します。
node scripts/validate.mjs path/to/spec.json path/to/explainer.html -
ブラウザが利用可能な場合は、デスクトップ幅と390pxでローカルアーティファクトを検査します。1つの
h1、読み取り可能なラベル、水平方向のオーバーフローがないこと、キーボードフォーカス、独立したタブリスト、グローバルおよびシーンローカルの再生、ビューポート追従、アクティブなリアルエッジとエビデンスカードの同期、エンターホールド/エグジットアニメーションフェーズ、障害レンズ、回答の表示、リモートリソース要求がゼロであることを確認します。すべてのシーンエビデンスカードは、そのステータス、簡潔なコア根拠、サポート範囲、およびURLまたは明示的な「ロケーターなし」の境界を公開する必要があります。 -
リーダーワークスペースを実行します:モーダルドロワーをマウスとキーボードで開いて閉じ、フォーカスが戻ることを確認し、意図的にライブラリを有効にし、リロードしてお気に入りとプレーンテキストの注釈を確認し、履歴に実際に開かれた同一オリジンのエクスプレイナーのみが含まれていることを確認します。マークアップ形状の注釈を使用して、それが不活性なテキストのままであることを確認します。
-
エクスポートを実行します:印刷スタイルシート、PNGのシグネチャと寸法、PPTXとDOCXのZIPシグネチャと必要なOOXMLパーツ、および自動ダウンロードが抑制された場合のフォールバックダウンロードリンクを確認します。シーンアートワークに、ステータス、コア根拠、ソースロケーターまたは境界を含む境界付きエビデンスフッターが含まれていることを視覚的に確認します。ネイティブPagesが適用範囲内にある場合は、
scripts/serve.mjsを実行し、.pagesパッケージにIndex/Document.iwaが含まれていることを確認してから、Pagesで再度開きます。変更後は、仕様またはテンプレートを修正し、両方のバリデーターを再実行します。
レポート言語
- 最終的なQA、ステータス、ハンドオフ、および生成アーティファクトレポートは、デフォルトでユーザーの最新の実質的なリクエストの言語で記述します。
- 明示的なレポート言語のリクエストはそのデフォルトを上書きします。
spec.languageは生成されたエクスプレイナーインターフェースのみを制御します。会話のレポート言語を強制するものではありません。- 多言語の会話では、レポート言語を選択する際に短い謝辞は無視します。翻訳によって精度が低下する場合は、コード、コマンド、パス、識別子、正確なエラー、ソースタイトルを保持します。
完全な言語選択と配信レポートの契約については、references/reporting.md をお読みください。
ストーリー構築ルール
- タイトルはカテゴリラベルではなく、具体的な約束として記述します。
- サマリーは1文に、各ノードは1つの責務に抑えます。
- 3~5シーンを推奨します。段階を省略すると因果関係が歪む場合にのみ、6~7シーンを使用します。
- エッジは関係性またはアクションです。ラベルには短い動詞を使用します。
- トレースは意味のある順序で実際のノードIDを訪問する必要があります。
- 障害データは、影響、目に見える症状、フォールバックが既知の場合にのみ使用します。
- シンプルレイヤーは、テクニカルレイヤーに耐えられるだけの正確さを保ちます。
- 制限事項は小さな免責事項ではなく、
truthLadder.caveatに記述します。 - サポートするシーンまたはノードにソースIDを使用します。
- 主張に隣接しているという理由だけでソースを引用してはいけません。
モードパターンについては references/story-grammars.md、主張の境界については references/evidence-rules.md をお読みください。レンダラーのビジュアル言語を変更する前に、references/visual-system.md をお読みください。永続化、ナビゲーション、再生、またはエクスポートの動作を変更する前に、references/library-and-export.md をお読みください。
品質ゲート
以下の条件がすべて満たされた場合にのみ、作業はローカルアーティファクトとして準備完了です。
- バリデーターが仕様とレンダリングされたHTMLに対して
ok: trueを返す。 - すべてのIDと参照が解決される。
- すべての必須インタラクティブセクションにコンテンツがある。
- 選択されたストーリーモードがそれ自身の意味論的契約を満たしている。
- HTMLが決定論的であり、仕様のSHA-256メタタグを保持している。
- アーティファクトのバイトが提供された仕様と一致し、信頼できるCSPハッシュを使用している。
- アーティファクトに外部リソース、安全でないランタイムAPI、リモートフォントがない。
- 永続化されたリーダー状態は、オプトイン、名前空間分離、境界設定、同一オリジンであり、決定論的な仕様ハッシュの外部に保持されている。
- 注釈はテキストとしてのみレンダリングされ、実行可能なマークアップを作成できない。
- グローバル再生とローカル再生は1つのステートマシンを共有し、同時に実行されることはない。
- 各トレースステップは、実際の出力関係パス(またはシンクの入力パス)をアクティブにし、ラベルと矢印の状態を整合させ、そのステップをサポートする証拠のみをハイライトする。
- シーンエビデンスカードは、verified/inferred/analogy の境界を維持し、コアテキストと、リモートプレビューを取得せずにアクション可能なロケーターを公開する。
- シーンPNG、PPTX、DOCXパッケージが期待されるシグネチャと構造を持ち、エビデンスフッターを含んでいる。主張されたネイティブPagesエクスポートはPagesでも再度開かれている。
- モバイルではデスクトップSVGを縮小するのではなく、積み重ねフローを使用する。
- 最終レポートはユーザーの現在の対話言語に従い、生成された仕様とHTMLのパスを指定し、デスクトップ、モバイル、永続化、再生、証拠、エクスポートのブラウザQAが実行されたかどうかを示す。
証拠が不完全な場合、証拠マップと caveat がギャップを明白にしている場合にのみ生成します。そうでない場合は停止し、不足している証拠を報告します。