Proof-of-concept proving the Flutter/Rust bridge exit criterion from docs/architecture/proof-of-concept-plan.md §2: "Flutter can call Rust and receive event stream data." The spike exposes one synchronous fallible command (greet) returning a typed GreetResult / GreetError DTO, and one async event stream (counter_stream) emitting typed CounterTick events. The Flutter app demonstrates both flows on a Material 3 surface; the headless test suite in test/poc_verification_test.dart exercises the same API directly through dart:ffi. Verified on 2026-05-13 (Linux desktop, Flutter 3.41.9 / Dart 3.11.5, flutter_rust_bridge 2.12.0, Rust 1.95). All three tests pass: - greet() returns typed result for valid input - greet() surfaces typed error for empty input - counterStream() delivers the expected event sequence Authority: PoC plan §2, DEC-014 (typed Flutter/Rust bridge), SAD-068, SDD-079, SysDes-049. Naming note: the PoC plan lists this as flutter-rust-bridge-hello, but Dart pubspec.yaml package names require underscores; the directory uses underscores accordingly. Not product code; not promoted into chanora_bridge. Layout note: includes the full Flutter platform scaffold (android, ios, macos, windows, web, linux). Only the Linux desktop target has been built and verified.
35 lines
569 B
Plaintext
35 lines
569 B
Plaintext
**/dgph
|
|
*.mode1v3
|
|
*.mode2v3
|
|
*.moved-aside
|
|
*.pbxuser
|
|
*.perspectivev3
|
|
**/*sync/
|
|
.sconsign.dblite
|
|
.tags*
|
|
**/.vagrant/
|
|
**/DerivedData/
|
|
Icon?
|
|
**/Pods/
|
|
**/.symlinks/
|
|
profile
|
|
xcuserdata
|
|
**/.generated/
|
|
Flutter/App.framework
|
|
Flutter/Flutter.framework
|
|
Flutter/Flutter.podspec
|
|
Flutter/Generated.xcconfig
|
|
Flutter/ephemeral/
|
|
Flutter/app.flx
|
|
Flutter/app.zip
|
|
Flutter/flutter_assets/
|
|
Flutter/flutter_export_environment.sh
|
|
ServiceDefinitions.json
|
|
Runner/GeneratedPluginRegistrant.*
|
|
|
|
# Exceptions to above rules.
|
|
!default.mode1v3
|
|
!default.mode2v3
|
|
!default.pbxuser
|
|
!default.perspectivev3
|