Fixed SD RPG
This commit is contained in:
+83
-2
@@ -13,8 +13,10 @@
|
||||
<h1>🤖 AI Chat</h1>
|
||||
<span class="header-title" id="headerTitle">Новый чат</span>
|
||||
<span id="rpgBadge" class="rpg-badge hidden" title="RPG режим">RPG</span>
|
||||
<a href="/debug" class="header-icon-btn" title="Debug" style="text-decoration:none">🛠</a>
|
||||
<button id="chatSettingsBtn" type="button" class="header-icon-btn" title="Настройки чата">⚙️</button>
|
||||
<span id="affinityDisplay" class="affinity-display hidden"></span>
|
||||
<span id="affinityDisplay" class="affinity-display hidden" title="Симпатия к игроку"></span>
|
||||
<span id="statsDisplay" class="stats-display hidden" title="Шкалы lust / stamina / tension"></span>
|
||||
</header>
|
||||
|
||||
<div class="app-body">
|
||||
@@ -26,7 +28,12 @@
|
||||
<div class="session-list" id="sessionList"></div>
|
||||
<div class="quest-panel hidden" id="questPanel">
|
||||
<div class="quest-panel-header">Квесты</div>
|
||||
<p class="quest-panel-hint" id="questPanelHint">Клик по 🔸 — выбор, затем кнопка ниже</p>
|
||||
<div id="questList"></div>
|
||||
<div class="quest-panel-actions" id="questPanelActions">
|
||||
<button type="button" id="questBtnDone" class="quest-btn-done" disabled>✓ Готово</button>
|
||||
<button type="button" id="questBtnFail" class="quest-btn-fail" disabled>✗ Провал</button>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
@@ -36,6 +43,7 @@
|
||||
<div class="system-blob-header">
|
||||
<span>System</span>
|
||||
<button type="button" id="systemBlobRefresh" title="Обновить">↻</button>
|
||||
<button type="button" id="contextEditorOpen" title="Редактировать контекст">✎</button>
|
||||
<button type="button" id="systemBlobToggle">Скрыть</button>
|
||||
</div>
|
||||
<pre class="system-blob-content" id="systemBlobContent">—</pre>
|
||||
@@ -289,6 +297,7 @@
|
||||
<label><input type="checkbox" id="ncSettingNarrator" checked> 📖 Нарратор</label>
|
||||
<label><input type="checkbox" id="ncSettingQuests" checked> 📜 Квесты</label>
|
||||
<label><input type="checkbox" id="ncSettingAffinity" checked> 💖 Симпатия</label>
|
||||
<label><input type="checkbox" id="ncSettingStats"> 📊 Шкалы (lust/stamina/tension)</label>
|
||||
<label><input type="checkbox" id="ncSettingChoices" checked> 🔘 Кнопки выбора</label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -314,6 +323,9 @@
|
||||
<label>Название чата
|
||||
<input type="text" id="chatSettingsTitle">
|
||||
</label>
|
||||
<p class="wizard-page-title">Персонаж чата</p>
|
||||
<p class="hint-text">Смена персонажа перепривязывает этот чат. Историю можно сохранить или очистить.</p>
|
||||
<div class="persona-pick-grid" id="chatSettingsPersonaGrid"></div>
|
||||
<label class="rpg-mode-option">
|
||||
<input type="checkbox" id="chatSettingsRpg"> RPG режим
|
||||
</label>
|
||||
@@ -334,9 +346,30 @@
|
||||
<label><input type="checkbox" id="csSettingNarrator"> 📖 Нарратор</label>
|
||||
<label><input type="checkbox" id="csSettingQuests"> 📜 Квесты</label>
|
||||
<label><input type="checkbox" id="csSettingAffinity"> 💖 Симпатия</label>
|
||||
<label><input type="checkbox" id="csSettingStats"> 📊 Шкалы (lust/stamina/tension)</label>
|
||||
<label><input type="checkbox" id="csSettingChoices"> 🔘 Кнопки выбора</label>
|
||||
</div>
|
||||
<div class="chat-settings-meta" id="chatSettingsMeta"></div>
|
||||
<details class="rpg-debug-panel" id="chatSettingsRpgDebug">
|
||||
<summary>🧪 Отладка: симпатия и шкалы</summary>
|
||||
<p class="hint-text">Жёстко задаёт состояние для следующих реплик. Цель — текущий игрок (позже: пары персонаж×игрок).</p>
|
||||
<div class="rpg-debug-grid">
|
||||
<label>💖 Симпатия (−30…30)
|
||||
<input type="number" id="debugAffinity" min="-30" max="30" step="1">
|
||||
</label>
|
||||
<label>🔥 Lust (0–10)
|
||||
<input type="number" id="debugLust" min="0" max="10" step="1">
|
||||
</label>
|
||||
<label>⚡ Stamina (0–10)
|
||||
<input type="number" id="debugStamina" min="0" max="10" step="1">
|
||||
</label>
|
||||
<label>😰 Tension (0–10)
|
||||
<input type="number" id="debugTension" min="0" max="10" step="1">
|
||||
</label>
|
||||
</div>
|
||||
<button type="button" id="debugRpgStateApply" class="rpg-debug-apply">Применить к сессии</button>
|
||||
<span class="rpg-debug-status" id="debugRpgStateStatus"></span>
|
||||
</details>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-buttons modal-wizard-footer">
|
||||
@@ -346,6 +379,54 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module" src="/static/js/app.js?v=4"></script>
|
||||
<div class="modal-overlay" id="contextEditorModal">
|
||||
<div class="modal modal-wizard context-editor-modal">
|
||||
<div class="modal-wizard-header">
|
||||
<h2>✎ Контекст сессии</h2>
|
||||
</div>
|
||||
<div class="modal-wizard-body context-editor-body">
|
||||
<p class="hint-text">Правки применяются сразу к следующим сообщениям и генерации картинок. JSON-поля — массив или объект.</p>
|
||||
<label>Status quo
|
||||
<textarea id="ctxStatusQuo" rows="3" spellcheck="false"></textarea>
|
||||
</label>
|
||||
<label>Global plot
|
||||
<textarea id="ctxGlobalPlot" rows="2" spellcheck="false"></textarea>
|
||||
</label>
|
||||
<label>Outfit (JSON array, danbooru-теги с цветом)
|
||||
<textarea id="ctxOutfit" rows="4" spellcheck="false" placeholder='["black_sports_shorts", "white_torn_tank_top"]'></textarea>
|
||||
</label>
|
||||
<label>Scene (JSON)
|
||||
<textarea id="ctxScene" rows="4" spellcheck="false"></textarea>
|
||||
</label>
|
||||
<label>Facts (JSON array)
|
||||
<textarea id="ctxFacts" rows="3" spellcheck="false" placeholder='[{"text":"...", "rp_day":"день 1"}]'></textarea>
|
||||
</label>
|
||||
<label>Plot arc (JSON)
|
||||
<textarea id="ctxPlotArc" rows="6" spellcheck="false"></textarea>
|
||||
</label>
|
||||
<div class="context-editor-stats">
|
||||
<label>💖 Affinity
|
||||
<input type="number" id="ctxAffinity" min="-30" max="30" step="1">
|
||||
</label>
|
||||
<label>🔥 Lust
|
||||
<input type="number" id="ctxLust" min="0" max="10" step="1">
|
||||
</label>
|
||||
<label>⚡ Stamina
|
||||
<input type="number" id="ctxStamina" min="0" max="10" step="1">
|
||||
</label>
|
||||
<label>😰 Tension
|
||||
<input type="number" id="ctxTension" min="0" max="10" step="1">
|
||||
</label>
|
||||
</div>
|
||||
<span class="rpg-debug-status" id="contextEditorStatus"></span>
|
||||
</div>
|
||||
<div class="modal-buttons modal-wizard-footer">
|
||||
<button id="contextEditorCancel" type="button">Отмена</button>
|
||||
<button id="contextEditorSave" type="button" style="background:#9b7fd4;color:white">Сохранить</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module" src="/static/js/app.js?v=17"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user