Skip to content

UI Enhancements: Spacing, Sizing & Connector Enhancements (WoC 5.0 Proposal Intent) #45

@Antarik06

Description

@Antarik06

Hi maintainers :)
I’ve recently started learning Flutter/Dart, and I couldn’t wait to raise this issue to let you know that I’ll be submitting my Winter of Code 5.0 proposal specifically for Cooketh-Flow.

I absolutely love this project especially as it is very close to something I’ve previously built using React. Implementing similar ideas in Flutter/Dart would be an amazing learning experience for me.

  1. UI Spacing & Sizing Normalization
  • Introduce a centralized spacing + typography scale to remove ad-hoc .h / .w / .sp usage.
  • Refactor major workspace widgets (Export button, Toolbar, Zoom controls) to consume these tokens.
  • Enforce consistent touch targets while visually tightening layouts.
// core/theme/spacing.dart
class AppSpacing {
  static const double sm = 8;
  static const double md = 16;
  static const double lg = 24;
}
padding: EdgeInsets.symmetric(
  vertical: AppSpacing.md.h,
  horizontal: AppSpacing.lg.w,
)
  1. Connector Enhancements (Routing + Metadata)
  • Extend the connector model to store routing intent instead of assuming straight lines.
  • Support orthogonal / bezier paths via a small path builder utility.
  • Allow connectors to carry labels or icons, rendered at the path midpoint.
  • Keep existing connectors backward-compatible.
enum ConnectorRouteType { straight, orthogonal, bezier }
class ConnectorObject {
  final ConnectorRouteType routeType;
  final String? labelText;
}
Path path = connector.routeType == ConnectorRouteType.orthogonal
  ? buildOrthogonalPath(start, end)
  : Path()..lineTo(end.dx, end.dy);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions