kingkont 0.7.72 → 0.7.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kingkont",
3
- "version": "0.7.72",
3
+ "version": "0.7.74",
4
4
  "description": "KingKont · Chatium — нод-редактор сцен с AI-генерацией (картинки/видео/голос/SFX/музыка/текст)",
5
5
  "main": "main.js",
6
6
  "bin": {
@@ -735,6 +735,15 @@ $('textGenModal').addEventListener('keydown', e => {
735
735
  }
736
736
  });
737
737
 
738
+ // Тот же шорткат для основной gen-modal'и (картинка/видео/аудио).
739
+ $('genModal').addEventListener('keydown', e => {
740
+ if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {
741
+ e.preventDefault();
742
+ e.stopPropagation();
743
+ if (!$('genSubmit').disabled) $('genSubmit').click();
744
+ }
745
+ });
746
+
738
747
  // Переключатель типа (картинка/видео)
739
748
  document.querySelectorAll('#genModal [data-kind]').forEach(b => {
740
749
  b.addEventListener('click', () => {
@@ -1918,20 +1927,16 @@ async function mutateNode(bKey, boardHandle, nodeId, mutator) {
1918
1927
  return;
1919
1928
  }
1920
1929
  }
1921
- // Иначе — на диск напрямую
1930
+ // Иначе — на диск напрямую. Передаём ПОЛНЫЙ meta (со всеми полями), а
1931
+ // не выдёргиваем подмножество — иначе settings/history wipe'аются на
1932
+ // каждое обновление ноды во время генерации (юзер видел: defaults
1933
+ // сцены пропадают после нескольких генераций).
1922
1934
  const meta = await loadBoardMetadata(boardHandle);
1923
1935
  const node = meta.nodes.find(n => n.id === nodeId);
1924
1936
  if (!node) return;
1925
1937
  mutator(node);
1926
1938
  syncHistorySlot(node);
1927
- await saveBoardMetadata(boardHandle, {
1928
- nodes: meta.nodes,
1929
- connections: meta.connections,
1930
- view: meta.view,
1931
- character: meta.character,
1932
- location: meta.location,
1933
- timeline: meta.timeline,
1934
- });
1939
+ await saveBoardMetadata(boardHandle, meta);
1935
1940
  }
1936
1941
 
1937
1942
  function updateJobsBadge() {
package/renderer/media.js CHANGED
@@ -1479,11 +1479,9 @@ async function rememberCharTones(charNameOrVoiceId, tones) {
1479
1479
  ch.commonTones = existing;
1480
1480
  ch.lastTones = cleaned;
1481
1481
  meta.character = ch;
1482
- await saveBoardMetadata(charInfo.handle, {
1483
- nodes: meta.nodes, connections: meta.connections,
1484
- view: meta.view, character: meta.character,
1485
- location: meta.location, timeline: meta.timeline,
1486
- });
1482
+ // Передаём ПОЛНЫЙ meta (а не подмножество) чтобы не wipe'нуть
1483
+ // settings/history на диске — см. фикс в generate.js mutateNode.
1484
+ await saveBoardMetadata(charInfo.handle, meta);
1487
1485
  charInfo.commonTones = existing;
1488
1486
  charInfo.lastTones = cleaned;
1489
1487
  if (added) console.log(`[tones] +${added} → ${charInfo.name}: ${cleaned.join(', ')}`);
@@ -1582,10 +1582,9 @@ async function saveCharacterReplicas(charInfo, replicas) {
1582
1582
  const meta = await loadBoardMetadata(charInfo.handle);
1583
1583
  if (!meta.character) meta.character = {};
1584
1584
  meta.character.replicas = replicas;
1585
- await saveBoardMetadata(charInfo.handle, {
1586
- nodes: meta.nodes, connections: meta.connections,
1587
- view: meta.view, character: meta.character, timeline: meta.timeline,
1588
- });
1585
+ // Передаём ПОЛНЫЙ meta (включая settings) — иначе wipe'нем defaults
1586
+ // и history персонажа (см. фикс mutateNode в generate.js).
1587
+ await saveBoardMetadata(charInfo.handle, meta);
1589
1588
  charInfo.replicas = replicas;
1590
1589
  }
1591
1590