Files
るみなー先生 08b86f3683 feat: update project version and description; add runtime state management and server routes
- Bump version to 0.6.0 and enhance project description in pyproject.toml.
- Introduce runtime state management with RuntimeCandidateState and RuntimeCandidateStateStore classes to handle candidate updates and state retrieval.
- Implement server routes for updating and reading runtime candidate states, handling various request scenarios and errors.
- Add tests for runtime layout and prompt random choice functionality, ensuring robust validation and state management.
- Enhance frontend with runtime candidate editor, including UI updates and synchronization with server state.
2026-08-19 20:39:39 +09:00

3.4 KiB

v0.6.0

候補をQueue投入後も編集できるRuntime版と、候補制御記号を追加しました。

追加

  • Runtime Prompt Random Choice
  • Runtime Prompt Random Choice Ex
  • 全選択ノードで、先頭 # の候補をコメントとして除外
  • Runtime版限定で、先頭 ! の候補を次回再選択時に強制選択
    • 同じ階層に複数ある場合は最初の1件を使用
    • !() は空文字を強制選択
  • Runtime入力欄の EDITING / SYNCING / LIVE / SYNC ERROR 表示
  • Runtime ExのSoft Incomplete / Hard Error表示

変更

  • Runtimeの候補編集は現在のchange_every保持期間へ割り込まず、次回再選択時に反映
  • Runtimeのtextareaがノードの高さ変更へ追従するように修正
  • 全ノードの追加メニューをトップ階層の Prompt Random Choice カテゴリへ統一
  • Exは最終葉候補の均等確率を維持しながら、葉数を使って1経路だけを選択
  • selected_text_safeでWindows予約名を回避し、長さを制限

互換性に関する注意

  • 従来版でも先頭 # は通常候補ではなくコメントになります
  • Exの A{B|C}{D|E} のような隣接子グループは、直積を防ぐため展開前にエラーになります
  • Exの波括弧不一致は明示的な構文エラーになります
  • 独立したランダム軸は別のExノードへ分け、String Joinで結合してください

v0.5.0

Safe Random Seed を追加しました。

追加

  • Safe Random Seed
    • KSampler向けに、0以上のランダムseedだけを出力する小型ノード
    • Python側の secrets を使って発番
    • 実行後、ノードタイトルを Seed: 4897362896 のように更新
    • 同じノードの出力を複数箇所へ接続した場合は、同じseed値を配布

変更

  • タイトル表示用JavaScriptで、Prompt Random Choice Ex の短縮文字数設定が反映されるように修正

v0.4.0

Prompt Random Choice Ex を追加しました。

追加

  • Prompt Random Choice Ex
    • Prompt Random Choice と同じフラット候補リストに対応
    • {} による入れ子の候補展開に対応
    • すべての葉候補へ展開してから、最後に1回だけランダム選択
    • 展開結果を親要素へ , で接続
    • 展開済み候補リストを options_text 単位でキャッシュ
    • selected_text / selected_text_safe を出力
    • (){...} のような空親グループに対応
      • 親要素 () は出力されません
      • 子要素だけが候補になります

例

town|zoo{animals{birds|penguins}|aquarium,{fish|jellyfish}}

これは、内部的には次の候補へ展開されます。

town
zoo, animals, birds
zoo, animals, penguins
zoo, aquarium, fish
zoo, aquarium, jellyfish

この5候補から1つが選ばれます。

親要素 () の例

(){
  white day
  wedding ceremony
  birthday party
}

内部的には次の候補へ展開されます。

white day
wedding ceremony
birthday party

備考

  • Prompt Random Choice Ex は、すべての葉候補へ展開してから最後に1回だけランダム選択します
  • 展開済み候補リストは options_text 単位でキャッシュします
  • 通常の Prompt Random Choice は、フラットな候補選択用としてそのまま残しています