v0.1.4-pre.006-fix.001

This commit is contained in:
2026-08-16 11:44:02 +02:00
parent 34f6f448fb
commit e11006e96a
8 changed files with 154 additions and 15 deletions

View File

@@ -1,12 +1,12 @@
# file: Cargo.toml
# version: 69
# version: 70
[workspace]
resolver = "3"
members = ["crates/ksp-app-config-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-logging-lib"]
[workspace.package]
version = "0.1.4-pre.6"
version = "0.1.4-pre.6.fix.1"
edition = "2024"
license = "MIT"
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"

View File

@@ -1,5 +1,5 @@
<!-- file: crates/ksp-app-config-desk/README.md -->
<!-- version: 4 -->
<!-- version: 5 -->
# `ksp-app-config-desk`
@@ -98,4 +98,4 @@ Le `LoggingGuard` est conservé dans `AppState` pour préparer le hot reload ult
## Police du splash
Le splash bot3 de référence utilise `DOS_Amazigh.ttf` (`font-family: Dos Amazigh`). Le répertoire `frontend/fonts/` documente la provenance, la destination attendue et l'empreinte de l'asset de référence. Le style/lifecycle final du splash est traité dans la tranche dédiée `pre.008`.
Le splash utilise `DOS_Amazigh.ttf` (`font-family: Dos Amazigh`) pour son titre, via le `@font-face` déclaré dans `frontend/sass/splash.scss`. Le répertoire `frontend/fonts/` documente la provenance et l'empreinte de l'asset de référence. Le lifecycle final du splash reste traité dans la tranche dédiée `pre.008`.

View File

@@ -1,5 +1,5 @@
<!-- file: crates/ksp-app-config-desk/TODO.md -->
<!-- version: 3 -->
<!-- version: 4 -->
# TODO `ksp-app-config-desk`
@@ -9,7 +9,6 @@ Les prochaines tranches doivent encore :
- reprendre/refondre `frontend_log.ts` depuis bot3 avec targets KSP whitelistés et émission via `ksp-logging-lib` ;
- finaliser le lifecycle splash configurable sans temporisation environnementale codée en dur ;
- appliquer la police `Dos Amazigh` du gabarit bot3 lorsque l'asset local `DOS_Amazigh.ttf` est présent sous `frontend/fonts/` ;
- développer les panneaux Documents, Profils, Environnement/`.env`, Secrets et Logging ;
- introduire DataTables au premier tableau qui exige tri, filtrage, sélection ou checkbox ;
- démontrer le hot reload Logging et le panneau de test de routage.

View File

@@ -1,5 +1,5 @@
<!-- file: crates/ksp-app-config-desk/USAGE.md -->
<!-- version: 4 -->
<!-- version: 5 -->
# Utilisation de `ksp-app-config-desk`
@@ -98,4 +98,4 @@ La commande Tauri `get_app_snapshot` expose un état sûr du bootstrap. Ses type
## Asset font du splash
La police bot3 de référence est `DOS_Amazigh.ttf`. Vérifier l'asset local contre l'empreinte documentée dans `frontend/fonts/README.md` avant la tranche de finition du splash.
La police bot3 de référence est `DOS_Amazigh.ttf`. Vérifier l'asset local contre l'empreinte documentée dans `frontend/fonts/README.md` ; `frontend/sass/splash.scss` l'applique déjà au titre du splash. La tranche `pre.008` reste consacrée au lifecycle et à la finition visuelle.

View File

@@ -1,5 +1,5 @@
<!-- file: crates/ksp-app-config-desk/frontend/fonts/README.md -->
<!-- version: 1 -->
<!-- version: 2 -->
# Fonts du splash
@@ -28,4 +28,4 @@ Empreinte SHA-256 de l'asset bot3 audité :
a01ff4b5a0d699db7cefcf5336bf0e379ff6fbf0d096087571a13c8782f9aa02
```
Le fichier est un asset tiers/historique du gabarit et doit être repris depuis la copie bot3 possédée par le projet. `splash.scss` basculera explicitement sur `Dos Amazigh` lorsque l'asset est présent dans le workspace ; le lifecycle visuel complet reste traité dans la tranche splash dédiée.
Le fichier est un asset tiers/historique du gabarit et doit être repris depuis la copie bot3 possédée par le projet. `splash.scss` déclare désormais explicitement `Dos Amazigh` avec `@font-face` et l'applique au titre `#app-name`. Le lifecycle visuel complet reste traité dans la tranche splash dédiée.

View File

@@ -1,5 +1,13 @@
// file: crates/ksp-app-config-desk/frontend/sass/splash.scss
// version: 1
// version: 2
@font-face {
font-family: "Dos Amazigh";
src: url("../fonts/DOS_Amazigh.ttf") format("truetype");
font-weight: normal;
font-style: normal;
font-display: swap;
}
body {
display: flex;
@@ -36,7 +44,7 @@ body {
z-index: 2;
transform: translate(-50%, -50%);
color: #fff;
font-family: "Arial Black", Arial, sans-serif;
font-family: "Dos Amazigh", sans-serif;
font-size: 76px;
font-weight: bold;
text-align: center;
@@ -54,4 +62,4 @@ body {
background: rgba(0, 0, 0, 0.35);
font-family: monospace;
font-size: 0.82rem;
}
}

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-app-config-desk/vite.config.ts
// version: 1
// version: 2
import { NodePackageImporter } from "sass-embedded";
import { fileURLToPath } from "node:url";
@@ -52,7 +52,6 @@ export default defineConfig({
quietDeps: true,
silenceDeprecations: ["import", "color-functions", "global-builtin"],
verbose: false,
api: "modern",
importers: [new NodePackageImporter()],
},
},

View File

@@ -0,0 +1,133 @@
<!-- file: deltas/0.1.4/pre.006-fix.001.md -->
<!-- version: 1 -->
# `0.1.4-pre.006-fix.001` — Police du splash et configuration Sass Vite 8
## 1. Motif du fix
`pre.006` a correctement introduit le bootstrap Config/Logging, `AppState`, le premier contrat TS-RS et l'inventaire de la police historique du splash, mais deux détails frontend doivent être corrigés avant `pre.007` :
- `frontend/sass/splash.scss` documentait implicitement la future utilisation de `DOS_Amazigh.ttf` sans encore déclarer la police ni l'appliquer au titre ;
- `vite.config.ts` conservait `api: "modern"` dans `css.preprocessorOptions.scss`, option qui n'appartient plus au contrat Sass exposé par Vite 8 et que les types TypeScript refusent.
Le correctif ne modifie pas le périmètre fonctionnel du bootstrap `pre.006`.
## 2. Base validée
La base `0.1.4-pre.6` a été validée localement avec :
```bash
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-app-config-desk
cargo test -p ksp-config-lib
cargo tree -p ksp-app-config-desk
cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json
```
Le lancement desktop a confirmé Vite sur `1430` puis le démarrage du binaire Tauri. Le fallback Logging de réparation a également été observé lorsque la configuration Logging gérée n'était pas disponible.
## 3. Version technique
Le fix touche du SCSS et la configuration frontend réellement consommée par Vite. Le signal Cargo devient donc :
```text
workspace.package.version = "0.1.4-pre.6.fix.1"
```
La version applicative frontend/Tauri reste `0.1.4` selon la politique KSP actuelle.
## 4. Police `Dos Amazigh` réellement activée
`frontend/sass/splash.scss` reprend désormais le contrat de police du gabarit bot3 :
```scss
@font-face {
font-family: "Dos Amazigh";
src: url("../fonts/DOS_Amazigh.ttf") format("truetype");
font-weight: normal;
font-style: normal;
font-display: swap;
}
```
Le titre du splash utilise explicitement :
```scss
#app-name {
font-family: "Dos Amazigh", sans-serif;
}
```
La géométrie, les transitions et le lifecycle final du splash restent volontairement réservés à `pre.008`.
Le fichier binaire `DOS_Amazigh.ttf` n'est pas ajouté par ce delta : l'opérateur l'a déjà repris localement depuis le gabarit bot3 sous :
```text
crates/ksp-app-config-desk/frontend/fonts/DOS_Amazigh.ttf
```
Le manifeste `frontend/fonts/README.md` reste la référence de provenance et d'empreinte.
## 5. Sass/Vite 8
Vite 7 a supprimé le support de l'ancienne API Sass et impose désormais l'API moderne. En conséquence, l'ancien sélecteur explicite :
```ts
api: "modern",
```
n'est plus nécessaire et n'est plus accepté par les types actuels de `SassPreprocessorOptions`.
`vite.config.ts` le supprime simplement. Les options utiles restent présentes :
```text
quietDeps
silenceDeprecations
verbose
NodePackageImporter
```
Aucun retour vers une API Sass legacy n'est introduit.
## 6. Documentation synchronisée
`README.md`, `USAGE.md`, `TODO.md` et le manifeste `frontend/fonts/README.md` ne présentent plus l'activation de `Dos Amazigh` comme une tâche future : la police du titre est maintenant active, tandis que seul le lifecycle/fini visuel reste dans la tranche splash dédiée.
## 7. Fichiers modifiés
| Fichier | Action |
| ---------------------------------------------------------------- | ------: |
| `Cargo.toml` | modifié |
| `crates/ksp-app-config-desk/frontend/sass/splash.scss` | modifié |
| `crates/ksp-app-config-desk/vite.config.ts` | modifié |
| `crates/ksp-app-config-desk/frontend/fonts/README.md` | modifié |
| `crates/ksp-app-config-desk/README.md` | modifié |
| `crates/ksp-app-config-desk/USAGE.md` | modifié |
| `crates/ksp-app-config-desk/TODO.md` | modifié |
| `deltas/0.1.4/pre.006-fix.001.md` | ajouté |
## 8. Validations demandées
Depuis la racine du workspace :
```bash
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-app-config-desk
cargo test -p ksp-config-lib
cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json
```
Le test desktop doit confirmer :
- absence de l'erreur TypeScript `SassPreprocessorOptions` sur `api` ;
- compilation SCSS avec `DOS_Amazigh.ttf` présent sous `frontend/fonts/` ;
- rendu du titre `KSP` avec `Dos Amazigh` ;
- maintien du lancement Vite/Tauri et du bootstrap backend introduit en `pre.006`.
## 9. Suite
Après validation de ce fix, la tranche suivante reste `pre.007` : bridge `frontend_log.ts` refondu depuis bot3, commande `emit_frontend_log` centralisée dans `tauri.rs`, targets KSP contrôlés et émission finale exclusivement via `ksp-logging-lib`.