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.
122 lines
3.0 KiB
Plaintext
122 lines
3.0 KiB
Plaintext
// Microsoft Visual C++ generated resource script.
|
|
//
|
|
#pragma code_page(65001)
|
|
#include "resource.h"
|
|
|
|
#define APSTUDIO_READONLY_SYMBOLS
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Generated from the TEXTINCLUDE 2 resource.
|
|
//
|
|
#include "winres.h"
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#undef APSTUDIO_READONLY_SYMBOLS
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// English (United States) resources
|
|
|
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
|
|
|
#ifdef APSTUDIO_INVOKED
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// TEXTINCLUDE
|
|
//
|
|
|
|
1 TEXTINCLUDE
|
|
BEGIN
|
|
"resource.h\0"
|
|
END
|
|
|
|
2 TEXTINCLUDE
|
|
BEGIN
|
|
"#include ""winres.h""\r\n"
|
|
"\0"
|
|
END
|
|
|
|
3 TEXTINCLUDE
|
|
BEGIN
|
|
"\r\n"
|
|
"\0"
|
|
END
|
|
|
|
#endif // APSTUDIO_INVOKED
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Icon
|
|
//
|
|
|
|
// Icon with lowest ID value placed first to ensure application icon
|
|
// remains consistent on all systems.
|
|
IDI_APP_ICON ICON "resources\\app_icon.ico"
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Version
|
|
//
|
|
|
|
#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD)
|
|
#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD
|
|
#else
|
|
#define VERSION_AS_NUMBER 1,0,0,0
|
|
#endif
|
|
|
|
#if defined(FLUTTER_VERSION)
|
|
#define VERSION_AS_STRING FLUTTER_VERSION
|
|
#else
|
|
#define VERSION_AS_STRING "1.0.0"
|
|
#endif
|
|
|
|
VS_VERSION_INFO VERSIONINFO
|
|
FILEVERSION VERSION_AS_NUMBER
|
|
PRODUCTVERSION VERSION_AS_NUMBER
|
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
|
#ifdef _DEBUG
|
|
FILEFLAGS VS_FF_DEBUG
|
|
#else
|
|
FILEFLAGS 0x0L
|
|
#endif
|
|
FILEOS VOS__WINDOWS32
|
|
FILETYPE VFT_APP
|
|
FILESUBTYPE 0x0L
|
|
BEGIN
|
|
BLOCK "StringFileInfo"
|
|
BEGIN
|
|
BLOCK "040904e4"
|
|
BEGIN
|
|
VALUE "CompanyName", "com.example" "\0"
|
|
VALUE "FileDescription", "flutter_rust_bridge_hello" "\0"
|
|
VALUE "FileVersion", VERSION_AS_STRING "\0"
|
|
VALUE "InternalName", "flutter_rust_bridge_hello" "\0"
|
|
VALUE "LegalCopyright", "Copyright (C) 2026 com.example. All rights reserved." "\0"
|
|
VALUE "OriginalFilename", "flutter_rust_bridge_hello.exe" "\0"
|
|
VALUE "ProductName", "flutter_rust_bridge_hello" "\0"
|
|
VALUE "ProductVersion", VERSION_AS_STRING "\0"
|
|
END
|
|
END
|
|
BLOCK "VarFileInfo"
|
|
BEGIN
|
|
VALUE "Translation", 0x409, 1252
|
|
END
|
|
END
|
|
|
|
#endif // English (United States) resources
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef APSTUDIO_INVOKED
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Generated from the TEXTINCLUDE 3 resource.
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#endif // not APSTUDIO_INVOKED
|