- 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.
108 lines
3.4 KiB
Markdown
108 lines
3.4 KiB
Markdown
## 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` を出力
|
|
- `(){...}` のような空親グループに対応
|
|
- 親要素 `()` は出力されません
|
|
- 子要素だけが候補になります
|
|
|
|
## 例
|
|
|
|
```text
|
|
town|zoo{animals{birds|penguins}|aquarium,{fish|jellyfish}}
|
|
```
|
|
これは、内部的には次の候補へ展開されます。
|
|
|
|
```text
|
|
town
|
|
zoo, animals, birds
|
|
zoo, animals, penguins
|
|
zoo, aquarium, fish
|
|
zoo, aquarium, jellyfish
|
|
```
|
|
この5候補から1つが選ばれます。
|
|
<br/>
|
|
|
|
|
|
親要素 `()` の例
|
|
```text
|
|
(){
|
|
white day
|
|
wedding ceremony
|
|
birthday party
|
|
}
|
|
```
|
|
|
|
内部的には次の候補へ展開されます。
|
|
|
|
```text
|
|
white day
|
|
wedding ceremony
|
|
birthday party
|
|
```
|
|
|
|
## 備考
|
|
|
|
- `Prompt Random Choice Ex` は、すべての葉候補へ展開してから最後に1回だけランダム選択します
|
|
- 展開済み候補リストは `options_text` 単位でキャッシュします
|
|
- 通常の `Prompt Random Choice` は、フラットな候補選択用としてそのまま残しています
|