Three changes: 1. Type-checked port connections. Drag from an output port only highlights compatible-type input ports as drop targets; incompatible drops are silently refused. Source of truth: ModuleSpec for declared types. When either side is unknown (no manifest, implicit YAML field) the check degrades to 'compatible with anything' so a missing manifest never blocks composition. 2. NodeGeometry.heightFor now adds a 2 px allowance for the 1 px AnimatedContainer border on top + bottom of the card. Without this the last port-row's Column would overflow by 2 px under tight layout constraints (caught by the new widget tests; production canvas clipped it silently inside InteractiveViewer). 3. Width parameter on FlowNode now actually drives the outer SizedBox. The dynamic _stepWidth value from the canvas finally reaches the card border rather than being shadowed by NodeGeometry.width. Long labels (model_endpoint, source_language) no longer ellipsis-clip. Tests: 8 new widget + geometry tests covering width growth, two-column body layout, port-tooltip attachment, row-alignment between input and output sides, and the existing kindForStep classifier. All 20 editor tests pass. Bumps fai_studio_flow_editor to 0.11.0. Signed-off-by: flemming-it <sf@flemming.it>
27 lines
739 B
YAML
27 lines
739 B
YAML
name: fai_studio_flow_editor
|
|
description: Swappable inline YAML editor for F∆I Studio flows.
|
|
version: 0.11.0
|
|
publish_to: 'none'
|
|
repository: https://git.flemming.ai/fai/studio-flow-editor
|
|
|
|
environment:
|
|
sdk: ^3.11.0-200.1.beta
|
|
flutter: '>=3.30.0'
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
# CodeMirror-style code editor + the highlight package's
|
|
# YAML grammar. Both are pure Dart so the editor stays
|
|
# WebView-free and ships in the same binary.
|
|
flutter_code_editor: ^0.3.5
|
|
highlight: ^0.7.0
|
|
# YAML parsing for the graph view's model layer. We
|
|
# round-trip text <-> graph via this; the graph never
|
|
# mutates the YAML directly.
|
|
yaml: ^3.1.2
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^6.0.0
|