Aller au contenu

Entretien de la spécification

Exécutez ces commandes depuis la racine du dépôt. Le téléchargement des sources et la génération des bindings sont des opérations distinctes et explicites ; aucune ne fait partie de check.

1. Télécharger les sources amont

./gradlew check-cache

Cette tâche télécharge la spécification HTML WebGPU du W3C et l’IDL de GPUWeb, les enregistre dans webgpu-specifications/src/jvmMain/resources/ et met à jour cache.json.

2. Reconstruire la documentation JSON

./gradlew refresh-documentation-from-spec

La tâche remplace documentation.json à partir des fichiers HTML et IDL versionnés. Relisez les descriptions avant de générer les bindings.

3. Compléter facultativement les descriptions manquantes

./gradlew generate-doc-from-llm

Cette commande facultative demande un serveur de chat-completions compatible OpenAI à http://127.0.0.1:1234/v1, avec le modèle mistral-small-3.1-24b-instruct-2503. La CI ne l’exécute jamais.

4. Vérifier la couverture et convertir en YAML

./gradlew check-missing-doc
./gradlew tranform-json-doc-to-yaml

La première tâche affiche les clés manquantes. La seconde écrit documentation.yaml ; son nom actuel est tranform, sans le deuxième « s ».

5. Générer les bindings

./gradlew generate-binding

Le générateur lit l’IDL et le YAML versionnés, puis réécrit les sources Kotlin générées dans webgpu-api, webgpu-descriptors et webgpu-web-bindings. Relisez les changements et lancez les tests métier. Ne modifiez pas directement les sources générées. webgpu-browser est écrit à la main : il consomme les contrats et les bindings générés et ne contient pas de sources générées.