diff --git a/AGENTS.md b/AGENTS.md index 49ecd0d..14b526f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,125 +1,54 @@ -# Agents pour le système JDR Ecryme (FoundryVTT) +# Ecryme (FoundryVTT) — agent notes -Ce fichier documente les commandes et workflows pour les agents (automatisations, scripts, outils externes) utilisés dans le développement et la maintenance du système Ecryme pour FoundryVTT. +**This is a FoundryVTT Game System** (not a module), id `fvtt-ecryme`. Compatible with Foundry v13–v14. Requires `babele` and `lib-wrapper`. -## Commandes de développement +## Quick commands -### Linting et validation -```bash -# Vérification du code TypeScript -npm run lint +| Command | What | +|---------|------| +| `npm run build` | Compile `styles/ecryme.less` → `css/ecryme.css` via Gulp | +| `npm run watch` | Watch `styles/**/*.less` and rebuild | -# Vérification des types -npm run typecheck +No other npm scripts exist. **No tests, no linter, no typechecker, no TypeScript.** Pure JS ES modules, no bundling. -# Construction du projet -npm run build +## Project structure + +``` +modules/ # JS source (loaded directly by Foundry, no build step) + ecryme-main.js # Entry point — registers documents, sheets, hooks, templates + actors/ # Actor document + sheet classes (pc, npc, annency) + items/ # Item document + sheet classes (equipment, weapon, trait, spec, maneuver) + models/ # Foundry DataModels (extends TypeDataModel) — schema definitions + dialogs/ # Roll/confrontation dialog classes + app/ # Combat, commands, hotbar, summary app + common/ # Config constants + utility helpers (798-line utility) +templates/ # Handlebars sheets (actors/, items/, chat/, dialogs/) +styles/ # LESS source files (ecryme.less imports all partials) +lang/ # fr.json, en.json localization +packs/ # LevelDB compendium packs (specialisation, equipment, traits, scenes, maneuvers, help) +translated/fr/ # Babele translation JSON files for compendium content +images/ # Assets, icons, UI +css/ # Compiled CSS output (committed despite being in .gitignore) ``` -### Tests -```bash -# Exécution des tests unitaires -npm test +## Architecture -# Exécution des tests avec couverture -npm run test:coverage -``` +- **App v1 sheets** (`foundry.appv1.sheets.ActorSheet`/`ItemSheet`), not ApplicationV2 +- **DataModels** replace the deprecated `template.json` (kept as `template.json.SAVED`) + - Actor types: `pc`, `npc`, `annency` + - Item types: `equipment`, `weapon`, `trait`, `specialization`, `maneuver` +- ES module imports use relative paths with `.js` extension +- Custom combat class extends `Combat` with its own initiative formula +- Socket enabled (`"socket": true` in `system.json`) -### Déploiement -```bash -# Construction pour la production -npm run build:prod +## Conventions (verified from codebase) -# Génération du package pour FoundryVTT -npm run package -``` +- **JS files**: kebab-case (`ecryme-actor.js`) +- **Classes**: PascalCase (`EcrymeActor`) +- **Templates**: kebab-case `.hbs` (`actor-sheet.hbs`) +- **Barrel files**: `_module.js` +- **Hooks**: init → register classes/sheets/templates; ready → welcome msg/scene import; babele.init → register translation dir -## Workflows recommandés +## Release -### Avant de soumettre une PR -1. Exécuter les tests unitaires -2. Vérifier le linting (`npm run lint`) -3. Vérifier les types (`npm run typecheck`) -4. Construire le projet (`npm run build`) -5. Tester manuellement dans FoundryVTT avec les scénarios de test fournis dans `/test-scenarios/` - -### Pour ajouter une nouvelle fonctionnalité -1. Créer une branche `feature/` -2. Ajouter les tests dans `/tests/` -3. Implémenter la fonctionnalité -4. Mettre à jour la documentation dans `/docs/` si nécessaire -5. Soumettre une PR avec une description claire des changements - -## Structure du projet -``` -/ -├── src/ # Code source principal -│ ├── module/ # Définition du module FoundryVTT -│ ├── systems/ # Systèmes de règles spécifiques à Ecryme -│ ├── actors/ # Logique des acteurs (PJs, PNJs, créatures) -│ ├── items/ # Logique des objets (armes, sorts, équipements) -│ └── utils/ # Utilitaires partagés -├── tests/ # Tests unitaires et d'intégration -├── docs/ # Documentation technique et utilisateur -├── templates/ # Templates Handlebar pour les feuilles de personnage -└── test-scenarios/ # Scénarios de test pour FoundryVTT -``` - -## Conventions de codage -- **TypeScript strict** : Toujours utiliser les types les plus précis possibles -- **Noms de fichiers** : - - PascalCase pour les classes (`CharacterSheet.ts`) - - kebab-case pour les templates (`character-sheet.hbs`) - - camelCase pour les utilitaires (`diceRoller.ts`) -- **Tests** : - - Un fichier de test par fichier source (`characterSheet.test.ts`) - - Couverture minimale de 80% requise pour les PR - -## Outils spécifiques à FoundryVTT - -### Génération des templates -```bash -# Recompiler les templates Handlebar après modification -npm run build:templates -``` - -### Validation des données -```bash -# Valider la structure des données contre le schéma -npm run validate:schema -``` - -### Déploiement pour test local -```bash -# Lier le module en développement à FoundryVTT (nécessite le module "Module Developer") -npx foundryvtt-link -``` - -## Dépannage - -### Problèmes courants -1. **Les changements ne s'affichent pas dans Foundry** : - - Vérifier que le module est bien lié (`npm run link`) - - Redémarrer FoundryVTT - - Vider le cache du navigateur (Ctrl+F5) - -2. **Erreurs de type dans les templates** : - - Exécuter `npm run validate:templates` - - Vérifier les annotations JSDoc dans les fichiers `.ts` - -3. **Problèmes de performance** : - - Utiliser le profiler de Foundry (F12 > Performance) - - Vérifier les boucles dans les templates Handlebar - -## Ressources utiles -- [Documentation FoundryVTT](https://foundryvtt.com/article/api/) -- [Guide des systèmes personnalisés](https://foundryvtt.com/article/system-development/) -- [Référence Handlebar](https://handlebarsjs.com/guide/) -- [TypeScript pour Foundry](https://github.com/League-of-Foundry-Developers/foundry-vtt-types) - -## Contribution -Les contributions sont les bienvenues ! Veuillez : -1. Ouvrir une issue pour discuter des changements majeurs -2. Suivre les conventions de codage ci-dessus -3. Inclure des tests pour les nouvelles fonctionnalités -4. Mettre à jour la documentation si nécessaire \ No newline at end of file +Gitea CI (`.gitea/workflows/release.yaml`) triggers on published release. Zips the source tree directly — JS is used as-is, no build step for JS. CSS must be pre-compiled before release. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..8fcec72 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,393 @@ +Creative Commons Legal Code + +CC BY-NC-SA 4.0 + +Attribution-NonCommercial-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-NonCommercial-ShareAlike 4.0 International Public License +("Public License"). To the extent this Public License may be interpreted as +a contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright and + Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-NC-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, performance, + broadcast, sound recording, and Sui Generis Database Rights, without + regard to how the rights are labeled or categorized. For purposes of + this Public License, the rights specified in Section 2(b)(1)-(2) are + not Copyright and Similar Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright Treaty + adopted on December 20, 1996, and/or similar international agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or any + other exception or limitation to Copyright and Similar Rights that + apply to Your use of the Licensed Material. + + g. Licensed Material means the artistic or literary work, database, or + other material to which the Licensor applied this Public License. + + h. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which have as their + object the Licensed Material and which include all Copyright and + Similar Rights that apply to Your use of the Licensed Material and + that the Licensor has authority to license. + + i. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + j. NonCommercial means not primarily intended for or directed towards + commercial advantage or monetary compensation. For purposes of + this Public License, the exchange of the Licensed Material for a + fee or other remuneration is considered NonCommercial if the fee or + remuneration is solely intended to compensate the Licensor for the + Licensor's time and effort in producing the Licensed Material or to + provide a financial contribution to the Licensor's non-commercial + operations, and the exchange is separate and independent from the + Licensed Material such that the Licensor's commercial operations are + not enhanced by the exchange. + + k. Original Work means the work to which the Licensor applied this + Public License. + + l. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such as + reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the public + may access the material from a place and at a time individually chosen + by them. + + m. Shared with You means the Licensed Material has been provided to + You by the Licensor, or by a recipient of the Licensed Material from + the Licensor, under this Public License. + + n. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of the + Council of 11 March 1996 on the legal protection of databases, as + amended and/or succeeded, as well as other essentially equivalent rights + anywhere in the world. + + o. This Public License does not apply to Sui Generis Database Rights to + the extent they do not fall under Section 2(a)(5). + + p. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning in the + context of Your acting as the Licensor. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, the + Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, + non-exclusive, irrevocable license to exercise the Licensed Rights in + the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or in part; + + b. create and reproduce Adapted Material and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public License + does not apply, and You do not need to comply with its terms and + conditions. + + 3. Term. The term of this Public License is specified in Section 6(a). + + 4. Media and formats; technical modifications allowed. The Licensor + authorizes You to exercise the Licensed Rights in all media and + formats whether now known or hereafter created, and to make technical + modifications necessary to do so. The Licensor waives and/or agrees + not to assert any right or authority to forbid You from making + technical modifications necessary to exercise the Licensed Rights, + including technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, simply as a + consequence of modifying the Licensed Material, You do not become a + Licensor of the Licensed Material, and the Adapted Material You create + is not subject to the terms and conditions of this Public License. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material: The Licensor + offers to the recipient of Licensed Material a license to the + Licensed Material on the same terms and conditions as granted + to You under this Public License. + + b. Additional offer from the Licensor -- Adapted Material: The + Licensor offers to the recipient of Adapted Material a license + to the Adapted Material on the terms and conditions of the + Adapter's License You apply to Your Adapted Material. + + c. No downstream restrictions. You may not offer or impose any + additional or different terms or conditions on, or apply any + Effective Technological Measures to, the Licensed Material if doing + so restricts exercise of the Licensed Rights by any recipient of + the Licensed Material. + + b. No endorsement. Nothing in this Public License constitutes or may be + construed as permission to assert or imply that You are, or that Your + use of the Licensed Material is, connected with, or sponsored by, the + Licensor, or any other person. + + c. Fair use; other user rights. Nothing in this Public License is intended + to reduce, limit, or restrict any uses free from copyright or rights + arising from limitations or exceptions that are provided for in + connection with the copyright and other similar rights applicable to + the particular use or which cannot be waived. + + d. Patent and trademark notice. This Public License does not grant + permission to use the trade name, trademark, service mark, or similar + branding of the Licensor, except as required for reasonable and customary + notice of attribution when You engage in the reproduction or distribution + of the Licensed Material. This Public License does not grant permission to + use the patent rights of the Licensor. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions: + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified form), You + must: + + a. retain the following if it is supplied by the Licensor with the + Licensed Material: + + i. identification of the creator(s) of the Licensed Material and + any others designated to receive attribution, in any reasonable + manner requested by the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of warranties; + + v. a URI or hyperlink to the Licensed Material to the extent + reasonably practicable; + + b. indicate if You modified the Licensed Material and retain an + indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this Public + License, and include the text of, or the URI or hyperlink to, this + Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable + manner based on the medium, means, and context in which You Share the + Licensed Material. For example, it may be reasonable to satisfy the + conditions by providing a URI or hyperlink to a resource that includes + the required information. + + 3. If requested by the Licensor, You must remove any of the information + required by Section 3(a)(1)(A) to the extent reasonably practicable. + + b. NonCommercial. + You may not exercise the Licensed Rights for Commercial Purposes. + + c. ShareAlike. + In addition to the conditions in Section 3(a) and (b), if You Share + Adapted Material You produce, the following conditions also apply: + + 1. The Adapter's License You apply must be a BY-NC-SA Compatible License + with terms that are equivalent to this Public License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition in any + reasonable manner based on the medium, means, and context in which You + Share Adapted Material. + + 3. You may not offer or impose any additional or different terms or + conditions on, or apply any Effective Technological Measures to, + Adapted Material that restrict exercise of the rights granted under + the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to +Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to + extract, reuse, reproduce, and Share all or a substantial portion of the + contents of the database for NonCommercial purposes only; + + b. if You include all or a substantial portion of the database contents in + Adapted Material, You must comply with the conditions in Section + 3(a) and (c) of this Public License. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT + POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, + AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND, EXPRESS, IMPLIED, + STATUTORY OR OTHERWISE, AND DISCLAIMS ALL RESPONSIBILITY FOR ANY HARM OR + DAMAGE ARISING OUT OF OR IN CONNECTION WITH THE LICENSED MATERIAL OR + THIS PUBLIC LICENSE, INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF + INCOME, PROFITS, BUSINESS INTERRUPTION, OR OTHER PECUNIARY LOSS, OR FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, OR EXEMPLARY + DAMAGES, WHETHER ARISING UNDER CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY FROM THE USE OF THE + LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + + b. WHERE THE LICENSED RIGHTS INCLUDE SUI GENERIS DATABASE RIGHTS THAT + APPLY TO YOUR USE OF THE LICENSED MATERIAL, THE LICENSOR MAKES NO + REPRESENTATIONS OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + AS TO THE DATA INCLUDED IN THE LICENSED MATERIAL; THE LICENSOR MAKES NO + REPRESENTATIONS OR WARRANTIES AS TO THE ACCURACY OR COMPLETENESS OF THE + DATA; THE LICENSOR DISCLAIMS ALL LIABILITY FOR ANY HARM OR DAMAGE ARISING + OUT OF INACCURACIES OR OMITTIONS IN THE DATA; AND THE LICENSOR MAKES NO + COMMITMENT TO CONTINUE TO SUPPLY, MAINTAIN, OR CORRECT THE DATA. + + c. OTHER THAN AS EXPRESSLY AGREED TO BY THE PARTIES IN WRITING, THE LICENSOR + PROVIDES THE LICENSED MATERIAL ON AN "AS-IS" AND "AS-AVAILABLE" BASIS AND + WITHOUT CONDITIONS OR WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, + INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF TITLE, MERCHANTABILITY, + OR FITNESS FOR A PARTICULAR PURPOSE. YOU BEAR THE SOLE RISK OF DETERMINING + WHETHER THE LICENSED MATERIAL IS SUITABLE FOR YOUR PURPOSES AND OF THE + CONSEQUENCES OF USING THE LICENSED MATERIAL. IN ALL CIRCUMSTANCES, UNLESS + OTHERWISE AGREED IN WRITING, THE LICENSOR SHALL NOT BE LIABLE TO YOU OR + TO ANY OTHER PARTY FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION SPECIAL OR + CONSEQUENTIAL DAMAGES. IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY + DIRECT, INDIRECT, PUNITIVE, OR INCIDENTAL DAMAGES ARISING OUT OF THIS + PUBLIC LICENSE OR THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + d. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL THE + LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT + LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, OR EXEMPLARY DAMAGES, INCLUDING WITHOUT + LIMITATION DAMAGES FOR LOSS OF PROFITS, DATA, OR GOODWILL, EVEN IF THE + LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the duration of any applicable + copyright and Similar Rights licensed here under. However, if You + violate this Public License, the Licensor's grant of rights to You + under this Public License terminates automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided it is + cured within 30 days of Your discovery of the violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any right + the Licensor may have to seek remedies for Your violation of this Public + License. + + c. For the avoidance of doubt, the Licensor may also terminate this Public + License for all uses of the Licensed Material by You if You fail to + comply with the Licensor's requirement to remove a reference to the + Licensor or attribution information, as requested under Section + 3(a)(1)(A)(v), from any cue or companion material to the Licensed + Material. + + d. Who may terminate this Public License? Only the Licensor or an + individual or entity authorized to act on behalf of the Licensor. + + +Section 7 -- Other Rights. + + a. Moral rights, such as the right of integrity, are not licensed under + this Public License, nor are publicity, privacy, and/or other similar + personality rights; however, to the extent possible, the Licensor waives + and/or agrees not to assert any such rights held by the Licensor to the + extent necessary to allow You to exercise the Licensed Rights, but not + otherwise. + + b. Patent rights. This Public License does not grant permissions to use, + sell, or license patent claims or patented inventions in any work + based on the Licensed Material, and the Licensor reserves all patent and + similar rights in the Licensed Material. + + c. Trademark rights. This Public License does not grant permissions to + use the trade name, trademark, service mark, or other similar branding + of the Licensor, except as required for reasonable and customary use in + describing the origin of the Licensed Material and describing the use + of the Licensed Material, including Modified Versions of You. + + d. No additional restrictions. You may not impose any technological + restrictions or attempt to impose technological restrictions through legal + or other means that restrict other Users from exercising the Licensed + Rights. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and shall be + interpreted not to, create or imply any grant of patent or trademark + rights to You. + + b. This Public License does not address the permissions and restrictions + that apply to Private Rights or Other Rights, as such terms are defined + under Section 2(a)(4). + + c. No waiver. Any failure by the Licensor to comply with a term or + condition of this Public License or to seek remedies for violation of + this Public License does not constitute a waiver of the Licensor's + right to enforce that term, condition, or remedy. + + d. Severability. If any provision of this Public License is invalid or + unenforceable under applicable law, it shall not affect the validity or + enforceability of the remainder of the terms and conditions of this + Public License without that provision. + + e. No surrender of rights. This Public License does not require You or any + User to surrender any rights, including moral rights or copyright, + they may have in the Licensed Material or Adapted Material. + + f. All rights not explicitly granted. Any use of the Licensed Material + not expressly permitted by this Public License is reserved and + prohibited. diff --git a/README.md b/README.md index 811f0bd..76217ae 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,22 @@ The game system in Foundry offers the following features : English translation by Conal Longden and Ian McClung -# Copyright mentions +# License + +This work is licensed under **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)**. + +You are free to: +- **Share** — copy and redistribute the material in any medium or format +- **Adapt** — remix, transform, and build upon the material + +Under the following terms: +- **Attribution** — You must give appropriate credit, provide a link to the license, and indicate if changes were made +- **NonCommercial** — You may not use the material for commercial purposes +- **ShareAlike** — If you remix, transform, or build upon the material, you must distribute your contributions under the same license + +For the full legal text, see [LICENSE.md](LICENSE.md). + +## Copyright mentions Copyright 2023 Open Sesame Games All rights reserved diff --git a/package.json b/package.json index 824ac2a..3e0671c 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "version": "1.0.0", "description": "Ecryme RPG system for Foundry Virtual TableTop", "author": "LeRatierBretonnien", - "license": "UNLICENSED", + "license": "CC-BY-NC-SA-4.0", "main": "gulpfile.js", "devDependencies": { "gulp": "^5.0.0", diff --git a/packs/equipment/000381.log b/packs/equipment/000392.log similarity index 100% rename from packs/equipment/000381.log rename to packs/equipment/000392.log diff --git a/packs/equipment/CURRENT b/packs/equipment/CURRENT index 2ab0fa6..02a5c3e 100644 --- a/packs/equipment/CURRENT +++ b/packs/equipment/CURRENT @@ -1 +1 @@ -MANIFEST-000379 +MANIFEST-000391 diff --git a/packs/equipment/LOG b/packs/equipment/LOG index f03f340..5fbd8e9 100644 --- a/packs/equipment/LOG +++ b/packs/equipment/LOG @@ -1,7 +1,3 @@ -2026/05/25-23:08:24.585664 7fe4cbfff6c0 Recovering log #377 -2026/05/25-23:08:24.596183 7fe4cbfff6c0 Delete type=3 #375 -2026/05/25-23:08:24.596270 7fe4cbfff6c0 Delete type=0 #377 -2026/05/25-23:08:42.305844 7fe4c9ffb6c0 Level-0 table #382: started -2026/05/25-23:08:42.305858 7fe4c9ffb6c0 Level-0 table #382: 0 bytes OK -2026/05/25-23:08:42.311644 7fe4c9ffb6c0 Delete type=0 #380 -2026/05/25-23:08:42.324476 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end) +2026/07/21-21:44:20.517858 7f8f0afee6c0 Recovering log #389 +2026/07/21-21:44:20.527213 7f8f0afee6c0 Delete type=3 #387 +2026/07/21-21:44:20.527291 7f8f0afee6c0 Delete type=0 #389 diff --git a/packs/equipment/LOG.old b/packs/equipment/LOG.old index d3deb41..f6cc151 100644 --- a/packs/equipment/LOG.old +++ b/packs/equipment/LOG.old @@ -1,7 +1,7 @@ -2026/05/25-23:06:37.876581 7fe4cbfff6c0 Recovering log #373 -2026/05/25-23:06:37.885990 7fe4cbfff6c0 Delete type=3 #371 -2026/05/25-23:06:37.886037 7fe4cbfff6c0 Delete type=0 #373 -2026/05/25-23:07:52.694183 7fe4c9ffb6c0 Level-0 table #378: started -2026/05/25-23:07:52.694213 7fe4c9ffb6c0 Level-0 table #378: 0 bytes OK -2026/05/25-23:07:52.700676 7fe4c9ffb6c0 Delete type=0 #376 -2026/05/25-23:07:52.700785 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end) +2026/06/03-20:25:45.845290 7f584ffff6c0 Recovering log #385 +2026/06/03-20:25:45.854705 7f584ffff6c0 Delete type=3 #383 +2026/06/03-20:25:45.854752 7f584ffff6c0 Delete type=0 #385 +2026/06/03-20:30:27.630553 7f584f7fe6c0 Level-0 table #390: started +2026/06/03-20:30:27.630579 7f584f7fe6c0 Level-0 table #390: 0 bytes OK +2026/06/03-20:30:27.636780 7f584f7fe6c0 Delete type=0 #388 +2026/06/03-20:30:27.643990 7f584f7fe6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end) diff --git a/packs/equipment/MANIFEST-000379 b/packs/equipment/MANIFEST-000391 similarity index 71% rename from packs/equipment/MANIFEST-000379 rename to packs/equipment/MANIFEST-000391 index 6ee4258..59ebe2c 100644 Binary files a/packs/equipment/MANIFEST-000379 and b/packs/equipment/MANIFEST-000391 differ diff --git a/packs/help/000314.log b/packs/help/000325.log similarity index 100% rename from packs/help/000314.log rename to packs/help/000325.log diff --git a/packs/help/CURRENT b/packs/help/CURRENT index 16e7795..75c473d 100644 --- a/packs/help/CURRENT +++ b/packs/help/CURRENT @@ -1 +1 @@ -MANIFEST-000312 +MANIFEST-000324 diff --git a/packs/help/LOG b/packs/help/LOG index 1207ccc..2da1a33 100644 --- a/packs/help/LOG +++ b/packs/help/LOG @@ -1,8 +1,3 @@ -2026/05/25-23:08:24.638383 7fe4cb7fe6c0 Recovering log #310 -2026/05/25-23:08:24.648627 7fe4cb7fe6c0 Delete type=3 #308 -2026/05/25-23:08:24.648688 7fe4cb7fe6c0 Delete type=0 #310 -2026/05/25-23:08:42.324943 7fe4c9ffb6c0 Level-0 table #315: started -2026/05/25-23:08:42.324976 7fe4c9ffb6c0 Level-0 table #315: 0 bytes OK -2026/05/25-23:08:42.331359 7fe4c9ffb6c0 Delete type=0 #313 -2026/05/25-23:08:42.359806 7fe4c9ffb6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) -2026/05/25-23:08:42.380057 7fe4c9ffb6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) +2026/07/21-21:44:20.567283 7f8f09fec6c0 Recovering log #322 +2026/07/21-21:44:20.578221 7f8f09fec6c0 Delete type=3 #320 +2026/07/21-21:44:20.578306 7f8f09fec6c0 Delete type=0 #322 diff --git a/packs/help/LOG.old b/packs/help/LOG.old index c28a183..4901909 100644 --- a/packs/help/LOG.old +++ b/packs/help/LOG.old @@ -1,8 +1,8 @@ -2026/05/25-23:06:37.927773 7fe4cb7fe6c0 Recovering log #306 -2026/05/25-23:06:37.937509 7fe4cb7fe6c0 Delete type=3 #304 -2026/05/25-23:06:37.937560 7fe4cb7fe6c0 Delete type=0 #306 -2026/05/25-23:07:52.707381 7fe4c9ffb6c0 Level-0 table #311: started -2026/05/25-23:07:52.707409 7fe4c9ffb6c0 Level-0 table #311: 0 bytes OK -2026/05/25-23:07:52.713201 7fe4c9ffb6c0 Delete type=0 #309 -2026/05/25-23:07:52.733614 7fe4c9ffb6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) -2026/05/25-23:07:52.733638 7fe4c9ffb6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) +2026/06/03-20:25:45.897019 7f584ffff6c0 Recovering log #318 +2026/06/03-20:25:45.906905 7f584ffff6c0 Delete type=3 #316 +2026/06/03-20:25:45.906952 7f584ffff6c0 Delete type=0 #318 +2026/06/03-20:30:27.650687 7f584f7fe6c0 Level-0 table #323: started +2026/06/03-20:30:27.650712 7f584f7fe6c0 Level-0 table #323: 0 bytes OK +2026/06/03-20:30:27.656618 7f584f7fe6c0 Delete type=0 #321 +2026/06/03-20:30:27.673181 7f584f7fe6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) +2026/06/03-20:30:27.673384 7f584f7fe6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) diff --git a/packs/help/MANIFEST-000312 b/packs/help/MANIFEST-000324 similarity index 56% rename from packs/help/MANIFEST-000312 rename to packs/help/MANIFEST-000324 index ecac826..e043f4d 100644 Binary files a/packs/help/MANIFEST-000312 and b/packs/help/MANIFEST-000324 differ diff --git a/packs/maneuvers/000379.log b/packs/maneuvers/000390.log similarity index 100% rename from packs/maneuvers/000379.log rename to packs/maneuvers/000390.log diff --git a/packs/maneuvers/CURRENT b/packs/maneuvers/CURRENT index f5f405c..3016018 100644 --- a/packs/maneuvers/CURRENT +++ b/packs/maneuvers/CURRENT @@ -1 +1 @@ -MANIFEST-000377 +MANIFEST-000389 diff --git a/packs/maneuvers/LOG b/packs/maneuvers/LOG index c231e0b..2200fb6 100644 --- a/packs/maneuvers/LOG +++ b/packs/maneuvers/LOG @@ -1,7 +1,3 @@ -2026/05/25-23:08:24.625469 7fe4cbfff6c0 Recovering log #375 -2026/05/25-23:08:24.635881 7fe4cbfff6c0 Delete type=3 #373 -2026/05/25-23:08:24.635933 7fe4cbfff6c0 Delete type=0 #375 -2026/05/25-23:08:42.317961 7fe4c9ffb6c0 Level-0 table #380: started -2026/05/25-23:08:42.317972 7fe4c9ffb6c0 Level-0 table #380: 0 bytes OK -2026/05/25-23:08:42.324427 7fe4c9ffb6c0 Delete type=0 #378 -2026/05/25-23:08:42.324891 7fe4c9ffb6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end) +2026/07/21-21:44:20.555084 7f8f0b7ef6c0 Recovering log #387 +2026/07/21-21:44:20.564635 7f8f0b7ef6c0 Delete type=3 #385 +2026/07/21-21:44:20.564707 7f8f0b7ef6c0 Delete type=0 #387 diff --git a/packs/maneuvers/LOG.old b/packs/maneuvers/LOG.old index 727ac08..5e674a1 100644 --- a/packs/maneuvers/LOG.old +++ b/packs/maneuvers/LOG.old @@ -1,7 +1,7 @@ -2026/05/25-23:06:37.915238 7fe4ca7fc6c0 Recovering log #371 -2026/05/25-23:06:37.925308 7fe4ca7fc6c0 Delete type=3 #369 -2026/05/25-23:06:37.925365 7fe4ca7fc6c0 Delete type=0 #371 -2026/05/25-23:07:52.700870 7fe4c9ffb6c0 Level-0 table #376: started -2026/05/25-23:07:52.701331 7fe4c9ffb6c0 Level-0 table #376: 0 bytes OK -2026/05/25-23:07:52.707294 7fe4c9ffb6c0 Delete type=0 #374 -2026/05/25-23:07:52.733595 7fe4c9ffb6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end) +2026/06/03-20:25:45.882298 7f589dbff6c0 Recovering log #383 +2026/06/03-20:25:45.893887 7f589dbff6c0 Delete type=3 #381 +2026/06/03-20:25:45.893943 7f589dbff6c0 Delete type=0 #383 +2026/06/03-20:30:27.644167 7f584f7fe6c0 Level-0 table #388: started +2026/06/03-20:30:27.644258 7f584f7fe6c0 Level-0 table #388: 0 bytes OK +2026/06/03-20:30:27.650602 7f584f7fe6c0 Delete type=0 #386 +2026/06/03-20:30:27.673172 7f584f7fe6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end) diff --git a/packs/maneuvers/MANIFEST-000377 b/packs/maneuvers/MANIFEST-000389 similarity index 73% rename from packs/maneuvers/MANIFEST-000377 rename to packs/maneuvers/MANIFEST-000389 index ece5fd1..11ac498 100644 Binary files a/packs/maneuvers/MANIFEST-000377 and b/packs/maneuvers/MANIFEST-000389 differ diff --git a/packs/scenes/000277.log b/packs/scenes/000277.log new file mode 100644 index 0000000..72dbca5 Binary files /dev/null and b/packs/scenes/000277.log differ diff --git a/packs/scenes/CURRENT b/packs/scenes/CURRENT index a744b45..67a808c 100644 --- a/packs/scenes/CURRENT +++ b/packs/scenes/CURRENT @@ -1 +1 @@ -MANIFEST-000264 +MANIFEST-000276 diff --git a/packs/scenes/LOG b/packs/scenes/LOG index 00ecac3..676946e 100644 --- a/packs/scenes/LOG +++ b/packs/scenes/LOG @@ -1,8 +1,3 @@ -2026/05/25-23:08:24.610750 7fe4ca7fc6c0 Recovering log #262 -2026/05/25-23:08:24.621300 7fe4ca7fc6c0 Delete type=3 #260 -2026/05/25-23:08:24.621336 7fe4ca7fc6c0 Delete type=0 #262 -2026/05/25-23:08:42.311679 7fe4c9ffb6c0 Level-0 table #267: started -2026/05/25-23:08:42.311691 7fe4c9ffb6c0 Level-0 table #267: 0 bytes OK -2026/05/25-23:08:42.317830 7fe4c9ffb6c0 Delete type=0 #265 -2026/05/25-23:08:42.324483 7fe4c9ffb6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end) -2026/05/25-23:08:42.324930 7fe4c9ffb6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end) +2026/07/21-21:44:20.541841 7f8f0afee6c0 Recovering log #274 +2026/07/21-21:44:20.552114 7f8f0afee6c0 Delete type=3 #272 +2026/07/21-21:44:20.552164 7f8f0afee6c0 Delete type=0 #274 diff --git a/packs/scenes/LOG.old b/packs/scenes/LOG.old index 71ae341..a878a3f 100644 --- a/packs/scenes/LOG.old +++ b/packs/scenes/LOG.old @@ -1,8 +1,8 @@ -2026/05/25-23:06:37.900889 7fe4caffd6c0 Recovering log #258 -2026/05/25-23:06:37.911257 7fe4caffd6c0 Delete type=3 #256 -2026/05/25-23:06:37.911321 7fe4caffd6c0 Delete type=0 #258 -2026/05/25-23:07:52.688262 7fe4c9ffb6c0 Level-0 table #263: started -2026/05/25-23:07:52.688293 7fe4c9ffb6c0 Level-0 table #263: 0 bytes OK -2026/05/25-23:07:52.694093 7fe4c9ffb6c0 Delete type=0 #261 -2026/05/25-23:07:52.700777 7fe4c9ffb6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end) -2026/05/25-23:07:52.700805 7fe4c9ffb6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end) +2026/06/03-20:25:45.870567 7f584ffff6c0 Recovering log #270 +2026/06/03-20:25:45.879845 7f584ffff6c0 Delete type=3 #268 +2026/06/03-20:25:45.879889 7f584ffff6c0 Delete type=0 #270 +2026/06/03-20:30:27.636827 7f584f7fe6c0 Level-0 table #275: started +2026/06/03-20:30:27.636841 7f584f7fe6c0 Level-0 table #275: 0 bytes OK +2026/06/03-20:30:27.643889 7f584f7fe6c0 Delete type=0 #273 +2026/06/03-20:30:27.644096 7f584f7fe6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end) +2026/06/03-20:30:27.644111 7f584f7fe6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end) diff --git a/packs/scenes/MANIFEST-000264 b/packs/scenes/MANIFEST-000276 similarity index 74% rename from packs/scenes/MANIFEST-000264 rename to packs/scenes/MANIFEST-000276 index 2e8b66f..56ccb0e 100644 Binary files a/packs/scenes/MANIFEST-000264 and b/packs/scenes/MANIFEST-000276 differ diff --git a/packs/scenes/000266.log b/packs/specialisation/000388.log similarity index 100% rename from packs/scenes/000266.log rename to packs/specialisation/000388.log diff --git a/packs/specialisation/CURRENT b/packs/specialisation/CURRENT index 741abc7..99be12b 100644 --- a/packs/specialisation/CURRENT +++ b/packs/specialisation/CURRENT @@ -1 +1 @@ -MANIFEST-000375 +MANIFEST-000387 diff --git a/packs/specialisation/LOG b/packs/specialisation/LOG index 6352977..f75829b 100644 --- a/packs/specialisation/LOG +++ b/packs/specialisation/LOG @@ -1,7 +1,3 @@ -2026/05/25-23:08:24.571661 7fe4cb7fe6c0 Recovering log #373 -2026/05/25-23:08:24.583242 7fe4cb7fe6c0 Delete type=3 #371 -2026/05/25-23:08:24.583309 7fe4cb7fe6c0 Delete type=0 #373 -2026/05/25-23:08:42.299898 7fe4c9ffb6c0 Level-0 table #378: started -2026/05/25-23:08:42.299954 7fe4c9ffb6c0 Level-0 table #378: 0 bytes OK -2026/05/25-23:08:42.305788 7fe4c9ffb6c0 Delete type=0 #376 -2026/05/25-23:08:42.324469 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end) +2026/07/21-21:44:20.505952 7f8f0afee6c0 Recovering log #385 +2026/07/21-21:44:20.515867 7f8f0afee6c0 Delete type=3 #383 +2026/07/21-21:44:20.515940 7f8f0afee6c0 Delete type=0 #385 diff --git a/packs/specialisation/LOG.old b/packs/specialisation/LOG.old index 7071771..532972e 100644 --- a/packs/specialisation/LOG.old +++ b/packs/specialisation/LOG.old @@ -1,7 +1,7 @@ -2026/05/25-23:06:37.865486 7fe4cbfff6c0 Recovering log #369 -2026/05/25-23:06:37.874724 7fe4cbfff6c0 Delete type=3 #367 -2026/05/25-23:06:37.874744 7fe4cbfff6c0 Delete type=0 #369 -2026/05/25-23:07:52.682178 7fe4c9ffb6c0 Level-0 table #374: started -2026/05/25-23:07:52.682203 7fe4c9ffb6c0 Level-0 table #374: 0 bytes OK -2026/05/25-23:07:52.688174 7fe4c9ffb6c0 Delete type=0 #372 -2026/05/25-23:07:52.700766 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end) +2026/06/03-20:25:45.832246 7f584ffff6c0 Recovering log #381 +2026/06/03-20:25:45.842367 7f584ffff6c0 Delete type=3 #379 +2026/06/03-20:25:45.842416 7f584ffff6c0 Delete type=0 #381 +2026/06/03-20:30:27.616542 7f584f7fe6c0 Level-0 table #386: started +2026/06/03-20:30:27.616576 7f584f7fe6c0 Level-0 table #386: 0 bytes OK +2026/06/03-20:30:27.623552 7f584f7fe6c0 Delete type=0 #384 +2026/06/03-20:30:27.643971 7f584f7fe6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end) diff --git a/packs/specialisation/MANIFEST-000375 b/packs/specialisation/MANIFEST-000387 similarity index 71% rename from packs/specialisation/MANIFEST-000375 rename to packs/specialisation/MANIFEST-000387 index 8324ed5..54080df 100644 Binary files a/packs/specialisation/MANIFEST-000375 and b/packs/specialisation/MANIFEST-000387 differ diff --git a/packs/traits/000381.log b/packs/traits/000381.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/specialisation/000377.log b/packs/traits/000392.log similarity index 100% rename from packs/specialisation/000377.log rename to packs/traits/000392.log diff --git a/packs/traits/CURRENT b/packs/traits/CURRENT index 2ab0fa6..02a5c3e 100644 --- a/packs/traits/CURRENT +++ b/packs/traits/CURRENT @@ -1 +1 @@ -MANIFEST-000379 +MANIFEST-000391 diff --git a/packs/traits/LOG b/packs/traits/LOG index bcbe118..b0de324 100644 --- a/packs/traits/LOG +++ b/packs/traits/LOG @@ -1,7 +1,3 @@ -2026/05/25-23:08:24.598700 7fe4caffd6c0 Recovering log #377 -2026/05/25-23:08:24.608566 7fe4caffd6c0 Delete type=3 #375 -2026/05/25-23:08:24.608604 7fe4caffd6c0 Delete type=0 #377 -2026/05/25-23:08:42.331497 7fe4c9ffb6c0 Level-0 table #382: started -2026/05/25-23:08:42.331525 7fe4c9ffb6c0 Level-0 table #382: 0 bytes OK -2026/05/25-23:08:42.338312 7fe4c9ffb6c0 Delete type=0 #380 -2026/05/25-23:08:42.359828 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end) +2026/07/21-21:44:20.529547 7f8f09fec6c0 Recovering log #389 +2026/07/21-21:44:20.539682 7f8f09fec6c0 Delete type=3 #387 +2026/07/21-21:44:20.539761 7f8f09fec6c0 Delete type=0 #389 diff --git a/packs/traits/LOG.old b/packs/traits/LOG.old index 2936b30..cf43d12 100644 --- a/packs/traits/LOG.old +++ b/packs/traits/LOG.old @@ -1,7 +1,7 @@ -2026/05/25-23:06:37.888245 7fe4cb7fe6c0 Recovering log #373 -2026/05/25-23:06:37.898117 7fe4cb7fe6c0 Delete type=3 #371 -2026/05/25-23:06:37.898159 7fe4cb7fe6c0 Delete type=0 #373 -2026/05/25-23:07:52.675131 7fe4c9ffb6c0 Level-0 table #378: started -2026/05/25-23:07:52.675198 7fe4c9ffb6c0 Level-0 table #378: 0 bytes OK -2026/05/25-23:07:52.682088 7fe4c9ffb6c0 Delete type=0 #376 -2026/05/25-23:07:52.700749 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end) +2026/06/03-20:25:45.857779 7f584ffff6c0 Recovering log #385 +2026/06/03-20:25:45.867693 7f584ffff6c0 Delete type=3 #383 +2026/06/03-20:25:45.867734 7f584ffff6c0 Delete type=0 #385 +2026/06/03-20:30:27.623650 7f584f7fe6c0 Level-0 table #390: started +2026/06/03-20:30:27.623676 7f584f7fe6c0 Level-0 table #390: 0 bytes OK +2026/06/03-20:30:27.630470 7f584f7fe6c0 Delete type=0 #388 +2026/06/03-20:30:27.643983 7f584f7fe6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end) diff --git a/packs/traits/MANIFEST-000379 b/packs/traits/MANIFEST-000391 similarity index 72% rename from packs/traits/MANIFEST-000379 rename to packs/traits/MANIFEST-000391 index 60c7cf2..fc2993d 100644 Binary files a/packs/traits/MANIFEST-000379 and b/packs/traits/MANIFEST-000391 differ diff --git a/styles/ui.less b/styles/ui.less index 4248253..4a89866 100644 --- a/styles/ui.less +++ b/styles/ui.less @@ -241,11 +241,11 @@ ul, li { .item-name-label-header-long { flex-grow: 2; max-width: 14rem; min-width: 14rem; } .item-name-label-header-long2 { flex-grow: 2; max-width: 24rem; min-width: 24rem; } .item-name-label { flex-grow: 2; max-width: 10rem; min-width: 10rem; } -.item-name-label-long { margin-top: 4px; flex-grow: 2; max-width: 12rem; min-width: 12rem; } +.item-name-label-long { margin-top: 4px; flex-grow: 2; max-width: 12rem; min-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .item-name-label-short { margin-top: 4px; flex-grow: 1; max-width: 4rem; min-width: 4rem; } .item-name-label-medium { margin-top: 4px; flex-grow: 2; max-width: 6rem; min-width: 6rem; } .item-name-label-medium2 { margin-top: 4px; flex-grow: 0; max-width: 10rem; min-width: 10rem; } -.item-name-label-free { margin-top: 4px; align-self: flex-start; } +.item-name-label-free { margin-top: 4px; align-self: flex-start; max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .item-name-label-long2 { margin-top: 4px; flex-grow: 2; max-width: 22rem; min-width: 22rem; } .item-name-label-level2 { flex-grow: 2; max-width: 9rem; min-width: 9rem; } diff --git a/system.json b/system.json index 072e585..6979b32 100644 --- a/system.json +++ b/system.json @@ -97,7 +97,7 @@ } } ], - "license": "LICENSE.txt", + "license": "LICENSE.md", "manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json", "compatibility": { "minimum": "13", diff --git a/templates/actors/actor-sheet.hbs b/templates/actors/actor-sheet.hbs index f266084..b231660 100644 --- a/templates/actors/actor-sheet.hbs +++ b/templates/actors/actor-sheet.hbs @@ -16,7 +16,7 @@