mirror of
https://github.com/IliesAllali/parenthese.git
synced 2026-11-06 23:32:08 +00:00
Le banc mesure maintenant le code de production (computeBlockLayout), sans écran, en quatre étages lus dans l'ordre et jamais additionnés : - invariants qui doivent valoir zéro (chevauchement, couple non adjacent, fratrie coupée ou hors de l'ordre choisi, rangée différente de la génération de parenté recalculée ici, années de naissance qui redescendent) ; - défauts comptés sur la géométrie vraiment dessinée (renvois, lignes de fratrie au-dessus d'un portrait étranger, croisements, lignes et foyers plus larges qu'un écran, proches de la référence visibles dans un écran) ; - quatorze archétypes (ordre d'une fratrie, issue #67, branche courte, Marc et Nadia, petit conjoint, fratrie de douze, remariage, cousins, oncle et nièce, parent seul, adoption, deux familles, belle-famille, trois familles enchaînées) rendus en texte, témoins dans __snapshots__/archetypes, testés par vitest ; deux échecs connus (belle-famille, trois-belles-familles) en attendant la règle « le sang de la référence garde son enfant » ; - stabilité : retirer une feuille ne devrait déplacer que son foyer. Les modèles ELK écartés en septembre, elk-common et l'ancienne mesure sur segments droits sont supprimés, avec la dépendance elkjs. Le générateur d'arbres fictifs (gen-fr.mjs) entre dans le dépôt ; les arbres réels restent dans fixtures/, ignoré par git. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
229 lines
7.1 KiB
JSON
229 lines
7.1 KiB
JSON
{
|
|
"name": "layout-bench",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "layout-bench",
|
|
"dependencies": {
|
|
"@resvg/resvg-js": "^2.6.2"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.6.2.tgz",
|
|
"integrity": "sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==",
|
|
"license": "MPL-2.0",
|
|
"engines": {
|
|
"node": ">= 10"
|
|
},
|
|
"optionalDependencies": {
|
|
"@resvg/resvg-js-android-arm-eabi": "2.6.2",
|
|
"@resvg/resvg-js-android-arm64": "2.6.2",
|
|
"@resvg/resvg-js-darwin-arm64": "2.6.2",
|
|
"@resvg/resvg-js-darwin-x64": "2.6.2",
|
|
"@resvg/resvg-js-linux-arm-gnueabihf": "2.6.2",
|
|
"@resvg/resvg-js-linux-arm64-gnu": "2.6.2",
|
|
"@resvg/resvg-js-linux-arm64-musl": "2.6.2",
|
|
"@resvg/resvg-js-linux-x64-gnu": "2.6.2",
|
|
"@resvg/resvg-js-linux-x64-musl": "2.6.2",
|
|
"@resvg/resvg-js-win32-arm64-msvc": "2.6.2",
|
|
"@resvg/resvg-js-win32-ia32-msvc": "2.6.2",
|
|
"@resvg/resvg-js-win32-x64-msvc": "2.6.2"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-android-arm-eabi": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.6.2.tgz",
|
|
"integrity": "sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==",
|
|
"cpu": [
|
|
"arm"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"android"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-android-arm64": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.6.2.tgz",
|
|
"integrity": "sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"android"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-darwin-arm64": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-arm64/-/resvg-js-darwin-arm64-2.6.2.tgz",
|
|
"integrity": "sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-darwin-x64": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.6.2.tgz",
|
|
"integrity": "sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-linux-arm-gnueabihf": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.6.2.tgz",
|
|
"integrity": "sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==",
|
|
"cpu": [
|
|
"arm"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-linux-arm64-gnu": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.6.2.tgz",
|
|
"integrity": "sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-linux-arm64-musl": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.6.2.tgz",
|
|
"integrity": "sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-linux-x64-gnu": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.6.2.tgz",
|
|
"integrity": "sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-linux-x64-musl": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.6.2.tgz",
|
|
"integrity": "sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-win32-arm64-msvc": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.6.2.tgz",
|
|
"integrity": "sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-win32-ia32-msvc": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.6.2.tgz",
|
|
"integrity": "sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==",
|
|
"cpu": [
|
|
"ia32"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@resvg/resvg-js-win32-x64-msvc": {
|
|
"version": "2.6.2",
|
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.6.2.tgz",
|
|
"integrity": "sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"license": "MPL-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
}
|
|
}
|
|
}
|