Skip to content

Commit b19e5e9

Browse files
committed
feat: making it work with wasm, moving json files into assets, fixing number deserialization on macos
1 parent 3445c41 commit b19e5e9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1460
-53
lines changed

claude.md

Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,12 @@ and interactive diagrams.
99
- Flutter
1010
- Dart
1111

12-
## Interactivity
13-
14-
- Auto snapping when going close to an input port
15-
- Port stays within bounds of the node widget for perfect hit testing
16-
- Reliable hover effects and visual feedback for high-confidence interactions
17-
- No scaling effects on ports when hovering as they are jarring and don't work
18-
well
19-
- All widgets and painting is done using values from the Theme objects for Node,
20-
Port, Editor, Connection.
21-
- Capsule should rotate for top and bottom sides of Port. The core idea is that
22-
the flat side of the half-capsule always stays on the outside.
23-
- The connection line should connect the outer edges of the capsule halves for a
24-
smooth visual flow. This should work properly for both left/right and
25-
top/bottom ports correctly.
26-
- The ports should be positioned on the edges of the node. For the left and
27-
right ports, it will be horizontally centered on the left and right edges of
28-
the node. For the top and bottom it should be vertically centered on the top
29-
and bottom edges of the node.
30-
- Ports are always painted on top of Nodes so they are always visible
31-
- For the left/right nodes the port can be positioned starting from the top with
32-
some offset from the top edge.
33-
- For the top/bottom nodes the port can be positioned starting from the left
34-
with some offset from the left edge.
35-
- The temporary connection line painting is exactly like the actual connection
36-
line painting. The line should connect the outer edges of the capsule halves
37-
for a smooth visual flow.
38-
- Connections are established by clicking on a port and dragging to another
39-
port. The connection is created when the user releases the mouse button on the
40-
port and not as soon as the target port is hovered or snapped, but only when
41-
dropped on the port. A drop anywhere else on the canvas should ignore the
42-
connection.
43-
4412
# State Management
4513

4614
- Uses MobX for state management
4715
- Only raw observables, no annotations
16+
17+
# Always Note
18+
19+
- The Web Server or App is always running in the background
20+
- We are using Melos workspace so use its commands to bootstrap and update projects

justfile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1+
#!/usr/bin/env just --justfile
2+
13
set shell := ["fish", "-c"]
24

35
# Build the Flutter web example
46
build:
5-
cd example && flutter build web --release --no-wasm-dry-run
7+
cd packages/demo && flutter build web --release --wasm --no-wasm-dry-run
68

79
# Deploy to Cloudflare Pages using Wrangler
810
deploy: build
9-
wrangler pages deploy example/build/web --project-name=vyuh-node-flow
11+
wrangler pages deploy packages/demo/build/web --project-name=vyuh-node-flow
1012

1113
preview:
12-
cd example/build/web
13-
serve -s .
14+
cd packages/demo/build/web && \
15+
serve . -s

packages/demo/.metadata

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# This file should be version controlled and should not be manually edited.
55

66
version:
7-
revision: "6fba2447e95c451518584c35e25f5433f14d888c"
7+
revision: "adc901062556672b4138e18a4dc62a4be8f4b3c2"
88
channel: "stable"
99

1010
project_type: app
@@ -13,11 +13,11 @@ project_type: app
1313
migration:
1414
platforms:
1515
- platform: root
16-
create_revision: 6fba2447e95c451518584c35e25f5433f14d888c
17-
base_revision: 6fba2447e95c451518584c35e25f5433f14d888c
18-
- platform: web
19-
create_revision: 6fba2447e95c451518584c35e25f5433f14d888c
20-
base_revision: 6fba2447e95c451518584c35e25f5433f14d888c
16+
create_revision: adc901062556672b4138e18a4dc62a4be8f4b3c2
17+
base_revision: adc901062556672b4138e18a4dc62a4be8f4b3c2
18+
- platform: macos
19+
create_revision: adc901062556672b4138e18a4dc62a4be8f4b3c2
20+
base_revision: adc901062556672b4138e18a4dc62a4be8f4b3c2
2121

2222
# User provided section
2323

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# This file configures the analyzer, which statically analyzes Dart code to
2+
# check for errors, warnings, and lints.
3+
#
4+
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
5+
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
6+
# invoked from the command line by running `flutter analyze`.
7+
8+
# The following line activates a set of recommended lints for Flutter apps,
9+
# packages, and plugins designed to encourage good coding practices.
10+
include: package:flutter_lints/flutter.yaml
11+
12+
linter:
13+
# The lint rules applied to this project can be customized in the
14+
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
15+
# included above or to enable additional rules. A list of all available lints
16+
# and their documentation is published at https://dart.dev/lints.
17+
#
18+
# Instead of disabling a lint rule for the entire project in the
19+
# section below, it can also be suppressed for a single line of code
20+
# or a specific dart file by using the `// ignore: name_of_lint` and
21+
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
22+
# producing the lint.
23+
rules:
24+
# avoid_print: false # Uncomment to disable the `avoid_print` rule
25+
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
26+
27+
# Additional information about this file can be found at
28+
# https://dart.dev/guides/language/analysis-options

0 commit comments

Comments
 (0)