Files
craft-ai-integrations/consumer-smoke/README.md
T
skylar taylor-barrick 0e55340771 Migrate shared AI widgets to egui 0.37 (#105)
* refactor(ai-egui): migrate shared widgets to egui 0.37

* egui037: qualify shared AI widgets and downstream dependency pins

* docs(ai-egui): record the committed migration qualification

* fix(ci): provide Vulkan snapshots and allow pinned fork sources

* test: make cancellation-before-load coverage deterministic
2026-10-25 16:23:02 +00:00

1.7 KiB

Consumer smoke root

This separate [workspace] checks the dependency recipe an app copies when it adopts craft-ai-egui. It is not a repository workspace member and it changes no root manifest or root lockfile.

  • Path dependencies: ../crates/ai-egui and the same ../crates/ai-core package.
  • One craft-ai-core identity: src/lib.rs names ConnectionDraft, ConnectionId and DraftError through craft_ai_core and takes them from the public widget state. A second core copy makes the crate fail to compile.
  • Repeated patches: the complete [patch.crates-io] recipe is at the reviewed egui commit 6d518fc799681571963842f95b55a6b68431b15a and winit a517b3846ee8457d84ee4975110bfda6797c44dc.
  • Fonts: the smoke root enables egui/default_fonts. The library dependency does not.
  • Synthetic data only: the unit test draws the form, progress and empty history with no provider, download, shared store or OS keychain call.

The separate Cargo.lock pins this smoke root. Run the locked checks and inspect the duplicate report from the consumer-smoke/ directory:

cargo metadata --locked --format-version 1 > /dev/null
cargo check --locked -p craft-ai-consumer-smoke
cargo test --locked -p craft-ai-consumer-smoke
cargo tree --locked -d
cargo tree --locked -i craft-ai-core

Expected graph: exactly one craft-ai-core identity and one egui family at the reviewed commit. This headless smoke does not select winit; the paired winit patch is included for native adopters. The smoke explicitly clears its unrendered texture delta. A native host must apply texture updates to its renderer. Do not copy this root's lockfile into an app; each consumer resolves and reviews its own.