Compare commits

...

7 Commits

Author SHA1 Message Date
uberwald fdbbda28f4 IMprove tresor management
Release Creation / build (release) Successful in 1m40s
2026-07-07 21:21:50 +02:00
uberwald ce5dbebd76 Cleanup doc and licence info 2026-07-01 23:49:17 +02:00
uberwald 9101ad8711 Cleanup doc and licence info 2026-07-01 23:48:39 +02:00
uberwald 311091b262 Cleanup doc and licence info
Release Creation / build (release) Successful in 1m36s
2026-07-01 23:36:16 +02:00
uberwald 6f94521a88 UPdate images and licence info 2026-07-01 23:33:08 +02:00
uberwald 4865cb9635 CLeanup old images 2026-07-01 17:21:48 +02:00
uberwald af72ca5ceb fix: overlapping "10" sur d10, hover, suppression dice-so-nice
Plage de des dans la feuille
- "10" superpose sur l'icone d10 (plus de colonne verticale)
- Passe de 40x56px a 40x40px (carre)
- Couleur hover (bordure + texte violets, glow)

Boutons fa-dice-d10 (magies, kung-fu, armes, initiative)
- Override CSS : affiche "10" + icone d10 SVG superposes
- Couleur hover sur le texte "10"

Suppression images dice-so-nice inutilisees
- src/ui/dice.js supprime (referencait des images manquantes)
- Import et appel registerDice retires de system.js

Divers
- Retire img-die-sm des templates skills/nghang (ecrasait la taille des plaques)
- Reduit padding/gaps de la grille de faces dans le chat
- Supprime overflow:hidden sur cde-roll-result
2026-07-01 17:21:12 +02:00
110 changed files with 1151 additions and 901 deletions
+4 -14
View File
@@ -1,17 +1,7 @@
IMAGES
- Exceptées les peties icônes N&B de d10 et celles de game-icon.org,
les images des fichiers du dossier images utilisées dans ce logiciel sont :
Copyright © 2023-2024 Antre Monde Éditions ;
elles sont leurs propriétés (et celles de leurs auteurs respectifs)
et elles ne peuvent ni être reproduites ni réutilisées en dehors de
ce logiciel, sans leur autorisation.
- les icônes rondes, blanches sur fond noir, sont issues du site game-icons.org
et sont sous licence https://creativecommons.org/licenses/by/3.0/
Vous pouvez retrouver le nom de leurs auteurs respectifs sur ce site.
- 'carte_hk.jpg', d'après 'wahaha2005', est sous GNU Free Documentation License
version 1.2 ou toute version ultérieure publiée par la Free Software Foundation,
https://commons.wikimedia.org/wiki/File:Hong_Kong_18_Districts_Blank_Map.svg
- Les icones produites par LeRatierBretonnien depuis games-icons.org, sous licence Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
IMAGES :
CF images_info.md for details on the images used in this system.
All icons : game-icons.net, free for commercial use, no attribution required.
All other images/background/logo : Provided by Antre Monde edition, no AI
Code Author :
- Developed by LeRatierBretonnien / www.uberwald.me
+4 -2
View File
@@ -4,10 +4,12 @@ Système [Foundry VTT](https://foundryvtt.com) pour **Chroniques de l'Etrange**,
Copyright 2025-2026 Antre Monde Editions All rights reserved
Chroniques de l'ETrange is a game written by Romain d'Huissier and Cédric Lameire. The authors retain their moral rights to this work in both print and digital formats.
Chroniques de l'Etrange is a game written by Romain d'Huissier and Cédric Lameire. The authors retain their moral rights to this work in both print and digital formats.
This system for FoundryVTT has been approved and authorized by Antre-Monde Edition.
Ce système s'inspire d'un système précédent "chroniquesdeletrange" développé par David R.D. 'Mystery Man From Outerspace' Bercovici et Christophe 'Kristov / Qaw' Laudon. Le code a été intégralément réécrit pour être compatible avec la version 14 de FoundryVTT, et pour intégrer le maximum de mécaniques de jeu des Chroniques de l'Etrange, et n'a donc aucun lien de code avec le système précédent.
Ce système n'a plus aucun lien avec le système précédent "chroniquesdeletrange" développé par David R.D. 'Mystery Man From Outerspace' Bercovici et Christophe 'Kristov / Qaw' Laudon. Le code a été intégralément réécrit pour être compatible avec la version 14 de FoundryVTT, et pour intégrer le maximum de mécaniques de jeu des Chroniques de l'Etrange, et n'a donc aucun lien de code avec le système précédent.
Les icones de jeu ont été intégralement remplacées par des icônes libres de droit provenant de [game-icons.net](https://game-icons.net/), et les images de personnages et de fonds d'écran ont été fournies par Antre Monde Éditions.
---
+348 -236
View File
@@ -396,22 +396,17 @@ section.npc .cde-neon-tabs .item.active {
.cde-tab-body {
flex: 1 1 0;
min-height: 0;
display: flex;
flex-direction: column;
padding: 12px;
background: #0d1520;
border: 1px solid #1a2436;
border-top: none;
border-radius: 0 0 8px 8px;
overflow: hidden;
overflow-y: auto;
}
.cde-tab-body .tab {
display: none;
flex: 1 1 0;
min-height: 0;
flex-direction: column;
gap: 12px;
overflow-y: auto;
}
.cde-tab-body .tab.active {
display: flex;
@@ -452,25 +447,12 @@ section.npc .cde-neon-tabs .item.active {
flex-direction: column;
}
.cde-notes-editor .editor {
flex: 1 1 auto;
flex: 1 1 0;
min-height: 200px;
height: 100%;
border-radius: 8px;
border: 1px solid #1a2436;
background: #101622;
}
.cde-notes-editor .editor .tox {
height: 100% !important;
min-height: 100% !important;
}
.cde-notes-editor .editor .tox-editor-container {
height: 100% !important;
min-height: 100% !important;
}
.cde-notes-editor .editor iframe {
height: 100% !important;
min-height: 100% !important;
}
.cde-technique-card {
border-left: 3px solid #ff3d5a;
background: rgba(16, 22, 34, 0.8);
@@ -2179,25 +2161,6 @@ section.npc .cde-neon-tabs .item.active {
.cde-magic-toggle:hover i {
color: #e2e8f4;
}
.cde-magic-order-btn {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
color: #7d94b8;
border-radius: 3px;
flex-shrink: 0;
transition: color 0.12s, background 0.12s;
}
.cde-magic-order-btn i {
font-size: 9px;
}
.cde-magic-order-btn:hover {
color: #e2e8f4;
background: rgba(38, 56, 83, 0.25);
}
.cde-magic-specialities {
border-top: 1px solid #1a2436;
padding: 4px 0;
@@ -2780,81 +2743,74 @@ section.npc .cde-neon-tabs .item.active {
color: #4a9eff;
text-shadow: 0 0 8px rgba(74, 158, 255, 0.5);
}
/* Recovery roll chat message */
.cde-chat-recovery {
display: flex;
flex-direction: column;
gap: 8px;
padding: 8px 12px;
}
.cde-chat-recovery-header {
.cde-chat-recovery .cde-chat-recovery-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
}
.cde-chat-recovery-icon {
.cde-chat-recovery .cde-chat-recovery-icon {
width: 28px;
height: 28px;
object-fit: contain;
border: none;
}
.cde-chat-recovery-title {
font-family: "Averia", sans-serif;
font-size: 14px;
.cde-chat-recovery .cde-chat-recovery-title {
font-weight: 700;
color: #e2e8f4;
font-size: 1.05rem;
}
.cde-chat-recovery-dice {
.cde-chat-recovery .cde-chat-recovery-dice {
display: flex;
align-items: center;
gap: 8px;
font-size: 12px;
align-items: center;
margin-bottom: 6px;
font-size: 0.9rem;
}
.cde-chat-recovery-dice-label {
font-weight: 700;
color: #00d4d4;
.cde-chat-recovery .cde-chat-recovery-dice-label {
font-weight: 600;
white-space: nowrap;
}
.cde-chat-recovery-dice-results {
font-family: monospace;
font-size: 13px;
color: #e2e8f4;
.cde-chat-recovery .cde-chat-recovery-dice-results {
font-weight: 500;
color: #7d94b8;
}
.cde-chat-recovery-results {
.cde-chat-recovery .cde-chat-recovery-results {
display: flex;
flex-direction: column;
gap: 4px;
padding: 6px 8px;
border-radius: 4px;
font-size: 12px;
gap: 12px;
margin-bottom: 4px;
}
.cde-chat-recovery-even {
.cde-chat-recovery .cde-chat-recovery-even,
.cde-chat-recovery .cde-chat-recovery-odd {
display: flex;
align-items: center;
gap: 6px;
color: #4a9eff;
font-size: 0.85rem;
}
.cde-chat-recovery-odd {
display: flex;
align-items: center;
gap: 6px;
.cde-chat-recovery .cde-chat-recovery-count {
font-size: 1.3rem;
font-weight: 800;
min-width: 1.6em;
text-align: center;
}
.cde-chat-recovery .cde-chat-recovery-even .cde-chat-recovery-count {
color: #cc44ff;
}
.cde-chat-recovery-count {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border-radius: 50%;
font-size: 11px;
font-weight: 700;
color: #fff;
flex-shrink: 0;
.cde-chat-recovery .cde-chat-recovery-odd .cde-chat-recovery-count {
color: #d94f3d;
}
.cde-chat-recovery-even .cde-chat-recovery-count {
background: #4a9eff;
.cde-chat-recovery .cde-chat-recovery-pools {
margin-top: 6px;
padding-top: 4px;
border-top: 1px solid #1a2436;
font-size: 0.8rem;
}
.cde-chat-recovery-odd .cde-chat-recovery-count {
background: #cc44ff;
.cde-chat-recovery .cde-chat-recovery-pool-row {
padding: 1px 4px;
}
.cde-chat-recovery .cde-chat-recovery-pool-boost {
color: #cc44ff;
font-weight: 600;
font-size: 0.8rem;
padding: 1px 4px;
}
.cde-tabs {
margin-top: 12px;
@@ -2889,7 +2845,7 @@ section.npc .cde-neon-tabs .item.active {
margin-top: -2px;
}
#pause > img {
content: url("/systems/fvtt-chroniques-de-l-etrange/images/wheel.webp");
content: url("/systems/fvtt-chroniques-de-l-etrange/images/logo_cde.webp");
height: 192px;
width: 192px;
top: -45px;
@@ -2940,30 +2896,6 @@ strong.ellipsis {
#interface .chat-message .message-header .message-sender {
width: 100px;
}
.cde-recovery-bar {
margin-bottom: 10px;
}
.cde-recovery-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
padding: 10px 16px;
border: 1px solid #4a9eff;
border-radius: 6px;
background: rgba(74, 158, 255, 0.15);
color: #4a9eff;
font-family: "Averia", sans-serif;
font-size: 14px;
font-weight: 700;
cursor: pointer;
transition: background 0.15s, filter 0.15s;
}
.cde-recovery-btn:hover {
background: rgba(74, 158, 255, 0.3);
filter: brightness(1.1);
}
.cde-flex-center-text {
display: flex;
justify-content: center;
@@ -3060,6 +2992,26 @@ strong.ellipsis {
width: 22px;
text-align: center;
}
.cde-recovery-bar {
margin-bottom: 10px;
}
.cde-recovery-bar .cde-recovery-boosts {
display: flex;
flex-wrap: wrap;
gap: 0.3em 1em;
margin-top: 4px;
font-size: 0.85em;
}
.cde-recovery-bar .cde-recovery-boost {
display: inline-flex;
align-items: center;
gap: 0.3em;
white-space: nowrap;
cursor: pointer;
}
.cde-recovery-bar .cde-recovery-boost input[type="checkbox"] {
cursor: pointer;
}
.cde-tt-block {
margin-bottom: 12px;
}
@@ -3309,9 +3261,7 @@ ol.item-list li.item h4.item-name {
flex: 1 1 0;
margin: 0;
font-size: 13px;
font-weight: 600;
color: #e2e8f4;
font-family: "Signika", sans-serif;
}
ol.item-list li.item .cde-item-stat {
font-family: monospace;
@@ -3535,7 +3485,6 @@ ol.item-list li.item .item-controls a.item-control:hover {
font-family: 'Share Tech Mono', monospace;
border-radius: 4px;
border: 1px solid #1a2436;
overflow: hidden;
}
.cde-roll-result .cde-rr-header {
display: flex;
@@ -3644,12 +3593,6 @@ ol.item-list li.item .item-controls a.item-control:hover {
color: var(--rr-accent, #e2e8f4);
text-shadow: 0 0 12px var(--rr-accent, transparent);
}
.cde-roll-result .cde-rr-hero .cde-rr-spell-power .cde-rr-spell-power-formula {
font-size: 10px;
color: #7d94b8;
margin: 2px 0;
white-space: nowrap;
}
.cde-roll-result .cde-rr-hero .cde-rr-spell-power .cde-rr-spell-power-label {
font-size: 9px;
font-weight: 700;
@@ -3768,8 +3711,8 @@ ol.item-list li.item .item-controls a.item-control:hover {
.cde-roll-result .cde-dice-grid {
display: grid;
grid-template-columns: repeat(10, 1fr);
gap: 3px;
padding: 8px 8px 6px;
gap: 1px;
padding: 6px 4px 4px;
border-top: 1px solid #1a2436;
}
.cde-roll-result .cde-dice-grid .cde-dice-cell {
@@ -3784,11 +3727,6 @@ ol.item-list li.item .item-controls a.item-control:hover {
color: #e2e8f4;
line-height: 1;
}
.cde-roll-result .cde-dice-grid .cde-dice-cell .cde-dice-plate {
width: 100%;
border: none;
opacity: 0.65;
}
.cde-initiative-prompt .cde-roll-field {
flex-direction: column;
align-items: stretch;
@@ -4098,10 +4036,10 @@ ol.item-list li.item .item-controls a.item-control:hover {
letter-spacing: 0;
font-size: 11px;
}
/* Combatant list */
/* Combatant list — grows to fill available space */
.cde-wheel-combatants {
flex: 0 0 auto;
max-height: 130px;
flex: 1 1 auto;
min-height: 0;
overflow-y: auto;
border-bottom: 1px solid #1a2436;
}
@@ -4165,12 +4103,11 @@ ol.item-list li.item .item-controls a.item-control:hover {
color: #7d94b8;
flex-shrink: 0;
}
/* Action area */
/* Action area — fixed to content height, pushed to bottom */
.cde-wheel-actions {
flex: 1 1 auto;
flex: 0 0 auto;
display: flex;
flex-direction: column;
overflow-y: auto;
padding: 8px 10px 10px;
gap: 6px;
}
@@ -4545,105 +4482,6 @@ ol.item-list li.item .item-controls a.item-control:hover {
color: #7d94b8;
text-align: center;
}
/* Duplicate row highlight */
.cde-migration-row-duplicate {
background: rgba(212, 175, 55, 0.15);
}
.cde-migration-duplicate-icon {
color: #d4af37;
margin-right: 4px;
font-size: 11px;
}
/* Confirmation bar */
.cde-migration-confirm-bar {
display: flex;
flex-direction: column;
gap: 8px;
padding: 12px;
border: 1px solid rgba(212, 175, 55, 0.7);
border-radius: 6px;
background: rgba(212, 175, 55, 0.1);
}
.cde-migration-confirm-msg {
margin: 0;
font-size: 12px;
color: #e2e8f4;
display: flex;
align-items: center;
gap: 6px;
}
.cde-migration-confirm-msg i {
color: #d4af37;
}
.cde-migration-confirm-duplicates {
margin: 0;
font-size: 11px;
color: #e07070;
display: flex;
align-items: center;
gap: 6px;
}
.cde-migration-confirm-duplicates i {
color: #e07070;
}
.cde-migration-confirm-actions {
display: flex;
gap: 8px;
justify-content: center;
margin-top: 4px;
}
.cde-migration-confirm-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 9px 24px;
border: none;
border-radius: 6px;
background: #4a9eff;
color: #fff;
font-size: 13px;
font-weight: 700;
cursor: pointer;
transition: filter 0.15s;
}
.cde-migration-confirm-btn:hover {
filter: brightness(1.15);
}
.cde-migration-cancel-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 9px 24px;
border: 1px solid #1a2436;
border-radius: 6px;
background: none;
color: #7d94b8;
font-size: 13px;
cursor: pointer;
transition: color 0.15s, border-color 0.15s;
}
.cde-migration-cancel-btn:hover {
color: #e04444;
border-color: #e04444;
}
/* Progress section */
.cde-migration-progress {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 16px;
font-size: 13px;
color: #e2e8f4;
}
.cde-migration-progress i {
color: #4a9eff;
}
.cde-migration-progress-count {
font-weight: 700;
color: #4a9eff;
font-variant-numeric: tabular-nums;
}
.cde-welcome-message {
display: flex;
flex-direction: column;
@@ -4700,3 +4538,277 @@ ol.item-list li.item .item-controls a.item-control:hover {
.cde-welcome-help-btn:hover {
filter: brightness(1.2);
}
i.fas.fa-dice-d10,
i.fa-solid.fa-dice-d10 {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width: 1.4em;
height: 1.4em;
font-size: inherit;
vertical-align: middle;
}
i.fas.fa-dice-d10:before,
i.fa-solid.fa-dice-d10:before {
content: "10";
font-family: "Averia", sans-serif;
font-size: 0.55em;
font-weight: 700;
color: #e2e8f4;
z-index: 1;
position: relative;
line-height: 1;
}
i.fas.fa-dice-d10:after,
i.fa-solid.fa-dice-d10:after {
content: "";
position: absolute;
inset: 0;
background: url('../../../icons/svg/d10-grey.svg') center / contain no-repeat;
opacity: 0.5;
}
a.cde-roll-trigger:hover i.fas.fa-dice-d10:after,
a.cde-roll-trigger:hover i.fa-solid.fa-dice-d10:after,
button:hover i.fas.fa-dice-d10:after,
button:hover i.fa-solid.fa-dice-d10:after {
opacity: 0.7;
}
.cde-roll-cell i.fas.fa-dice-d10 {
width: 20px;
height: 20px;
font-size: 16px;
}
.cde-dice-plate-css {
position: relative;
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 50px;
height: 70px;
background: #080c14;
border-radius: 8px;
border: 1px solid #1a2436;
color: #e2e8f4;
font-family: "Averia", sans-serif;
font-size: 24px;
font-weight: 700;
margin: 2px;
line-height: 1;
}
.cde-dice-plate-css::before {
content: attr(data-value);
display: block;
line-height: 1;
padding-top: 4px;
}
.cde-dice-plate-css::after {
content: "";
display: block;
width: 32px;
height: 32px;
background-image: url('../../../icons/svg/d10-grey.svg');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
margin-top: 4px;
opacity: 0.85;
}
.cde-dice-plate-css.small {
width: 40px;
height: 40px;
font-size: 14px;
border-radius: 5px;
}
.cde-dice-plate-css.small::before {
position: relative;
z-index: 1;
padding-top: 0;
font-size: inherit;
}
.cde-dice-plate-css.small::after {
position: absolute;
inset: 0;
width: auto;
height: auto;
margin-top: 0;
border-radius: 5px;
}
.cde-dice-plate-css.large {
width: 60px;
height: 84px;
font-size: 30px;
}
.cde-dice-plate-css.large::after {
width: 38px;
height: 38px;
}
.cde-dice-plate-css.wood {
border-color: #41a436;
}
.cde-dice-plate-css.wood::before {
color: #7ad070;
}
.cde-dice-plate-css.fire {
border-color: #cd171a;
}
.cde-dice-plate-css.fire::before {
color: #ed5d60;
}
.cde-dice-plate-css.earth {
border-color: #a85747;
}
.cde-dice-plate-css.earth::before {
color: #cd9488;
}
.cde-dice-plate-css.metal {
border-color: #70706e;
}
.cde-dice-plate-css.metal::before {
color: #a3a3a1;
}
.cde-dice-plate-css.water {
border-color: #009fe2;
}
.cde-dice-plate-css.water::before {
color: #49c9ff;
}
.cde-roll-trigger:hover .cde-dice-plate-css.small,
.cde-die-cell:hover .cde-dice-plate-css.small {
border-color: #cc44ff;
box-shadow: 0 0 8px rgba(204, 68, 255, 0.4);
}
.cde-roll-trigger:hover .cde-dice-plate-css.small::before,
.cde-die-cell:hover .cde-dice-plate-css.small::before {
color: #cc44ff;
}
.cde-roll-trigger:hover .cde-dice-plate-css.small::after,
.cde-die-cell:hover .cde-dice-plate-css.small::after {
opacity: 1;
}
a.cde-roll-trigger:hover i.fas.fa-dice-d10::before,
a.cde-roll-trigger:hover i.fa-solid.fa-dice-d10::before,
button:hover i.fas.fa-dice-d10::before,
button:hover i.fa-solid.fa-dice-d10::before {
color: #cc44ff;
}
.cde-dice-plate.cde-dice-plate-css {
width: 24px;
min-width: 24px;
height: 36px;
font-size: 12px;
margin: 1px;
box-shadow: 0 0 0 1px rgba(38, 56, 83, 0.6), inset 0 0 0 1px rgba(226, 232, 244, 0.15);
}
.cde-dice-plate.cde-dice-plate-css::before {
padding-top: 1px;
font-size: 12px;
}
.cde-dice-plate.cde-dice-plate-css::after {
width: 14px;
height: 14px;
margin-top: 2px;
opacity: 0.9;
filter: brightness(0) saturate(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="0"] {
border-color: #70706e;
}
.cde-dice-plate.cde-dice-plate-css[data-value="0"]::before {
color: #afafae;
}
.cde-dice-plate.cde-dice-plate-css[data-value="0"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(0%) saturate(100%) hue-rotate(200deg) brightness(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="1"] {
border-color: #009fe2;
}
.cde-dice-plate.cde-dice-plate-css[data-value="1"]::before {
color: #62d1ff;
}
.cde-dice-plate.cde-dice-plate-css[data-value="1"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(200deg) brightness(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="2"] {
border-color: #41a436;
}
.cde-dice-plate.cde-dice-plate-css[data-value="2"]::before {
color: #8cd683;
}
.cde-dice-plate.cde-dice-plate-css[data-value="2"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(120deg) brightness(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="3"] {
border-color: #a85747;
}
.cde-dice-plate.cde-dice-plate-css[data-value="3"]::before {
color: #d4a49a;
}
.cde-dice-plate.cde-dice-plate-css[data-value="3"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(20deg) brightness(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="4"] {
border-color: #cd171a;
}
.cde-dice-plate.cde-dice-plate-css[data-value="4"]::before {
color: #ef7476;
}
.cde-dice-plate.cde-dice-plate-css[data-value="4"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(0deg) brightness(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="5"] {
border-color: #70706e;
}
.cde-dice-plate.cde-dice-plate-css[data-value="5"]::before {
color: #afafae;
}
.cde-dice-plate.cde-dice-plate-css[data-value="5"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(0%) saturate(100%) hue-rotate(200deg) brightness(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="6"] {
border-color: #009fe2;
}
.cde-dice-plate.cde-dice-plate-css[data-value="6"]::before {
color: #62d1ff;
}
.cde-dice-plate.cde-dice-plate-css[data-value="6"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(200deg) brightness(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="7"] {
border-color: #41a436;
}
.cde-dice-plate.cde-dice-plate-css[data-value="7"]::before {
color: #8cd683;
}
.cde-dice-plate.cde-dice-plate-css[data-value="7"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(120deg) brightness(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="8"] {
border-color: #a85747;
}
.cde-dice-plate.cde-dice-plate-css[data-value="8"]::before {
color: #d4a49a;
}
.cde-dice-plate.cde-dice-plate-css[data-value="8"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(20deg) brightness(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="9"] {
border-color: #cd171a;
}
.cde-dice-plate.cde-dice-plate-css[data-value="9"]::before {
color: #ef7476;
}
.cde-dice-plate.cde-dice-plate-css[data-value="9"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(0deg) brightness(100%);
}
.cde-dice-plate.cde-dice-plate-css[data-value="10"] {
border-color: #cd171a;
}
.cde-dice-plate.cde-dice-plate-css[data-value="10"]::before {
color: #ef7476;
font-size: 13px;
}
.cde-dice-plate.cde-dice-plate-css[data-value="10"]::after {
filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(0deg) brightness(100%);
}
+343 -285
View File
@@ -381,22 +381,17 @@ section.npc .cde-neon-tabs .item.active { color: @cde-supernatural; borde
.cde-tab-body {
flex: 1 1 0;
min-height: 0;
display: flex;
flex-direction: column;
padding: @cde-gap;
background: @cde-surface2;
border: 1px solid @cde-border;
border-top: none;
border-radius: 0 0 @cde-radius @cde-radius;
overflow: hidden;
overflow-y: auto;
.tab {
display: none;
flex: 1 1 0;
min-height: 0;
flex-direction: column;
gap: @cde-gap;
overflow-y: auto;
}
.tab.active {
@@ -450,26 +445,11 @@ section.npc .cde-neon-tabs .item.active { color: @cde-supernatural; borde
flex-direction: column;
.editor {
flex: 1 1 auto;
flex: 1 1 0;
min-height: 200px;
height: 100%;
border-radius: @cde-radius;
border: 1px solid @cde-border;
background: @cde-surface;
// Force TinyMCE to fill the container
.tox {
height: 100% !important;
min-height: 100% !important;
}
.tox-editor-container {
height: 100% !important;
min-height: 100% !important;
}
iframe {
height: 100% !important;
min-height: 100% !important;
}
}
}
@@ -2253,23 +2233,6 @@ section.npc .cde-neon-tabs .item.active { color: @cde-supernatural; borde
&:hover i { color: @cde-text; }
}
.cde-magic-order-btn {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
color: @cde-muted;
border-radius: 3px;
flex-shrink: 0;
transition: color 0.12s, background 0.12s;
i { font-size: 9px; }
&:hover { color: @cde-text; background: fade(@cde-border-hi, 25%); }
}
// Specialities list
.cde-magic-specialities {
border-top: 1px solid @cde-border;
@@ -2805,93 +2768,77 @@ section.npc .cde-neon-tabs .item.active { color: @cde-supernatural; borde
text-shadow: 0 0 8px fade(@cde-spell, 50%);
}
/* Recovery roll chat message */
// Recovery roll chat
.cde-chat-recovery {
display: flex;
flex-direction: column;
gap: 8px;
padding: 8px 12px;
}
.cde-chat-recovery-header {
display: flex;
align-items: center;
gap: 8px;
}
.cde-chat-recovery-icon {
width: 28px;
height: 28px;
object-fit: contain;
}
.cde-chat-recovery-title {
font-family: "Averia", sans-serif;
font-size: 14px;
font-weight: 700;
color: @cde-text;
}
.cde-chat-recovery-dice {
display: flex;
align-items: center;
gap: 8px;
font-size: 12px;
}
.cde-chat-recovery-dice-label {
font-weight: 700;
color: @cde-item;
}
.cde-chat-recovery-dice-results {
font-family: monospace;
font-size: 13px;
color: @cde-text;
}
.cde-chat-recovery-results {
display: flex;
flex-direction: column;
gap: 4px;
padding: 6px 8px;
border-radius: 4px;
font-size: 12px;
}
.cde-chat-recovery-even {
display: flex;
align-items: center;
gap: 6px;
color: @cde-spell;
}
.cde-chat-recovery-odd {
display: flex;
align-items: center;
gap: 6px;
color: @cde-supernatural;
}
.cde-chat-recovery-count {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border-radius: 50%;
font-size: 11px;
font-weight: 700;
color: #fff;
flex-shrink: 0;
}
.cde-chat-recovery-even .cde-chat-recovery-count {
background: @cde-spell;
}
.cde-chat-recovery-odd .cde-chat-recovery-count {
background: @cde-supernatural;
.cde-chat-recovery-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
}
.cde-chat-recovery-icon {
width: 28px;
height: 28px;
border: none;
}
.cde-chat-recovery-title {
font-weight: 700;
font-size: 1.05rem;
}
.cde-chat-recovery-dice {
display: flex;
gap: 8px;
align-items: center;
margin-bottom: 6px;
font-size: 0.9rem;
}
.cde-chat-recovery-dice-label {
font-weight: 600;
white-space: nowrap;
}
.cde-chat-recovery-dice-results {
font-weight: 500;
color: @cde-muted;
}
.cde-chat-recovery-results {
display: flex;
gap: 12px;
margin-bottom: 4px;
}
.cde-chat-recovery-even,
.cde-chat-recovery-odd {
display: flex;
align-items: center;
gap: 6px;
font-size: 0.85rem;
}
.cde-chat-recovery-count {
font-size: 1.3rem;
font-weight: 800;
min-width: 1.6em;
text-align: center;
}
.cde-chat-recovery-even .cde-chat-recovery-count {
color: @cde-supernatural;
}
.cde-chat-recovery-odd .cde-chat-recovery-count {
color: @wu-fire;
}
.cde-chat-recovery-pools {
margin-top: 6px;
padding-top: 4px;
border-top: 1px solid @cde-border;
font-size: 0.8rem;
}
.cde-chat-recovery-pool-row {
padding: 1px 4px;
}
.cde-chat-recovery-pool-boost {
color: @cde-supernatural;
font-weight: 600;
font-size: 0.8rem;
padding: 1px 4px;
}
}
// Legacy tabs (actor sheets still use cde-tabs)
@@ -2933,7 +2880,7 @@ section.npc .cde-neon-tabs .item.active { color: @cde-supernatural; borde
}
#pause > img {
content: url("/systems/fvtt-chroniques-de-l-etrange/images/wheel.webp");
content: url("/systems/fvtt-chroniques-de-l-etrange/images/logo_cde.webp");
height: 192px;
width: 192px;
top: -45px;
@@ -2999,37 +2946,6 @@ strong.ellipsis {
width: 100px;
}
// ============================================================
// Recovery button
// ============================================================
.cde-recovery-bar {
margin-bottom: 10px;
}
.cde-recovery-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
padding: 10px 16px;
border: 1px solid @cde-spell;
border-radius: 6px;
background: fadeout(@cde-spell, 85%);
color: @cde-spell;
font-family: "Averia", sans-serif;
font-size: 14px;
font-weight: 700;
cursor: pointer;
transition: background 0.15s, filter 0.15s;
&:hover {
background: fadeout(@cde-spell, 70%);
filter: brightness(1.1);
}
}
// ============================================================
// Three Treasures partial layout
// ============================================================
@@ -3138,6 +3054,28 @@ strong.ellipsis {
// ============================================================
// Three Treasures layout (HEI / SAN-ZING / PTAO)
// ============================================================
.cde-recovery-bar {
margin-bottom: 10px;
.cde-recovery-boosts {
display: flex;
flex-wrap: wrap;
gap: 0.3em 1em;
margin-top: 4px;
font-size: 0.85em;
}
.cde-recovery-boost {
display: inline-flex;
align-items: center;
gap: 0.3em;
white-space: nowrap;
cursor: pointer;
input[type="checkbox"] {
cursor: pointer;
}
}
}
.cde-tt-block {
margin-bottom: 12px;
@@ -3384,7 +3322,7 @@ ol.item-list {
img { border: none; border-radius: 3px; flex-shrink: 0; }
h4.item-name { flex: 1 1 0; margin: 0; font-size: 13px; font-weight: 600; color: @cde-text; font-family: "Signika", sans-serif; }
h4.item-name { flex: 1 1 0; margin: 0; font-size: 13px; color: @cde-text; }
.cde-item-stat {
font-family: monospace;
@@ -3593,7 +3531,6 @@ ol.item-list {
font-family: 'Share Tech Mono', monospace;
border-radius: 4px;
border: 1px solid @cde-border;
overflow: hidden;
// ---- Header ----
.cde-rr-header {
@@ -3719,13 +3656,6 @@ ol.item-list {
text-shadow: 0 0 12px var(--rr-accent, transparent);
}
.cde-rr-spell-power-formula {
font-size: 10px;
color: @cde-muted;
margin: 2px 0;
white-space: nowrap;
}
.cde-rr-spell-power-label {
font-size: 9px;
font-weight: 700;
@@ -3860,8 +3790,8 @@ ol.item-list {
.cde-dice-grid {
display: grid;
grid-template-columns: repeat(10, 1fr);
gap: 3px;
padding: 8px 8px 6px;
gap: 1px;
padding: 6px 4px 4px;
border-top: 1px solid @cde-border;
.cde-dice-cell {
@@ -3877,11 +3807,6 @@ ol.item-list {
line-height: 1;
}
.cde-dice-plate {
width: 100%;
border: none;
opacity: 0.65;
}
}
}
}
@@ -4264,10 +4189,10 @@ ol.item-list {
}
}
/* Combatant list */
/* Combatant list — grows to fill available space */
.cde-wheel-combatants {
flex: 0 0 auto;
max-height: 130px;
flex: 1 1 auto;
min-height: 0;
overflow-y: auto;
border-bottom: 1px solid @cde-border;
}
@@ -4342,12 +4267,11 @@ ol.item-list {
flex-shrink: 0;
}
/* Action area */
/* Action area — fixed to content height, pushed to bottom */
.cde-wheel-actions {
flex: 1 1 auto;
flex: 0 0 auto;
display: flex;
flex-direction: column;
overflow-y: auto;
padding: 8px 10px 10px;
gap: 6px;
@@ -4751,112 +4675,6 @@ ol.item-list {
text-align: center;
}
/* Duplicate row highlight */
.cde-migration-row-duplicate {
background: fadeout(#d4af37, 85%);
}
.cde-migration-duplicate-icon {
color: #d4af37;
margin-right: 4px;
font-size: 11px;
}
/* Confirmation bar */
.cde-migration-confirm-bar {
display: flex;
flex-direction: column;
gap: 8px;
padding: 12px;
border: 1px solid fadeout(#d4af37, 30%);
border-radius: 6px;
background: fadeout(#d4af37, 90%);
}
.cde-migration-confirm-msg {
margin: 0;
font-size: 12px;
color: @cde-text;
display: flex;
align-items: center;
gap: 6px;
i { color: #d4af37; }
}
.cde-migration-confirm-duplicates {
margin: 0;
font-size: 11px;
color: #e07070;
display: flex;
align-items: center;
gap: 6px;
i { color: #e07070; }
}
.cde-migration-confirm-actions {
display: flex;
gap: 8px;
justify-content: center;
margin-top: 4px;
}
.cde-migration-confirm-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 9px 24px;
border: none;
border-radius: 6px;
background: @cde-spell;
color: #fff;
font-size: 13px;
font-weight: 700;
cursor: pointer;
transition: filter 0.15s;
&:hover { filter: brightness(1.15); }
}
.cde-migration-cancel-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 9px 24px;
border: 1px solid @cde-border;
border-radius: 6px;
background: none;
color: @cde-muted;
font-size: 13px;
cursor: pointer;
transition: color 0.15s, border-color 0.15s;
&:hover {
color: #e04444;
border-color: #e04444;
}
}
/* Progress section */
.cde-migration-progress {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 16px;
font-size: 13px;
color: @cde-text;
i { color: @cde-spell; }
}
.cde-migration-progress-count {
font-weight: 700;
color: @cde-spell;
font-variant-numeric: tabular-nums;
}
// ============================================================
// Welcome message
// ============================================================
@@ -4924,3 +4742,243 @@ ol.item-list {
filter: brightness(1.2);
}
}
// ============================================================
// Override fa-dice-d10 to show Foundry d10 SVG + "10" overlay
// ============================================================
i.fas.fa-dice-d10,
i.fa-solid.fa-dice-d10 {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width: 1.4em;
height: 1.4em;
font-size: inherit;
vertical-align: middle;
// Replace FA glyph with "10" text
&:before {
content: "10";
font-family: "Averia", sans-serif;
font-size: 0.55em;
font-weight: 700;
color: @cde-text;
z-index: 1;
position: relative;
line-height: 1;
}
// d10 SVG behind the text
&:after {
content: "";
position: absolute;
inset: 0;
background: url('../../../icons/svg/d10-grey.svg') center / contain no-repeat;
opacity: 0.5;
}
}
// Hover effect trickle-up: the parent hover changes background,
// the ::after inherits opacity change via the wrapper
a.cde-roll-trigger:hover i.fas.fa-dice-d10,
a.cde-roll-trigger:hover i.fa-solid.fa-dice-d10,
button:hover i.fas.fa-dice-d10,
button:hover i.fa-solid.fa-dice-d10 {
&:after { opacity: 0.7; }
}
// Nested in NPC roll cell — keep the 24x24 size
.cde-roll-cell i.fas.fa-dice-d10 {
width: 20px;
height: 20px;
font-size: 16px;
}
// ============================================================
// Dice plate - CSS-only dice display (chiffre + dé SVG)
// Utilise les icônes de base de FoundryVTT : icons/svg/d10-grey.svg
// ============================================================
.cde-dice-plate-css {
position: relative;
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 50px;
height: 70px;
background: @cde-bg;
border-radius: @cde-radius;
border: 1px solid @cde-border;
color: @cde-text;
font-family: "Averia", sans-serif;
font-size: 24px;
font-weight: 700;
margin: 2px;
line-height: 1;
&::before {
content: attr(data-value);
display: block;
line-height: 1;
padding-top: 4px;
}
&::after {
content: "";
display: block;
width: 32px;
height: 32px;
background-image: url('../../../icons/svg/d10-grey.svg');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
margin-top: 4px;
opacity: 0.85;
}
// Variantes de taille
&.small {
width: 40px;
height: 40px;
font-size: 14px;
border-radius: @cde-radius-sm;
&::before {
position: relative;
z-index: 1;
padding-top: 0;
font-size: inherit;
}
&::after {
position: absolute;
inset: 0;
width: auto;
height: auto;
margin-top: 0;
border-radius: @cde-radius-sm;
}
}
&.large {
width: 60px;
height: 84px;
font-size: 30px;
&::after {
width: 38px;
height: 38px;
}
}
// Couleurs par élément Wu Xing
&.wood { border-color: @wu-green; &::before { color: lighten(@wu-green, 20%); } }
&.fire { border-color: @wu-red; &::before { color: lighten(@wu-red, 20%); } }
&.earth { border-color: @wu-brown; &::before { color: lighten(@wu-brown, 20%); } }
&.metal { border-color: @wu-gray; &::before { color: lighten(@wu-gray, 20%); } }
&.water { border-color: @wu-blue; &::before { color: lighten(@wu-blue, 20%); } }
}
// Hover effect for sheet dice plates
.cde-roll-trigger:hover .cde-dice-plate-css.small,
.cde-die-cell:hover .cde-dice-plate-css.small {
border-color: @cde-supernatural;
box-shadow: 0 0 8px fade(@cde-supernatural, 40%);
&::before { color: @cde-supernatural; }
&::after { opacity: 1; }
}
// Hover color for the "10" text on fa-dice-d10 override
a.cde-roll-trigger:hover i.fas.fa-dice-d10::before,
a.cde-roll-trigger:hover i.fa-solid.fa-dice-d10::before,
button:hover i.fas.fa-dice-d10::before,
button:hover i.fa-solid.fa-dice-d10::before {
color: @cde-supernatural;
}
// ============================================================
// Dice plate specific styling (for chat messages)
// Compact dice with colored borders per value + colored die icon
// ============================================================
.cde-dice-plate.cde-dice-plate-css {
width: 24px;
min-width: 24px;
height: 36px;
font-size: 12px;
margin: 1px;
box-shadow:
0 0 0 1px fade(@cde-border-hi, 60%),
inset 0 0 0 1px fade(@cde-text, 15%);
&::before {
padding-top: 1px;
font-size: 12px;
}
&::after {
width: 14px;
height: 14px;
margin-top: 2px;
opacity: 0.9;
filter: brightness(0) saturate(100%);
}
// Couleur par valeur de dé (0-10) + couleur du SVG
&[data-value="0"] {
border-color: @wu-gray;
&::before { color: lighten(@wu-gray, 25%); }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(0%) saturate(100%) hue-rotate(200deg) brightness(100%); }
}
&[data-value="1"] {
border-color: @wu-blue;
&::before { color: lighten(@wu-blue, 25%); }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(200deg) brightness(100%); }
}
&[data-value="2"] {
border-color: @wu-green;
&::before { color: lighten(@wu-green, 25%); }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(120deg) brightness(100%); }
}
&[data-value="3"] {
border-color: @wu-brown;
&::before { color: lighten(@wu-brown, 25%); }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(20deg) brightness(100%); }
}
&[data-value="4"] {
border-color: @wu-red;
&::before { color: lighten(@wu-red, 25%); }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(0deg) brightness(100%); }
}
&[data-value="5"] {
border-color: @wu-gray;
&::before { color: lighten(@wu-gray, 25%); }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(0%) saturate(100%) hue-rotate(200deg) brightness(100%); }
}
&[data-value="6"] {
border-color: @wu-blue;
&::before { color: lighten(@wu-blue, 25%); }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(200deg) brightness(100%); }
}
&[data-value="7"] {
border-color: @wu-green;
&::before { color: lighten(@wu-green, 25%); }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(120deg) brightness(100%); }
}
&[data-value="8"] {
border-color: @wu-brown;
&::before { color: lighten(@wu-brown, 25%); }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(20deg) brightness(100%); }
}
&[data-value="9"] {
border-color: @wu-red;
&::before { color: lighten(@wu-red, 25%); }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(0deg) brightness(100%); }
}
&[data-value="10"] {
border-color: @wu-red;
&::before { color: lighten(@wu-red, 25%); font-size: 13px; }
&::after { filter: brightness(0) saturate(100%) invert(75%) sepia(24%) saturate(1200%) hue-rotate(0deg) brightness(100%); }
}
}
+61 -62
View File
@@ -955,6 +955,11 @@ var CharacterDataModel = class extends foundry.abstract.TypeDataModel {
threetreasures: new fields.SchemaField({
heiyang: new fields.SchemaField({ value: numberField(0, { min: 0 }), max: numberField(0, { min: 0 }) }),
heiyin: new fields.SchemaField({ value: numberField(0, { min: 0 }), max: numberField(0, { min: 0 }) }),
recoverybonus: new fields.SchemaField({
san: boolField(),
zing: boolField(),
hei: boolField()
}),
dicelevel: new fields.SchemaField({
level0d: treasureLevel(),
level1d: treasureLevel(),
@@ -1265,53 +1270,6 @@ var CDEItem = class extends Item {
}
};
// src/ui/dice.js
var DIGIT_LABELS = [
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/digit/d10-1.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/digit/d10-2.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/digit/d10-3.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/digit/d10-4.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/digit/d10-5.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/digit/d10-6.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/digit/d10-7.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/digit/d10-8.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/digit/d10-9.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/digit/d10-10.webp"
];
var CLASSIC_LABELS = [
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/d10-1.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/d10-2.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/d10-3.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/d10-4.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/d10-5.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/d10-6.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/d10-7.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/d10-8.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/d10-9.webp",
"systems/fvtt-chroniques-de-l-etrange/images/dice-so-nice/d10-10.webp"
];
function registerDice() {
Hooks.once("diceSoNiceReady", (dice3d) => {
dice3d.addColorset(
{
name: "cde",
description: "CdE",
foreground: "#000000",
background: "#ffffff",
edge: "#ffffff",
font: "DeliusUnicase",
texture: "ice",
material: "plastic"
},
"preferred"
);
dice3d.addSystem({ id: "fvtt-chroniques-de-l-etrangedigit", name: "Chroniques de l'\xE9trange digits" }, "preferred");
dice3d.addDicePreset({ type: "d10", labels: DIGIT_LABELS, system: "fvtt-chroniques-de-l-etrangedigit" });
dice3d.addSystem({ id: "fvtt-chroniques-de-l-etrange", name: "Chroniques de l'\xE9trange" }, "preferred");
dice3d.addDicePreset({ type: "d10", labels: CLASSIC_LABELS, system: "fvtt-chroniques-de-l-etrange" });
});
}
// src/ui/helpers.js
function registerHandlebarsHelpers() {
const { Handlebars } = globalThis;
@@ -2484,34 +2442,75 @@ var CDECharacterSheet = class _CDECharacterSheet extends CDEBaseActorSheet {
const results = roll.dice[0].results.map((r) => r.result);
const evenCount = results.filter((r) => r % 2 === 0).length;
const oddCount = results.filter((r) => r % 2 !== 0).length;
const boostSan = sys.threetreasures?.recoverybonus?.san ?? false;
const boostZing = sys.threetreasures?.recoverybonus?.zing ?? false;
const boostHei = sys.threetreasures?.recoverybonus?.hei ?? false;
const applyBoost = (count, enabled) => enabled && count > 0 ? count + 1 : count;
const sanTotal = applyBoost(evenCount, boostSan);
const zingTotal = applyBoost(oddCount, boostZing);
const heiYangCount = applyBoost(evenCount, boostHei);
const heiYinCount = applyBoost(oddCount, boostHei);
const cap = (max) => max > 0 ? max : Infinity;
const heiYang = Math.min(
(sys.threetreasures?.heiyang?.value ?? 0) + evenCount,
(sys.threetreasures?.heiyang?.value ?? 0) + heiYangCount,
cap(sys.threetreasures?.heiyang?.max)
);
const heiYin = Math.min(
(sys.threetreasures?.heiyin?.value ?? 0) + oddCount,
(sys.threetreasures?.heiyin?.value ?? 0) + heiYinCount,
cap(sys.threetreasures?.heiyin?.max)
);
const san = Math.min(
(sys.threetreasures?.dicelevel?.level0d?.san?.value ?? 0) + evenCount,
cap(sys.threetreasures?.dicelevel?.level0d?.san?.max)
);
const zing = Math.min(
(sys.threetreasures?.dicelevel?.level0d?.zing?.value ?? 0) + oddCount,
cap(sys.threetreasures?.dicelevel?.level0d?.zing?.max)
);
const poolDeltas = {
level2d: { san: 0, zing: 0 },
level1d: { san: 0, zing: 0 },
level0d: { san: 0, zing: 0 }
};
const fillPool = (branch, count) => {
let remaining = count;
for (const key of ["level2d", "level1d", "level0d"]) {
const slot = sys.threetreasures?.dicelevel?.[key]?.[branch];
if (!slot) continue;
const space = cap(slot.max) - (slot.value ?? 0);
if (space <= 0) continue;
const toAdd = Math.min(remaining, space);
remaining -= toAdd;
poolDeltas[key][branch] = toAdd;
if (remaining <= 0) break;
}
return count - remaining;
};
fillPool("san", sanTotal);
fillPool("zing", zingTotal);
await actor.update({
"system.threetreasures.heiyang.value": heiYang,
"system.threetreasures.heiyin.value": heiYin,
"system.threetreasures.dicelevel.level0d.san.value": san,
"system.threetreasures.dicelevel.level0d.zing.value": zing
"system.threetreasures.dicelevel.level2d.san.value": (sys.threetreasures?.dicelevel?.level2d?.san?.value ?? 0) + poolDeltas.level2d.san,
"system.threetreasures.dicelevel.level2d.zing.value": (sys.threetreasures?.dicelevel?.level2d?.zing?.value ?? 0) + poolDeltas.level2d.zing,
"system.threetreasures.dicelevel.level1d.san.value": (sys.threetreasures?.dicelevel?.level1d?.san?.value ?? 0) + poolDeltas.level1d.san,
"system.threetreasures.dicelevel.level1d.zing.value": (sys.threetreasures?.dicelevel?.level1d?.zing?.value ?? 0) + poolDeltas.level1d.zing,
"system.threetreasures.dicelevel.level0d.san.value": (sys.threetreasures?.dicelevel?.level0d?.san?.value ?? 0) + poolDeltas.level0d.san,
"system.threetreasures.dicelevel.level0d.zing.value": (sys.threetreasures?.dicelevel?.level0d?.zing?.value ?? 0) + poolDeltas.level0d.zing
});
const rollLabel = `${game.i18n.localize("CDE.Recovery")} \u2014 ${aspectLabel}`;
const diceStr = results.join(" \xB7 ");
const typeOfThrow = Number(sys.prefs?.typeofthrow?.choice ?? 0);
const ROLL_MODES2 = ["roll", "gmroll", "blindroll", "selfroll"];
const rollMode = ROLL_MODES2[typeOfThrow] ?? "roll";
const poolLine = (key, label) => {
const s = poolDeltas[key].san;
const z = poolDeltas[key].zing;
if (!s && !z) return "";
return `<div class="cde-chat-recovery-pool-row">${label} \u2192 San +${s}, Zing +${z}</div>`;
};
const poolRows = [
poolLine("level2d", "\u22122 d\xE9s"),
poolLine("level1d", "\u22121 d\xE9"),
poolLine("level0d", "0 d\xE9")
].filter(Boolean).join("");
const poolBoostHtml = [
boostSan ? `<div class="cde-chat-recovery-pool-boost">+1 ${game.i18n.localize("CDE.RecoveryBoostSan")}</div>` : "",
boostZing ? `<div class="cde-chat-recovery-pool-boost">+1 ${game.i18n.localize("CDE.RecoveryBoostZing")}</div>` : ""
].filter(Boolean).join("");
const poolHtml = poolBoostHtml + poolRows;
await ChatMessage.create({
user: game.user.id,
speaker: ChatMessage.getSpeaker({ actor }),
@@ -2529,14 +2528,15 @@ var CDECharacterSheet = class _CDECharacterSheet extends CDEBaseActorSheet {
<div class="cde-chat-recovery-even">
<span class="cde-chat-recovery-count">${evenCount}</span>
<span><strong>${game.i18n.localize("CDE.RecoveryEvenLabel")}</strong></span>
<span>\u2192 +${evenCount} Hei Yang, +${evenCount} San</span>
<span>\u2192 Hei Yang +${heiYangCount}${heiYang !== (sys.threetreasures?.heiyang?.value ?? 0) + heiYangCount ? ` (${game.i18n.localize("CDE.ClampedTo")} ${sys.threetreasures?.heiyang?.max})` : ""}${boostHei && evenCount > 0 ? ` (+1 ${game.i18n.localize("CDE.RecoveryBoostHeiLabel")})` : ""}</span>
</div>
<div class="cde-chat-recovery-odd">
<span class="cde-chat-recovery-count">${oddCount}</span>
<span><strong>${game.i18n.localize("CDE.RecoveryOddLabel")}</strong></span>
<span>\u2192 +${oddCount} Hei Yin, +${oddCount} Zing</span>
<span>\u2192 Hei Yin +${heiYinCount}${heiYin !== (sys.threetreasures?.heiyin?.value ?? 0) + heiYinCount ? ` (${game.i18n.localize("CDE.ClampedTo")} ${sys.threetreasures?.heiyin?.max})` : ""}${boostHei && oddCount > 0 ? ` (+1 ${game.i18n.localize("CDE.RecoveryBoostHeiLabel")})` : ""}</span>
</div>
</div>
<div class="cde-chat-recovery-pools">${poolHtml}</div>
</div>`,
rolls: [roll],
rollMode
@@ -3539,7 +3539,6 @@ Hooks.once("init", async () => {
});
await preloadPartials();
registerHandlebarsHelpers();
registerDice();
console.info(`CHRONIQUESDELETRANGE | Initialized`);
});
Hooks.once("ready", async () => {
+3 -3
View File
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 62 KiB

+80
View File
@@ -0,0 +1,80 @@
# Images du système
## `images/` — racine
| Fichier | Description | Origin |
|---|---|---|
| `cde_bois.webp` | Icône Wu Xing — Bois | game-icons.net |
| `cde_eau.webp` | Icône Wu Xing — Eau | game-icons.net |
| `cde_feu.webp` | Icône Wu Xing — Feu | game-icons.net |
| `cde_metal.webp` | Icône Wu Xing — Métal | game-icons.net |
| `cde_terre.webp` | Icône Wu Xing — Terre | game-icons.net |
| `cde_yang.webp` | Icône polarité Yang | game-icons.net |
| `cde_yin.webp` | Icône polarité Yin | game-icons.net |
| `logo_cde.webp` | Logo du jeu | Provided by Antre Monde edition, no AI |
| `logo_jeu.webp` | Logo secondaire | Provided by Antre Monde edition, no AI |
| `loksyu.webp` | Diagramme Loksyu (complet) | Provided by Antre Monde edition, no AI |
| `loksyu_fd_trans.webp` | Diagramme Loksyu (fond transparent) | Provided by Antre Monde edition, no AI |
| `loksyu_long.webp` | Diagramme Loksyu (horizontal) | Provided by Antre Monde edition, no AI |
| `nghang.webp` | Diagramme Ng Hang (complet) | Provided by Antre Monde edition, no AI |
| `nghang_long.webp` | Diagramme Ng Hang (horizontal) | Provided by Antre Monde edition, no AI |
| `yin_yang.webp` | Symbole Yin-Yang | Provided by Antre Monde edition, no AI |
## `images/background/` — arrière-plans
| Fichier | Description | Origin |
|---|---|---|
| `accueil.webp` | Fond de l'écran d'accueil | Provided by Antre Monde edition, no AI |
| `carte_cde.webp` | Carte du monde CdE | Provided by Antre Monde edition, no AI |
| `carte_hk.webp` | Carte de Hong Kong | Provided by Antre Monde edition, no AI |
| `ecran.webp` | Fond d'écran générique | Provided by Antre Monde edition, no AI |
| `loksyu_whole.webp` | Diagramme Loksyu (pleine page) | Provided by Antre Monde edition, no AI |
| `nghang_whole.webp` | Diagramme Ng Hang (pleine page) | Provided by Antre Monde edition, no AI |
## `images/fat_si/` — portraits de personnages prétirés
| Fichier | Personnage | Origin |
|---|---|---|
| `billy.webp` | Billy | Provided by Antre Monde edition, no AI |
| `brenda.webp` | Brenda | Provided by Antre Monde edition, no AI |
| `danny.webp` | Danny | Provided by Antre Monde edition, no AI |
| `emerson.webp` | Emerson | Provided by Antre Monde edition, no AI |
| `freddie.webp` | Freddie | Provided by Antre Monde edition, no AI |
| `lily.webp` | Lily | Provided by Antre Monde edition, no AI |
| `maggie.webp` | Maggie | Provided by Antre Monde edition, no AI |
| `mallory.webp` | Mallory | Provided by Antre Monde edition, no AI |
| `penny.webp` | Penny | Provided by Antre Monde edition, no AI |
| `sam.webp` | Sam | Provided by Antre Monde edition, no AI |
## `images/icons/` — icônes d'équipement et de type
| Fichier | Usage | Origin |
|---|---|---|
| `icon-armor.svg` | Icône armure | game-icons.net |
| `icon-ingredient.svg` | Icône ingrédient | game-icons.net |
| `icon-item.svg` | Icône équipement générique | game-icons.net |
| `icon-kungfu.svg` | Icône art martial | game-icons.net |
| `icon-npc-demon.svg` | Icône PNJ — démon | game-icons.net |
| `icon-npc-dieu.svg` | Icône PNJ — dieu/divinité | game-icons.net |
| `icon-npc-esprit-animal.svg` | Icône PNJ — esprit animal | game-icons.net |
| `icon-sanhei.svg` | Icône sanhei | game-icons.net |
| `icon-spell.svg` | Icône sortilège | game-icons.net |
| `icon-supernatural.svg` | Icône capacité surnaturelle | game-icons.net |
| `icon-weapon.svg` | Icône arme | game-icons.net |
## `images/ui/` — captures d'écran de l'interface
| Fichier | Description | Origin |
|---|---|---|
| `character-sheet-items.png` | Feuille perso — onglet Équipement | Screenshot of the system |
| `character-sheet-kungfu.png` | Feuille perso — onglet Kung-Fu | Screenshot of the system |
| `character-sheet-magics.png` | Feuille perso — onglet Magies | Screenshot of the system |
| `character-sheet-nghang.png` | Feuille perso — onglet Nghang | Screenshot of the system |
| `character-sheet-skills.png` | Feuille perso — onglet Compétences | Screenshot of the system |
| `character-sheet-treasures.png` | Feuille perso — onglet Trésors | Screenshot of the system |
| `initiative-wheel.png` | Roue d'initiative | Screenshot of the system |
| `loksyu-app.png` | Application Loksyu autonome | Screenshot of the system |
| `migration-dialog.png` | Dialogue d'import/migration | Screenshot of the system |
| `npc-sheet.png` | Feuille de PNJ | Screenshot of the system |
| `roll-dialog.png` | Dialogue de jet | Screenshot of the system |
| `roll-result-chat.png` | Résultat de jet dans le chat | Screenshot of the system |
+5
View File
@@ -291,6 +291,11 @@
"CDE.RecoveryNoAspect": "Votre aspect est à 0, la Récupération est impossible.",
"CDE.RecoveryNoGuardian": "Vous devez choisir un Gardien Céleste pour utiliser la Récupération.",
"CDE.RecoveryOddLabel": "Impairs",
"CDE.RecoveryBoostZing": "Récupération de Zing accrue",
"CDE.RecoveryBoostSan": "Récupération de San accrue",
"CDE.RecoveryBoostHei": "Récupération de Hei accrue",
"CDE.RecoveryBoostHeiLabel": "Récup. Hei",
"CDE.ClampedTo": "max:",
"CDE.Renowned": "Renommé",
"CDE.ResourceMax": "Max",
"CDE.ResourceMin": "Min",
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000056
MANIFEST-000072
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:04.139271 7fc30ebfd6c0 Recovering log #54
2026/06/23-22:52:04.193992 7fc30ebfd6c0 Delete type=3 #52
2026/06/23-22:52:04.194036 7fc30ebfd6c0 Delete type=0 #54
2026/06/23-23:18:40.498811 7fc30cbff6c0 Level-0 table #59: started
2026/06/23-23:18:40.498840 7fc30cbff6c0 Level-0 table #59: 0 bytes OK
2026/06/23-23:18:40.506364 7fc30cbff6c0 Delete type=0 #57
2026/06/23-23:18:40.513074 7fc30cbff6c0 Manual compaction at level-0 from '!items!3aig6MWvZCRoWXPW' @ 72057594037927935 : 1 .. '!items!cXaQG1TBE0jzrbNt' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.241511 7f677f7fe6c0 Recovering log #70
2026/07/07-21:20:15.254198 7f677f7fe6c0 Delete type=3 #68
2026/07/07-21:20:15.254278 7f677f7fe6c0 Delete type=0 #70
2026/07/07-21:21:25.218421 7f677ebff6c0 Level-0 table #75: started
2026/07/07-21:21:25.218444 7f677ebff6c0 Level-0 table #75: 0 bytes OK
2026/07/07-21:21:25.224948 7f677ebff6c0 Delete type=0 #73
2026/07/07-21:21:25.244168 7f677ebff6c0 Manual compaction at level-0 from '!items!3aig6MWvZCRoWXPW' @ 72057594037927935 : 1 .. '!items!cXaQG1TBE0jzrbNt' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.100287 7f29d5fed6c0 Recovering log #50
2026/06/14-22:49:59.110340 7f29d5fed6c0 Delete type=3 #48
2026/06/14-22:49:59.110396 7f29d5fed6c0 Delete type=0 #50
2026/06/14-22:52:09.917197 7f29d4feb6c0 Level-0 table #55: started
2026/06/14-22:52:09.917225 7f29d4feb6c0 Level-0 table #55: 0 bytes OK
2026/06/14-22:52:09.923646 7f29d4feb6c0 Delete type=0 #53
2026/06/14-22:52:09.923831 7f29d4feb6c0 Manual compaction at level-0 from '!items!3aig6MWvZCRoWXPW' @ 72057594037927935 : 1 .. '!items!cXaQG1TBE0jzrbNt' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.784888 7f67ccbfe6c0 Recovering log #66
2026/07/07-21:18:30.794190 7f67ccbfe6c0 Delete type=3 #64
2026/07/07-21:18:30.794249 7f67ccbfe6c0 Delete type=0 #66
2026/07/07-21:20:10.802303 7f677ebff6c0 Level-0 table #71: started
2026/07/07-21:20:10.802330 7f677ebff6c0 Level-0 table #71: 0 bytes OK
2026/07/07-21:20:10.808601 7f677ebff6c0 Delete type=0 #69
2026/07/07-21:20:10.829139 7f677ebff6c0 Manual compaction at level-0 from '!items!3aig6MWvZCRoWXPW' @ 72057594037927935 : 1 .. '!items!cXaQG1TBE0jzrbNt' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000056
MANIFEST-000072
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:04.518465 7fc30ebfd6c0 Recovering log #54
2026/06/23-22:52:04.573807 7fc30ebfd6c0 Delete type=3 #52
2026/06/23-22:52:04.573859 7fc30ebfd6c0 Delete type=0 #54
2026/06/23-23:18:40.546898 7fc30cbff6c0 Level-0 table #59: started
2026/06/23-23:18:40.546922 7fc30cbff6c0 Level-0 table #59: 0 bytes OK
2026/06/23-23:18:40.553525 7fc30cbff6c0 Delete type=0 #57
2026/06/23-23:18:40.567075 7fc30cbff6c0 Manual compaction at level-0 from '!journal!CDEGuideMain0001' @ 72057594037927935 : 1 .. '!journal.pages!CDEGuideMain0001.wgqIHHVlO9miegn1' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.322073 7f67cd3ff6c0 Recovering log #70
2026/07/07-21:20:15.332602 7f67cd3ff6c0 Delete type=3 #68
2026/07/07-21:20:15.332629 7f67cd3ff6c0 Delete type=0 #70
2026/07/07-21:21:25.256014 7f677ebff6c0 Level-0 table #75: started
2026/07/07-21:21:25.256027 7f677ebff6c0 Level-0 table #75: 0 bytes OK
2026/07/07-21:21:25.262067 7f677ebff6c0 Delete type=0 #73
2026/07/07-21:21:25.269143 7f677ebff6c0 Manual compaction at level-0 from '!journal!CDEGuideMain0001' @ 72057594037927935 : 1 .. '!journal.pages!CDEGuideMain0001.wgqIHHVlO9miegn1' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.185177 7f29d5fed6c0 Recovering log #50
2026/06/14-22:49:59.194849 7f29d5fed6c0 Delete type=3 #48
2026/06/14-22:49:59.194912 7f29d5fed6c0 Delete type=0 #50
2026/06/14-22:52:09.979071 7f29d4feb6c0 Level-0 table #55: started
2026/06/14-22:52:09.979102 7f29d4feb6c0 Level-0 table #55: 0 bytes OK
2026/06/14-22:52:09.985673 7f29d4feb6c0 Delete type=0 #53
2026/06/14-22:52:10.010878 7f29d4feb6c0 Manual compaction at level-0 from '!journal!CDEGuideMain0001' @ 72057594037927935 : 1 .. '!journal.pages!CDEGuideMain0001.wgqIHHVlO9miegn1' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.861129 7f67ccbfe6c0 Recovering log #66
2026/07/07-21:18:30.870622 7f67ccbfe6c0 Delete type=3 #64
2026/07/07-21:18:30.870683 7f67ccbfe6c0 Delete type=0 #66
2026/07/07-21:20:10.842315 7f677ebff6c0 Level-0 table #71: started
2026/07/07-21:20:10.842337 7f677ebff6c0 Level-0 table #71: 0 bytes OK
2026/07/07-21:20:10.848123 7f677ebff6c0 Delete type=0 #69
2026/07/07-21:20:10.860868 7f677ebff6c0 Manual compaction at level-0 from '!journal!CDEGuideMain0001' @ 72057594037927935 : 1 .. '!journal.pages!CDEGuideMain0001.wgqIHHVlO9miegn1' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000056
MANIFEST-000072
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:04.263832 7fc30ebfd6c0 Recovering log #54
2026/06/23-22:52:04.317643 7fc30ebfd6c0 Delete type=3 #52
2026/06/23-22:52:04.317694 7fc30ebfd6c0 Delete type=0 #54
2026/06/23-23:18:40.526850 7fc30cbff6c0 Level-0 table #59: started
2026/06/23-23:18:40.526875 7fc30cbff6c0 Level-0 table #59: 0 bytes OK
2026/06/23-23:18:40.533156 7fc30cbff6c0 Delete type=0 #57
2026/06/23-23:18:40.540428 7fc30cbff6c0 Manual compaction at level-0 from '!items!0NDBw1YB54q3hLH0' @ 72057594037927935 : 1 .. '!items!ykekdZlirabRobEF' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.268071 7f67ccbfe6c0 Recovering log #70
2026/07/07-21:20:15.279425 7f67ccbfe6c0 Delete type=3 #68
2026/07/07-21:20:15.279503 7f67ccbfe6c0 Delete type=0 #70
2026/07/07-21:21:25.230983 7f677ebff6c0 Level-0 table #75: started
2026/07/07-21:21:25.230999 7f677ebff6c0 Level-0 table #75: 0 bytes OK
2026/07/07-21:21:25.236758 7f677ebff6c0 Delete type=0 #73
2026/07/07-21:21:25.244185 7f677ebff6c0 Manual compaction at level-0 from '!items!0NDBw1YB54q3hLH0' @ 72057594037927935 : 1 .. '!items!ykekdZlirabRobEF' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.128336 7f29d5fed6c0 Recovering log #50
2026/06/14-22:49:59.138475 7f29d5fed6c0 Delete type=3 #48
2026/06/14-22:49:59.138521 7f29d5fed6c0 Delete type=0 #50
2026/06/14-22:52:09.937223 7f29d4feb6c0 Level-0 table #55: started
2026/06/14-22:52:09.937263 7f29d4feb6c0 Level-0 table #55: 0 bytes OK
2026/06/14-22:52:09.944028 7f29d4feb6c0 Delete type=0 #53
2026/06/14-22:52:09.951911 7f29d4feb6c0 Manual compaction at level-0 from '!items!0NDBw1YB54q3hLH0' @ 72057594037927935 : 1 .. '!items!ykekdZlirabRobEF' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.809267 7f67cd3ff6c0 Recovering log #66
2026/07/07-21:18:30.819636 7f67cd3ff6c0 Delete type=3 #64
2026/07/07-21:18:30.819678 7f67cd3ff6c0 Delete type=0 #66
2026/07/07-21:20:10.808728 7f677ebff6c0 Level-0 table #71: started
2026/07/07-21:20:10.808749 7f677ebff6c0 Level-0 table #71: 0 bytes OK
2026/07/07-21:20:10.815795 7f677ebff6c0 Delete type=0 #69
2026/07/07-21:20:10.829154 7f677ebff6c0 Manual compaction at level-0 from '!items!0NDBw1YB54q3hLH0' @ 72057594037927935 : 1 .. '!items!ykekdZlirabRobEF' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000056
MANIFEST-000072
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:04.326035 7fc30f3fe6c0 Recovering log #54
2026/06/23-22:52:04.382146 7fc30f3fe6c0 Delete type=3 #52
2026/06/23-22:52:04.382194 7fc30f3fe6c0 Delete type=0 #54
2026/06/23-23:18:40.533288 7fc30cbff6c0 Level-0 table #59: started
2026/06/23-23:18:40.533312 7fc30cbff6c0 Level-0 table #59: 0 bytes OK
2026/06/23-23:18:40.540291 7fc30cbff6c0 Delete type=0 #57
2026/06/23-23:18:40.546887 7fc30cbff6c0 Manual compaction at level-0 from '!items!HKq5ANSGiBIdcnki' @ 72057594037927935 : 1 .. '!items!HKq5ANSGiBIdcnki' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.281481 7f677f7fe6c0 Recovering log #70
2026/07/07-21:20:15.291844 7f677f7fe6c0 Delete type=3 #68
2026/07/07-21:20:15.291894 7f677f7fe6c0 Delete type=0 #70
2026/07/07-21:21:25.236832 7f677ebff6c0 Level-0 table #75: started
2026/07/07-21:21:25.236849 7f677ebff6c0 Level-0 table #75: 0 bytes OK
2026/07/07-21:21:25.244098 7f677ebff6c0 Delete type=0 #73
2026/07/07-21:21:25.244191 7f677ebff6c0 Manual compaction at level-0 from '!items!HKq5ANSGiBIdcnki' @ 72057594037927935 : 1 .. '!items!HKq5ANSGiBIdcnki' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.141353 7f29d6fef6c0 Recovering log #50
2026/06/14-22:49:59.151373 7f29d6fef6c0 Delete type=3 #48
2026/06/14-22:49:59.151426 7f29d6fef6c0 Delete type=0 #50
2026/06/14-22:52:09.944165 7f29d4feb6c0 Level-0 table #55: started
2026/06/14-22:52:09.944196 7f29d4feb6c0 Level-0 table #55: 0 bytes OK
2026/06/14-22:52:09.951751 7f29d4feb6c0 Delete type=0 #53
2026/06/14-22:52:09.952015 7f29d4feb6c0 Manual compaction at level-0 from '!items!HKq5ANSGiBIdcnki' @ 72057594037927935 : 1 .. '!items!HKq5ANSGiBIdcnki' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.822337 7f677f7fe6c0 Recovering log #66
2026/07/07-21:18:30.832009 7f677f7fe6c0 Delete type=3 #64
2026/07/07-21:18:30.832084 7f677f7fe6c0 Delete type=0 #66
2026/07/07-21:20:10.822768 7f677ebff6c0 Level-0 table #71: started
2026/07/07-21:20:10.822797 7f677ebff6c0 Level-0 table #71: 0 bytes OK
2026/07/07-21:20:10.829026 7f677ebff6c0 Delete type=0 #69
2026/07/07-21:20:10.835346 7f677ebff6c0 Manual compaction at level-0 from '!items!HKq5ANSGiBIdcnki' @ 72057594037927935 : 1 .. '!items!HKq5ANSGiBIdcnki' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000056
MANIFEST-000072
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:03.883764 7fc30e3fc6c0 Recovering log #54
2026/06/23-22:52:03.939938 7fc30e3fc6c0 Delete type=3 #52
2026/06/23-22:52:03.939989 7fc30e3fc6c0 Delete type=0 #54
2026/06/23-23:18:40.485777 7fc30cbff6c0 Level-0 table #59: started
2026/06/23-23:18:40.485844 7fc30cbff6c0 Level-0 table #59: 0 bytes OK
2026/06/23-23:18:40.492156 7fc30cbff6c0 Delete type=0 #57
2026/06/23-23:18:40.513045 7fc30cbff6c0 Manual compaction at level-0 from '!items!2nKXEHLG0fXtSOdy' @ 72057594037927935 : 1 .. '!items!tlIc1bmIAbQeUwj7' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.194109 7f677ffff6c0 Recovering log #70
2026/07/07-21:20:15.204323 7f677ffff6c0 Delete type=3 #68
2026/07/07-21:20:15.204376 7f677ffff6c0 Delete type=0 #70
2026/07/07-21:21:25.211571 7f677ebff6c0 Level-0 table #75: started
2026/07/07-21:21:25.211591 7f677ebff6c0 Level-0 table #75: 0 bytes OK
2026/07/07-21:21:25.218151 7f677ebff6c0 Delete type=0 #73
2026/07/07-21:21:25.218311 7f677ebff6c0 Manual compaction at level-0 from '!items!2nKXEHLG0fXtSOdy' @ 72057594037927935 : 1 .. '!items!tlIc1bmIAbQeUwj7' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.045733 7f29d57ec6c0 Recovering log #50
2026/06/14-22:49:59.056842 7f29d57ec6c0 Delete type=3 #48
2026/06/14-22:49:59.056897 7f29d57ec6c0 Delete type=0 #50
2026/06/14-22:52:09.896535 7f29d4feb6c0 Level-0 table #55: started
2026/06/14-22:52:09.896595 7f29d4feb6c0 Level-0 table #55: 0 bytes OK
2026/06/14-22:52:09.903914 7f29d4feb6c0 Delete type=0 #53
2026/06/14-22:52:09.923752 7f29d4feb6c0 Manual compaction at level-0 from '!items!2nKXEHLG0fXtSOdy' @ 72057594037927935 : 1 .. '!items!tlIc1bmIAbQeUwj7' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.736947 7f677f7fe6c0 Recovering log #66
2026/07/07-21:18:30.746310 7f677f7fe6c0 Delete type=3 #64
2026/07/07-21:18:30.746367 7f677f7fe6c0 Delete type=0 #66
2026/07/07-21:20:10.790037 7f677ebff6c0 Level-0 table #71: started
2026/07/07-21:20:10.790059 7f677ebff6c0 Level-0 table #71: 0 bytes OK
2026/07/07-21:20:10.796155 7f677ebff6c0 Delete type=0 #69
2026/07/07-21:20:10.802205 7f677ebff6c0 Manual compaction at level-0 from '!items!2nKXEHLG0fXtSOdy' @ 72057594037927935 : 1 .. '!items!tlIc1bmIAbQeUwj7' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000056
MANIFEST-000072
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:04.384874 7fc30ebfd6c0 Recovering log #54
2026/06/23-22:52:04.450056 7fc30ebfd6c0 Delete type=3 #52
2026/06/23-22:52:04.450116 7fc30ebfd6c0 Delete type=0 #54
2026/06/23-23:18:40.540438 7fc30cbff6c0 Level-0 table #59: started
2026/06/23-23:18:40.540462 7fc30cbff6c0 Level-0 table #59: 0 bytes OK
2026/06/23-23:18:40.546774 7fc30cbff6c0 Delete type=0 #57
2026/06/23-23:18:40.560286 7fc30cbff6c0 Manual compaction at level-0 from '!actors!4ZjFZ1HoJV9mJStt' @ 72057594037927935 : 1 .. '!actors!zVpmacwoWEG8YTCQ' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.293932 7f67ccbfe6c0 Recovering log #70
2026/07/07-21:20:15.303122 7f67ccbfe6c0 Delete type=3 #68
2026/07/07-21:20:15.303196 7f67ccbfe6c0 Delete type=0 #70
2026/07/07-21:21:25.250176 7f677ebff6c0 Level-0 table #75: started
2026/07/07-21:21:25.250196 7f677ebff6c0 Level-0 table #75: 0 bytes OK
2026/07/07-21:21:25.255952 7f677ebff6c0 Delete type=0 #73
2026/07/07-21:21:25.269135 7f677ebff6c0 Manual compaction at level-0 from '!actors!4ZjFZ1HoJV9mJStt' @ 72057594037927935 : 1 .. '!actors!zVpmacwoWEG8YTCQ' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.154286 7f29d5fed6c0 Recovering log #50
2026/06/14-22:49:59.165791 7f29d5fed6c0 Delete type=3 #48
2026/06/14-22:49:59.165837 7f29d5fed6c0 Delete type=0 #50
2026/06/14-22:52:09.952102 7f29d4feb6c0 Level-0 table #55: started
2026/06/14-22:52:09.952142 7f29d4feb6c0 Level-0 table #55: 0 bytes OK
2026/06/14-22:52:09.958682 7f29d4feb6c0 Delete type=0 #53
2026/06/14-22:52:09.978831 7f29d4feb6c0 Manual compaction at level-0 from '!actors!4ZjFZ1HoJV9mJStt' @ 72057594037927935 : 1 .. '!actors!zVpmacwoWEG8YTCQ' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.834115 7f67ccbfe6c0 Recovering log #66
2026/07/07-21:18:30.844835 7f67ccbfe6c0 Delete type=3 #64
2026/07/07-21:18:30.844919 7f67ccbfe6c0 Delete type=0 #66
2026/07/07-21:20:10.829223 7f677ebff6c0 Level-0 table #71: started
2026/07/07-21:20:10.829262 7f677ebff6c0 Level-0 table #71: 0 bytes OK
2026/07/07-21:20:10.835230 7f677ebff6c0 Delete type=0 #69
2026/07/07-21:20:10.848201 7f677ebff6c0 Manual compaction at level-0 from '!actors!4ZjFZ1HoJV9mJStt' @ 72057594037927935 : 1 .. '!actors!zVpmacwoWEG8YTCQ' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000034
MANIFEST-000050
+8 -8
View File
@@ -1,8 +1,8 @@
2026/06/23-22:52:04.455334 7fc30ebfd6c0 Recovering log #32
2026/06/23-22:52:04.508352 7fc30ebfd6c0 Delete type=3 #30
2026/06/23-22:52:04.508404 7fc30ebfd6c0 Delete type=0 #32
2026/06/23-23:18:40.574999 7fc30cbff6c0 Level-0 table #37: started
2026/06/23-23:18:40.575035 7fc30cbff6c0 Level-0 table #37: 0 bytes OK
2026/06/23-23:18:40.581589 7fc30cbff6c0 Delete type=0 #35
2026/06/23-23:18:40.598799 7fc30cbff6c0 Manual compaction at level-0 from '!actors!5OGW1fRUn12aNMMV' @ 72057594037927935 : 1 .. '!actors.items!zSWwOmFiFjN4YxC9.w8LXSYQ1eIygtlKV' @ 0 : 0; will stop at (end)
2026/06/23-23:18:40.605610 7fc30cbff6c0 Manual compaction at level-1 from '!actors!5OGW1fRUn12aNMMV' @ 72057594037927935 : 1 .. '!actors.items!zSWwOmFiFjN4YxC9.w8LXSYQ1eIygtlKV' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.306222 7f677ffff6c0 Recovering log #48
2026/07/07-21:20:15.316177 7f677ffff6c0 Delete type=3 #46
2026/07/07-21:20:15.316213 7f677ffff6c0 Delete type=0 #48
2026/07/07-21:21:25.244286 7f677ebff6c0 Level-0 table #53: started
2026/07/07-21:21:25.244303 7f677ebff6c0 Level-0 table #53: 0 bytes OK
2026/07/07-21:21:25.250085 7f677ebff6c0 Delete type=0 #51
2026/07/07-21:21:25.269124 7f677ebff6c0 Manual compaction at level-0 from '!actors!5OGW1fRUn12aNMMV' @ 72057594037927935 : 1 .. '!actors.items!zSWwOmFiFjN4YxC9.w8LXSYQ1eIygtlKV' @ 0 : 0; will stop at (end)
2026/07/07-21:21:25.269155 7f677ebff6c0 Manual compaction at level-1 from '!actors!5OGW1fRUn12aNMMV' @ 72057594037927935 : 1 .. '!actors.items!zSWwOmFiFjN4YxC9.w8LXSYQ1eIygtlKV' @ 0 : 0; will stop at (end)
+8 -8
View File
@@ -1,8 +1,8 @@
2026/06/14-22:49:59.169462 7f29d5fed6c0 Recovering log #28
2026/06/14-22:49:59.179433 7f29d5fed6c0 Delete type=3 #26
2026/06/14-22:49:59.179471 7f29d5fed6c0 Delete type=0 #28
2026/06/14-22:52:09.985789 7f29d4feb6c0 Level-0 table #33: started
2026/06/14-22:52:09.985816 7f29d4feb6c0 Level-0 table #33: 0 bytes OK
2026/06/14-22:52:09.992966 7f29d4feb6c0 Delete type=0 #31
2026/06/14-22:52:10.010894 7f29d4feb6c0 Manual compaction at level-0 from '!actors!5OGW1fRUn12aNMMV' @ 72057594037927935 : 1 .. '!actors.items!zSWwOmFiFjN4YxC9.w8LXSYQ1eIygtlKV' @ 0 : 0; will stop at (end)
2026/06/14-22:52:10.011012 7f29d4feb6c0 Manual compaction at level-1 from '!actors!5OGW1fRUn12aNMMV' @ 72057594037927935 : 1 .. '!actors.items!zSWwOmFiFjN4YxC9.w8LXSYQ1eIygtlKV' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.846745 7f67ccbfe6c0 Recovering log #44
2026/07/07-21:18:30.856183 7f67ccbfe6c0 Delete type=3 #42
2026/07/07-21:18:30.856244 7f67ccbfe6c0 Delete type=0 #44
2026/07/07-21:20:10.835363 7f677ebff6c0 Level-0 table #49: started
2026/07/07-21:20:10.835392 7f677ebff6c0 Level-0 table #49: 0 bytes OK
2026/07/07-21:20:10.842235 7f677ebff6c0 Delete type=0 #47
2026/07/07-21:20:10.854088 7f677ebff6c0 Manual compaction at level-0 from '!actors!5OGW1fRUn12aNMMV' @ 72057594037927935 : 1 .. '!actors.items!zSWwOmFiFjN4YxC9.w8LXSYQ1eIygtlKV' @ 0 : 0; will stop at (end)
2026/07/07-21:20:10.860898 7f677ebff6c0 Manual compaction at level-1 from '!actors!5OGW1fRUn12aNMMV' @ 72057594037927935 : 1 .. '!actors.items!zSWwOmFiFjN4YxC9.w8LXSYQ1eIygtlKV' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000056
MANIFEST-000072
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:04.196737 7fc30e3fc6c0 Recovering log #54
2026/06/23-22:52:04.256421 7fc30e3fc6c0 Delete type=3 #52
2026/06/23-22:52:04.256489 7fc30e3fc6c0 Delete type=0 #54
2026/06/23-23:18:40.513258 7fc30cbff6c0 Level-0 table #59: started
2026/06/23-23:18:40.513298 7fc30cbff6c0 Level-0 table #59: 0 bytes OK
2026/06/23-23:18:40.519764 7fc30cbff6c0 Delete type=0 #57
2026/06/23-23:18:40.533273 7fc30cbff6c0 Manual compaction at level-0 from '!items!DC2kimCi9sWxqhXG' @ 72057594037927935 : 1 .. '!items!qzfAEhmvVxEMzm0k' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.256072 7f677ffff6c0 Recovering log #70
2026/07/07-21:20:15.265904 7f677ffff6c0 Delete type=3 #68
2026/07/07-21:20:15.265948 7f677ffff6c0 Delete type=0 #70
2026/07/07-21:21:25.225065 7f677ebff6c0 Level-0 table #75: started
2026/07/07-21:21:25.225088 7f677ebff6c0 Level-0 table #75: 0 bytes OK
2026/07/07-21:21:25.230920 7f677ebff6c0 Delete type=0 #73
2026/07/07-21:21:25.244177 7f677ebff6c0 Manual compaction at level-0 from '!items!DC2kimCi9sWxqhXG' @ 72057594037927935 : 1 .. '!items!qzfAEhmvVxEMzm0k' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.113546 7f29d67ee6c0 Recovering log #50
2026/06/14-22:49:59.125289 7f29d67ee6c0 Delete type=3 #48
2026/06/14-22:49:59.125333 7f29d67ee6c0 Delete type=0 #50
2026/06/14-22:52:09.930699 7f29d4feb6c0 Level-0 table #55: started
2026/06/14-22:52:09.930727 7f29d4feb6c0 Level-0 table #55: 0 bytes OK
2026/06/14-22:52:09.937112 7f29d4feb6c0 Delete type=0 #53
2026/06/14-22:52:09.951899 7f29d4feb6c0 Manual compaction at level-0 from '!items!DC2kimCi9sWxqhXG' @ 72057594037927935 : 1 .. '!items!qzfAEhmvVxEMzm0k' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.796698 7f677ffff6c0 Recovering log #66
2026/07/07-21:18:30.807028 7f677ffff6c0 Delete type=3 #64
2026/07/07-21:18:30.807087 7f677ffff6c0 Delete type=0 #66
2026/07/07-21:20:10.815922 7f677ebff6c0 Level-0 table #71: started
2026/07/07-21:20:10.815951 7f677ebff6c0 Level-0 table #71: 0 bytes OK
2026/07/07-21:20:10.822645 7f677ebff6c0 Delete type=0 #69
2026/07/07-21:20:10.829164 7f677ebff6c0 Manual compaction at level-0 from '!items!DC2kimCi9sWxqhXG' @ 72057594037927935 : 1 .. '!items!qzfAEhmvVxEMzm0k' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000076
MANIFEST-000092
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:04.579492 7fc30f3fe6c0 Recovering log #74
2026/06/23-22:52:04.627923 7fc30f3fe6c0 Delete type=3 #72
2026/06/23-22:52:04.627978 7fc30f3fe6c0 Delete type=0 #74
2026/06/23-23:18:40.553655 7fc30cbff6c0 Level-0 table #79: started
2026/06/23-23:18:40.553686 7fc30cbff6c0 Level-0 table #79: 0 bytes OK
2026/06/23-23:18:40.560150 7fc30cbff6c0 Delete type=0 #77
2026/06/23-23:18:40.567108 7fc30cbff6c0 Manual compaction at level-0 from '!scenes!2C6gyZpvPxWlsVZi' @ 72057594037927935 : 1 .. '!scenes.levels!olYe9bhuXwRWQ8j7.defaultLevel0000' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.335266 7f67ccbfe6c0 Recovering log #90
2026/07/07-21:20:15.345026 7f67ccbfe6c0 Delete type=3 #88
2026/07/07-21:20:15.345098 7f67ccbfe6c0 Delete type=0 #90
2026/07/07-21:21:25.262123 7f677ebff6c0 Level-0 table #95: started
2026/07/07-21:21:25.262137 7f677ebff6c0 Level-0 table #95: 0 bytes OK
2026/07/07-21:21:25.269030 7f677ebff6c0 Delete type=0 #93
2026/07/07-21:21:25.269151 7f677ebff6c0 Manual compaction at level-0 from '!scenes!2C6gyZpvPxWlsVZi' @ 72057594037927935 : 1 .. '!scenes.levels!olYe9bhuXwRWQ8j7.defaultLevel0000' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.198719 7f29d57ec6c0 Recovering log #69
2026/06/14-22:49:59.210387 7f29d57ec6c0 Delete type=3 #67
2026/06/14-22:49:59.210425 7f29d57ec6c0 Delete type=0 #69
2026/06/14-22:52:09.958777 7f29d4feb6c0 Level-0 table #75: started
2026/06/14-22:52:09.958803 7f29d4feb6c0 Level-0 table #75: 0 bytes OK
2026/06/14-22:52:09.965059 7f29d4feb6c0 Delete type=0 #73
2026/06/14-22:52:09.978852 7f29d4feb6c0 Manual compaction at level-0 from '!scenes!2C6gyZpvPxWlsVZi' @ 72057594037927935 : 1 .. '!scenes.levels!olYe9bhuXwRWQ8j7.defaultLevel0000' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.873373 7f677f7fe6c0 Recovering log #86
2026/07/07-21:18:30.883439 7f677f7fe6c0 Delete type=3 #84
2026/07/07-21:18:30.883522 7f677f7fe6c0 Delete type=0 #86
2026/07/07-21:20:10.848211 7f677ebff6c0 Level-0 table #91: started
2026/07/07-21:20:10.848228 7f677ebff6c0 Level-0 table #91: 0 bytes OK
2026/07/07-21:20:10.853981 7f677ebff6c0 Delete type=0 #89
2026/07/07-21:20:10.860912 7f677ebff6c0 Manual compaction at level-0 from '!scenes!2C6gyZpvPxWlsVZi' @ 72057594037927935 : 1 .. '!scenes.levels!olYe9bhuXwRWQ8j7.defaultLevel0000' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000056
MANIFEST-000072
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:03.947660 7fc30f3fe6c0 Recovering log #54
2026/06/23-22:52:04.010554 7fc30f3fe6c0 Delete type=3 #52
2026/06/23-22:52:04.010600 7fc30f3fe6c0 Delete type=0 #54
2026/06/23-23:18:40.506487 7fc30cbff6c0 Level-0 table #59: started
2026/06/23-23:18:40.506522 7fc30cbff6c0 Level-0 table #59: 0 bytes OK
2026/06/23-23:18:40.512933 7fc30cbff6c0 Delete type=0 #57
2026/06/23-23:18:40.519874 7fc30cbff6c0 Manual compaction at level-0 from '!items!2f51pcvFkcZjaxDk' @ 72057594037927935 : 1 .. '!items!yVN7PZw35iIaBl0H' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.205959 7f67ccbfe6c0 Recovering log #70
2026/07/07-21:20:15.216435 7f67ccbfe6c0 Delete type=3 #68
2026/07/07-21:20:15.216502 7f67ccbfe6c0 Delete type=0 #70
2026/07/07-21:21:25.199890 7f677ebff6c0 Level-0 table #75: started
2026/07/07-21:21:25.199914 7f677ebff6c0 Level-0 table #75: 0 bytes OK
2026/07/07-21:21:25.205705 7f677ebff6c0 Delete type=0 #73
2026/07/07-21:21:25.218292 7f677ebff6c0 Manual compaction at level-0 from '!items!2f51pcvFkcZjaxDk' @ 72057594037927935 : 1 .. '!items!yVN7PZw35iIaBl0H' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.060460 7f29d5fed6c0 Recovering log #50
2026/06/14-22:49:59.070829 7f29d5fed6c0 Delete type=3 #48
2026/06/14-22:49:59.070872 7f29d5fed6c0 Delete type=0 #50
2026/06/14-22:52:09.904026 7f29d4feb6c0 Level-0 table #55: started
2026/06/14-22:52:09.904053 7f29d4feb6c0 Level-0 table #55: 0 bytes OK
2026/06/14-22:52:09.910627 7f29d4feb6c0 Delete type=0 #53
2026/06/14-22:52:09.923769 7f29d4feb6c0 Manual compaction at level-0 from '!items!2f51pcvFkcZjaxDk' @ 72057594037927935 : 1 .. '!items!yVN7PZw35iIaBl0H' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.748414 7f67cd3ff6c0 Recovering log #66
2026/07/07-21:18:30.758766 7f67cd3ff6c0 Delete type=3 #64
2026/07/07-21:18:30.758801 7f67cd3ff6c0 Delete type=0 #66
2026/07/07-21:20:10.776448 7f677ebff6c0 Level-0 table #71: started
2026/07/07-21:20:10.776508 7f677ebff6c0 Level-0 table #71: 0 bytes OK
2026/07/07-21:20:10.782742 7f677ebff6c0 Delete type=0 #69
2026/07/07-21:20:10.802179 7f677ebff6c0 Manual compaction at level-0 from '!items!2f51pcvFkcZjaxDk' @ 72057594037927935 : 1 .. '!items!yVN7PZw35iIaBl0H' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000056
MANIFEST-000072
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:04.018632 7fc30ebfd6c0 Recovering log #54
2026/06/23-22:52:04.066356 7fc30ebfd6c0 Delete type=3 #52
2026/06/23-22:52:04.066409 7fc30ebfd6c0 Delete type=0 #54
2026/06/23-23:18:40.492267 7fc30cbff6c0 Level-0 table #59: started
2026/06/23-23:18:40.492294 7fc30cbff6c0 Level-0 table #59: 0 bytes OK
2026/06/23-23:18:40.498686 7fc30cbff6c0 Delete type=0 #57
2026/06/23-23:18:40.513060 7fc30cbff6c0 Manual compaction at level-0 from '!items!APN91pQL0NBfZsG7' @ 72057594037927935 : 1 .. '!items!xxZKGqDVxAfr140W' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.218710 7f677f7fe6c0 Recovering log #70
2026/07/07-21:20:15.228480 7f677f7fe6c0 Delete type=3 #68
2026/07/07-21:20:15.228561 7f677f7fe6c0 Delete type=0 #70
2026/07/07-21:21:25.205780 7f677ebff6c0 Level-0 table #75: started
2026/07/07-21:21:25.205796 7f677ebff6c0 Level-0 table #75: 0 bytes OK
2026/07/07-21:21:25.211493 7f677ebff6c0 Delete type=0 #73
2026/07/07-21:21:25.218303 7f677ebff6c0 Manual compaction at level-0 from '!items!APN91pQL0NBfZsG7' @ 72057594037927935 : 1 .. '!items!xxZKGqDVxAfr140W' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.074203 7f29d57ec6c0 Recovering log #50
2026/06/14-22:49:59.085196 7f29d57ec6c0 Delete type=3 #48
2026/06/14-22:49:59.085240 7f29d57ec6c0 Delete type=0 #50
2026/06/14-22:52:09.923913 7f29d4feb6c0 Level-0 table #55: started
2026/06/14-22:52:09.923940 7f29d4feb6c0 Level-0 table #55: 0 bytes OK
2026/06/14-22:52:09.930579 7f29d4feb6c0 Delete type=0 #53
2026/06/14-22:52:09.951882 7f29d4feb6c0 Manual compaction at level-0 from '!items!APN91pQL0NBfZsG7' @ 72057594037927935 : 1 .. '!items!xxZKGqDVxAfr140W' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.761593 7f67ccbfe6c0 Recovering log #66
2026/07/07-21:18:30.770466 7f67ccbfe6c0 Delete type=3 #64
2026/07/07-21:18:30.770512 7f67ccbfe6c0 Delete type=0 #66
2026/07/07-21:20:10.782858 7f677ebff6c0 Level-0 table #71: started
2026/07/07-21:20:10.782879 7f677ebff6c0 Level-0 table #71: 0 bytes OK
2026/07/07-21:20:10.789952 7f677ebff6c0 Delete type=0 #69
2026/07/07-21:20:10.802195 7f677ebff6c0 Manual compaction at level-0 from '!items!APN91pQL0NBfZsG7' @ 72057594037927935 : 1 .. '!items!xxZKGqDVxAfr140W' @ 0 : 0; will stop at (end)
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000056
MANIFEST-000072
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/23-22:52:04.073934 7fc30e3fc6c0 Recovering log #54
2026/06/23-22:52:04.135566 7fc30e3fc6c0 Delete type=3 #52
2026/06/23-22:52:04.135610 7fc30e3fc6c0 Delete type=0 #54
2026/06/23-23:18:40.519886 7fc30cbff6c0 Level-0 table #59: started
2026/06/23-23:18:40.519910 7fc30cbff6c0 Level-0 table #59: 0 bytes OK
2026/06/23-23:18:40.526746 7fc30cbff6c0 Delete type=0 #57
2026/06/23-23:18:40.540414 7fc30cbff6c0 Manual compaction at level-0 from '!items!2IYbyCPF9LJojzsj' @ 72057594037927935 : 1 .. '!items!uOpWyMGK3oiUJ1Sl' @ 0 : 0; will stop at (end)
2026/07/07-21:20:15.230292 7f67cd3ff6c0 Recovering log #70
2026/07/07-21:20:15.239797 7f67cd3ff6c0 Delete type=3 #68
2026/07/07-21:20:15.239862 7f67cd3ff6c0 Delete type=0 #70
2026/07/07-21:21:25.193283 7f677ebff6c0 Level-0 table #75: started
2026/07/07-21:21:25.193344 7f677ebff6c0 Level-0 table #75: 0 bytes OK
2026/07/07-21:21:25.199792 7f677ebff6c0 Delete type=0 #73
2026/07/07-21:21:25.218278 7f677ebff6c0 Manual compaction at level-0 from '!items!2IYbyCPF9LJojzsj' @ 72057594037927935 : 1 .. '!items!uOpWyMGK3oiUJ1Sl' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/06/14-22:49:59.087477 7f29d67ee6c0 Recovering log #50
2026/06/14-22:49:59.097614 7f29d67ee6c0 Delete type=3 #48
2026/06/14-22:49:59.097669 7f29d67ee6c0 Delete type=0 #50
2026/06/14-22:52:09.910724 7f29d4feb6c0 Level-0 table #55: started
2026/06/14-22:52:09.910751 7f29d4feb6c0 Level-0 table #55: 0 bytes OK
2026/06/14-22:52:09.917084 7f29d4feb6c0 Delete type=0 #53
2026/06/14-22:52:09.923779 7f29d4feb6c0 Manual compaction at level-0 from '!items!2IYbyCPF9LJojzsj' @ 72057594037927935 : 1 .. '!items!uOpWyMGK3oiUJ1Sl' @ 0 : 0; will stop at (end)
2026/07/07-21:18:30.772428 7f67cd3ff6c0 Recovering log #66
2026/07/07-21:18:30.782600 7f67cd3ff6c0 Delete type=3 #64
2026/07/07-21:18:30.782662 7f67cd3ff6c0 Delete type=0 #66
2026/07/07-21:20:10.796225 7f677ebff6c0 Level-0 table #71: started
2026/07/07-21:20:10.796241 7f677ebff6c0 Level-0 table #71: 0 bytes OK
2026/07/07-21:20:10.802073 7f677ebff6c0 Delete type=0 #69
2026/07/07-21:20:10.802213 7f677ebff6c0 Manual compaction at level-0 from '!items!2IYbyCPF9LJojzsj' @ 72057594037927935 : 1 .. '!items!uOpWyMGK3oiUJ1Sl' @ 0 : 0; will stop at (end)

Some files were not shown because too many files have changed in this diff Show More