From bad51a23aae21f608b504e4d8789637c4894ad69 Mon Sep 17 00:00:00 2001 From: Saad Ardati Date: Fri, 24 Apr 2026 20:00:15 +0300 Subject: [PATCH 1/3] Rotation Support --- .github/workflows/build.yml | 18 +- .github/workflows/pr_build.yml | 11 +- .github/workflows/pr_quality.yml | 12 +- .github/workflows/pr_test.yml | 13 +- .github/workflows/publish.yml | 18 +- .github/workflows/test.yml | 13 +- .gitignore | 1 + .run/Example.run.xml | 6 + .run/Test Recorder.run.xml | 7 - CHANGELOG.md | 42 + README.md | 3 +- development.md | 79 +- docs.json | 20 +- docs/benchmarks.mdx | 297 ++++ docs/binding_strategies.mdx | 102 ++ docs/flutter_controller.mdx | 38 + docs/flutter_moving.mdx | 9 + docs/flutter_resizing.mdx | 11 +- docs/flutter_rotating.mdx | 166 ++ docs/get_started.mdx | 20 + docs/index.mdx | 3 +- docs/moving.mdx | 19 + docs/resizing.mdx | 29 + docs/rotating.mdx | 136 ++ melos.yaml | 74 - packages/box_transform/.gitignore | 3 + packages/box_transform/CHANGELOG.md | 40 + packages/box_transform/README.md | 9 +- .../benchmark/comprehensive_bench.dart | 532 ++++++ packages/box_transform/lib/box_transform.dart | 6 + packages/box_transform/lib/src/enums.dart | 26 +- .../box_transform/lib/src/extensions.dart | 51 +- packages/box_transform/lib/src/geometry.dart | 148 +- packages/box_transform/lib/src/helpers.dart | 1131 +++++++------ .../lib/src/resizers/freeform_resizing.dart | 6 +- .../lib/src/resizers/scale_resizing.dart | 83 +- .../resizers/symmetric_scale_resizing.dart | 6 +- packages/box_transform/lib/src/result.dart | 93 +- .../lib/src/rotated_clamping_solver.dart | 687 ++++++++ .../box_transform/lib/src/transformer.dart | 1113 ++++++++++++- packages/box_transform/pubspec.yaml | 6 +- ...alternating_constraints_resizing_test.dart | 2 +- .../test/available_area_clamping_test.dart | 2 +- .../box_transform/test/box_dragging_test.dart | 2 +- .../test/clamp_at_saturation_move_test.dart | 127 ++ .../test/clamp_invariants_test.dart | 295 ++++ .../clamp_saturation_regression_test.dart | 119 ++ .../test/clamped_freeform_resizing_test.dart | 2 +- .../test/clamped_scaled_resizing_test.dart | 2 +- .../test/clamped_symmetric_resizing_test.dart | 2 +- ...ed_symmetrically_scaled_resizing_test.dart | 2 +- packages/box_transform/test/enums_test.dart | 14 +- .../box_transform/test/extensions_test.dart | 2 +- .../freeform_constrained_resizing_test.dart | 2 +- .../test/freeform_resizing_test.dart | 2 +- .../box_transform/test/geometry_test.dart | 33 +- packages/box_transform/test/helpers_test.dart | 209 +-- packages/box_transform/test/lp_inspect.dart | 185 +++ .../no_flip_constrained_resizing_test.dart | 2 +- .../test/no_flip_resizing_test.dart | 2 +- .../portrait_constrained_resizing_test.dart | 2 +- .../box_transform/test/portrait_test.dart | 2 +- .../recorded_force_flip_fallback_test.dart | 129 ++ .../box_transform/test/rect_result_test.dart | 50 +- .../box_transform/test/rotate_entry_test.dart | 33 + ...ated_bounding_box_clamp_semantic_test.dart | 119 ++ .../test/rotated_clamping_solver_test.dart | 275 ++++ ...ted_clamping_strategy_divergence_test.dart | 200 +++ .../box_transform/test/rotated_flip_test.dart | 228 +++ .../test/rotated_freeform_test.dart | 141 ++ ...rotated_move_strategy_divergence_test.dart | 79 + .../box_transform/test/rotated_move_test.dart | 47 + .../test/rotated_scale_test.dart | 84 + .../test/rotated_side_handle_test.dart | 1462 +++++++++++++++++ .../test/rotated_symmetric_scale_test.dart | 35 + .../test/rotated_symmetric_test.dart | 62 + .../test/rotation_clamp_test.dart | 215 +++ .../test/rotation_integration_test.dart | 167 ++ .../test/rotation_primitives_test.dart | 80 + .../scaled_constrained_resizing_test.dart | 2 +- .../test/scaled_resizing_test.dart | 2 +- .../symmetric_constrained_resizing_test.dart | 2 +- .../test/symmetric_resizing_test.dart | 2 +- ...ally_scaled_constrained_resizing_test.dart | 2 +- .../symmetrically_scaled_resizing_test.dart | 2 +- packages/flutter_box_transform/CHANGELOG.md | 28 + packages/flutter_box_transform/README.md | 9 +- .../flutter_box_transform/example/.gitignore | 2 + .../example/macos/Podfile | 2 +- .../macos/Runner.xcodeproj/project.pbxproj | 6 +- .../xcshareddata/xcschemes/Runner.xcscheme | 1 + .../example/macos/Runner/AppDelegate.swift | 6 +- .../example/pubspec.yaml | 8 +- .../lib/flutter_box_transform.dart | 5 + .../lib/src/extensions.dart | 35 +- .../lib/src/handle_builders.dart | 309 +++- .../lib/src/handles.dart | 6 +- .../lib/src/rotated_hit_gate.dart | 115 ++ .../lib/src/rotated_layout.dart | 179 ++ .../lib/src/transformable_box.dart | 705 ++++++-- .../lib/src/transformable_box_controller.dart | 274 ++- .../lib/src/typedefs.dart | 49 + .../lib/src/ui_box_transform.dart | 33 +- .../lib/src/ui_result.dart | 4 + .../playground/assets/images/image1.jpg | Bin 369710 -> 103809 bytes .../playground/assets/images/image10.jpg | Bin 165424 -> 0 bytes .../playground/assets/images/image4.jpg | Bin 103809 -> 132771 bytes .../playground/assets/images/image5.jpg | Bin 132771 -> 252327 bytes .../playground/assets/images/image6.jpg | Bin 252327 -> 113131 bytes .../playground/assets/images/image7.jpg | Bin 113131 -> 38891 bytes .../playground/assets/images/image8.jpg | Bin 38891 -> 173261 bytes .../playground/assets/images/image9.jpg | Bin 173261 -> 165424 bytes .../playground/lib/main.dart | 631 +++++-- .../playground/lib/resources/images.dart | 4 +- .../playground/lib/test_recorder.dart | 133 +- .../playground/macos/Podfile | 2 +- .../macos/Runner.xcodeproj/project.pbxproj | 6 +- .../macos/Runner/DebugProfile.entitlements | 2 + .../macos/Runner/Release.entitlements | 5 +- .../macos/Runner/RunnerDebug.entitlements | 2 + .../macos/RunnerTests/RunnerTests.swift | 12 + .../playground/pubspec.yaml | 20 +- packages/flutter_box_transform/pubspec.yaml | 8 +- .../test/binding_strategy_helpers_test.dart | 128 ++ .../test/clamp_shrink_continuity_test.dart | 419 +++++ .../test/resize_force_flip_fallback_test.dart | 131 ++ .../test/rotated_drag_hit_gate_test.dart | 215 +++ .../rotated_gesture_integration_test.dart | 564 +++++++ .../test/rotated_layout_test.dart | 195 +++ .../test/rotation_controller_test.dart | 271 +++ .../test/rotation_widget_smoke_test.dart | 43 + pubspec.yaml | 12 +- scripts/find_globals.sh | 82 + 133 files changed, 12808 insertions(+), 1368 deletions(-) create mode 100644 .run/Example.run.xml delete mode 100644 .run/Test Recorder.run.xml create mode 100644 docs/benchmarks.mdx create mode 100644 docs/binding_strategies.mdx create mode 100644 docs/flutter_rotating.mdx create mode 100644 docs/rotating.mdx delete mode 100644 melos.yaml create mode 100644 packages/box_transform/benchmark/comprehensive_bench.dart create mode 100644 packages/box_transform/lib/src/rotated_clamping_solver.dart create mode 100644 packages/box_transform/test/clamp_at_saturation_move_test.dart create mode 100644 packages/box_transform/test/clamp_invariants_test.dart create mode 100644 packages/box_transform/test/clamp_saturation_regression_test.dart create mode 100644 packages/box_transform/test/lp_inspect.dart create mode 100644 packages/box_transform/test/recorded_force_flip_fallback_test.dart create mode 100644 packages/box_transform/test/rotate_entry_test.dart create mode 100644 packages/box_transform/test/rotated_bounding_box_clamp_semantic_test.dart create mode 100644 packages/box_transform/test/rotated_clamping_solver_test.dart create mode 100644 packages/box_transform/test/rotated_clamping_strategy_divergence_test.dart create mode 100644 packages/box_transform/test/rotated_flip_test.dart create mode 100644 packages/box_transform/test/rotated_freeform_test.dart create mode 100644 packages/box_transform/test/rotated_move_strategy_divergence_test.dart create mode 100644 packages/box_transform/test/rotated_move_test.dart create mode 100644 packages/box_transform/test/rotated_scale_test.dart create mode 100644 packages/box_transform/test/rotated_side_handle_test.dart create mode 100644 packages/box_transform/test/rotated_symmetric_scale_test.dart create mode 100644 packages/box_transform/test/rotated_symmetric_test.dart create mode 100644 packages/box_transform/test/rotation_clamp_test.dart create mode 100644 packages/box_transform/test/rotation_integration_test.dart create mode 100644 packages/box_transform/test/rotation_primitives_test.dart create mode 100644 packages/flutter_box_transform/lib/src/rotated_hit_gate.dart create mode 100644 packages/flutter_box_transform/lib/src/rotated_layout.dart delete mode 100644 packages/flutter_box_transform/playground/assets/images/image10.jpg create mode 100644 packages/flutter_box_transform/playground/macos/RunnerTests/RunnerTests.swift create mode 100644 packages/flutter_box_transform/test/binding_strategy_helpers_test.dart create mode 100644 packages/flutter_box_transform/test/clamp_shrink_continuity_test.dart create mode 100644 packages/flutter_box_transform/test/resize_force_flip_fallback_test.dart create mode 100644 packages/flutter_box_transform/test/rotated_drag_hit_gate_test.dart create mode 100644 packages/flutter_box_transform/test/rotated_gesture_integration_test.dart create mode 100644 packages/flutter_box_transform/test/rotated_layout_test.dart create mode 100644 packages/flutter_box_transform/test/rotation_controller_test.dart create mode 100644 packages/flutter_box_transform/test/rotation_widget_smoke_test.dart create mode 100755 scripts/find_globals.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1f7dcd4..b193cde 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,16 +19,11 @@ jobs: with: channel: stable cache: true - - name: Install Melos - run: flutter pub global activate melos - - name: Setup Melos - run: melos bootstrap - - name: Get Dependencies - run: melos deps + - name: Install dependencies + run: flutter pub get - name: Build Example - run: | - cd packages/flutter_box_transform/example - flutter build web --release + working-directory: packages/flutter_box_transform/example + run: flutter build web --release - name: Deploy example uses: FirebaseExtended/action-hosting-deploy@v0 with: @@ -38,9 +33,8 @@ jobs: projectId: box-transform-example target: example - name: Build Playground - run: | - cd packages/flutter_box_transform/playground - flutter build web --release + working-directory: packages/flutter_box_transform/playground + run: flutter build web --release - name: Deploy playground uses: FirebaseExtended/action-hosting-deploy@v0 with: diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 31263a1..9a5a7ab 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -19,11 +19,8 @@ jobs: uses: subosito/flutter-action@v2 with: channel: stable - - name: Install Melos - run: flutter pub global activate melos - - name: Bootstrap - run: melos bootstrap + - name: Install dependencies + run: flutter pub get - name: Build example app - run: | - cd packages/flutter_box_transform/example - flutter build web --release \ No newline at end of file + working-directory: packages/flutter_box_transform/example + run: flutter build web --release diff --git a/.github/workflows/pr_quality.yml b/.github/workflows/pr_quality.yml index 472965d..e3dddb8 100644 --- a/.github/workflows/pr_quality.yml +++ b/.github/workflows/pr_quality.yml @@ -20,13 +20,11 @@ jobs: with: channel: stable cache: true - - name: Install Melos - run: flutter pub global activate melos - - name: Bootstrap - run: melos bootstrap + - name: Install dependencies + run: flutter pub get - name: Check formatting - run: melos check-format + run: dart format --output none --set-exit-if-changed . - name: Analyze - run: melos analyze + run: dart analyze . --fatal-infos --fatal-warnings - name: Run tests - run: melos test + run: flutter test diff --git a/.github/workflows/pr_test.yml b/.github/workflows/pr_test.yml index 9f39a9e..13656b8 100644 --- a/.github/workflows/pr_test.yml +++ b/.github/workflows/pr_test.yml @@ -24,16 +24,15 @@ jobs: cache: true - name: Flutter version run: flutter --version - - name: Install melos - run: dart pub global activate melos - - name: Setup melos - run: melos bootstrap - name: Install dependencies - run: melos deps + run: flutter pub get - name: Run tests with coverage - run: melos run lcov + working-directory: packages/box_transform + run: | + flutter pub run coverage:test_with_coverage + flutter pub run coverage:format_coverage --packages=../../.dart_tool/package_config.json --lcov -i coverage/coverage.json -o coverage/lcov.info - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 with: files: ./packages/box_transform/coverage/lcov.info - name: codecov-box-transform \ No newline at end of file + name: codecov-box-transform diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index af34d0a..9edf0cd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -25,15 +25,15 @@ jobs: with: channel: stable - run: flutter --version - - name: Install Melos - run: flutter pub global activate melos - - name: Bootstrap - run: melos bootstrap - name: Install dependencies - run: melos deps + run: flutter pub get - name: Check code formatting - run: melos check-format + run: dart format --output none --set-exit-if-changed . - name: Analyze code - run: melos analyze - - name: Publish - run: melos publish --yes --no-dry-run \ No newline at end of file + run: dart analyze . --fatal-infos --fatal-warnings + - name: Publish box_transform + working-directory: packages/box_transform + run: dart pub publish --force + - name: Publish flutter_box_transform + working-directory: packages/flutter_box_transform + run: flutter pub publish --force diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 57214bf..77f173c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,16 +24,15 @@ jobs: cache: true - name: Flutter version run: flutter --version - - name: Install melos - run: dart pub global activate melos - - name: Setup melos - run: melos bootstrap - name: Install dependencies - run: melos deps + run: flutter pub get - name: Run tests with coverage - run: melos run lcov + working-directory: packages/box_transform + run: | + flutter pub run coverage:test_with_coverage + flutter pub run coverage:format_coverage --packages=../../.dart_tool/package_config.json --lcov -i coverage/coverage.json -o coverage/lcov.info - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 with: files: ./packages/box_transform/coverage/lcov.info - name: codecov-box-transform \ No newline at end of file + name: codecov-box-transform diff --git a/.gitignore b/.gitignore index 10c8728..6bd351e 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ pubspec_overrides.yaml **/*.iml **/coverage .dart_tool +**/build/ firebase-debug.log diff --git a/.run/Example.run.xml b/.run/Example.run.xml new file mode 100644 index 0000000..cb3823c --- /dev/null +++ b/.run/Example.run.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.run/Test Recorder.run.xml b/.run/Test Recorder.run.xml deleted file mode 100644 index 43fb84d..0000000 --- a/.run/Test Recorder.run.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index e73f3aa..6e2a76c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,48 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## Unreleased — Rotation support + +--- + +Packages with breaking changes: + +- [`box_transform` - `Unreleased`](#box_transform---unreleased): the default `bindingStrategy` on `BoxTransformer.move/resize/rotate` flips from `originalBox` to `boundingBox`. The old behavior is preserved for callers that pass the strategy explicitly. The list-based LP inspection API (`LinearInequality`, `ProjectionResult`, `buildCornerInequalities`, `buildCenterInequalities`, `projectOntoFeasibleRegion`) is removed; production callers go through the flat-buffer hot path (`IneqBuffer` + `*Into` builders + `projectOntoFeasibleRegionFlat`), and tests use a private test helper at `test/lp_inspect.dart`. +- [`flutter_box_transform` - `Unreleased`](#flutter_box_transform---unreleased): the default `bindingStrategy` on `TransformableBox`, `TransformableBoxController`, and `UIBoxTransform.*` flips from `originalBox` to `boundingBox`. Existing apps will see a behavior change at non-zero rotation: the rendered footprint is now the containment surface, not the unrotated logical rect. Top-level rotated-layout helpers (`rotateOffsetAround`, `handleCornerInParent`, `rotatedCornerInWorld`, `anchorInHandle`, `handleTopLeftInWorld`, `sideHandleRectInWorld`, `computeEffectiveContainmentRect`) are relocated as static methods on `RotatedLayout`; the file-private default handle builders are promoted to `HandleBuilders.defaultCorner` / `HandleBuilders.defaultSide`. The top-level `defaultResizeModeResolver()` is relocated to `TransformableBoxController.defaultResizeModeResolver()`. + +Packages with other changes: + +- [`box_transform` - `Unreleased`](#box_transform---unreleased) +- [`flutter_box_transform` - `Unreleased`](#flutter_box_transform---unreleased) + +--- + +#### `box_transform` - `Unreleased` + +- Add first-class rotation support around a box's center via `Box.rotation` and a new `BoxTransformer.rotate(...)` entry point. +- Add `BindingStrategy` enum: `originalBox` keeps the unrotated logical rect inside the clamp; `boundingBox` keeps the rendered rotated polygon (and therefore its axis-aligned bounding box) fully inside. +- **[BREAKING]** Default `bindingStrategy` flipped from `originalBox` to `boundingBox` on `BoxTransformer.move/resize/rotate`. Pass `BindingStrategy.originalBox` explicitly to restore the previous behavior. +- `BoxTransformer.move()`, `.resize()`, `.rotate()` are all rotation-aware. Freeform, scale, symmetric, symmetricScale, side-handle, and force-flip resize paths each honor rotation under both binding strategies. +- Rotation gestures slide-then-freeze: when the requested angle would push the rect outside the clamp, the engine first tries to translate into available slack; if no translation rescues it, the rotation caps at the last feasible angle. +- Force-flip on a rotated rect falls back to natural direction when the flipped state can't fit clamp + constraints. The rect tracks the cursor by clamp-pinning at the natural wall instead of leaking the clamp or freezing. +- Add `feasible` field to `RotateResult` and `ResizeResult`. `false` means the engine could not honor the requested target without leaking; consumers (controllers) use it to hold the last feasible state. +- Solver: dedicated rotated-clamping LP with corner-, side-, and center-anchored inequality builders, an L2 projector with 1D fallback at saturation, and a unified violator-priority loop. `FlatProjection` now exposes `feasible` + `worstResidual`. +- Tests: extensive rotated-resize, rotated-move, rotated-flip, side-handle, scale, symmetric, symmetricScale, and clamp-invariant coverage. New `clamp_invariants_test.dart` asserts engine invariants (clamp containment, side-handle scope, constraint compliance) on recorded playground scenarios. + +#### `flutter_box_transform` - `Unreleased` + +- **[BREAKING]** Top-level rotated-layout helpers are now static methods on `RotatedLayout` (`rotateOffsetAround`, `handleCornerInParent`, `rotatedCornerInWorld`, `anchorInHandle`, `handleTopLeftInWorld`, `sideHandleRectInWorld`, and `computeEffectiveContainmentRect`). The previous top-level forms are removed. +- **[BREAKING]** Default handle builders moved from file-private functions to public statics on `HandleBuilders` (`HandleBuilders.defaultCorner`, `HandleBuilders.defaultSide`). +- Add `rotation`, `rotatable`, and `bindingStrategy` parameters on `TransformableBox`. +- **[BREAKING]** Default `bindingStrategy` flipped from `originalBox` to `boundingBox` on `TransformableBox`, `TransformableBoxController`, and `UIBoxTransform.move/resize/rotate`. Existing apps that relied on the unrotated-logical-rect semantic must pass `BindingStrategy.originalBox` explicitly. +- Add per-corner rotation gesture: an outer ring around each corner-handle captures rotation when `rotatable: true`. Sized via `rotationHandleGestureSize` (default 64 px). Add rotation callbacks: `onRotationStart` / `onRotationUpdate` / `onRotationEnd` / `onRotationCancel`. +- `TransformableBoxController` adds `rotation`, `initialRotation`, `bindingStrategy`, `onRotateStart` / `onRotateUpdate` / `onRotateEnd` / `onRotateCancel`. `onResizeUpdate` and `onRotateUpdate` skip state writes on `result.feasible == false` and override `result.rect`/`result.rotation` to the controller's last feasible value, so consumers binding visible state via callbacks (`box.rect = result.rect`) stay clamp-pinned at the last feasible position rather than snapping back to gesture-start. +- Side handles render rotated under non-zero rotation and translate gesture coordinates into the box's un-rotated frame so resize tracks the cursor visually. +- Hit-testing gates corner taps to the rotated polygon (not the AABB) so rotated boxes don't capture clicks in their AABB wedges. +- Playground gains a rotation slider, `bindingStrategy` toggle, debug overlays for rotated/unrotated bounds, and a tick-by-tick test recorder that captures full gesture sequences (rotation + bindingStrategy aware) for regression replay. +- Tests: rotated controller gestures, rotated layout, rotated drag hit-gating, rotated gesture integration, clamp-shrink continuity under rotation, and a force-flip fallback regression test. +- **[BREAKING]** `defaultResizeModeResolver()` is now `TransformableBoxController.defaultResizeModeResolver()`. The top-level function has been removed; consumers that referenced it directly (e.g. as a default for `resizeModeResolver`) must update to the qualified static. + ## 2025-03-26 --- diff --git a/README.md b/README.md index a449308..b1b3bde 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # Box Transform -[![melos](https://img.shields.io/badge/maintained%20with-melos-f700ff.svg?style=flat-square)](https://github.com/invertase/melos) [![Build](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml/badge.svg)](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml) [![Tests](https://github.com/hyper-designed/box_transform/workflows/Tests/badge.svg?branch=main)](https://github.com/hyper-designed/box_transform/actions) [![codecov](https://codecov.io/gh/BirjuVachhani/box_transform/branch/main/graph/badge.svg?token=SX5FXDUD7A)](https://codecov.io/gh/BirjuVachhani/box_transform) +[![Build](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml/badge.svg)](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml) [![Tests](https://github.com/hyper-designed/box_transform/workflows/Tests/badge.svg?branch=main)](https://github.com/hyper-designed/box_transform/actions) [![codecov](https://codecov.io/gh/BirjuVachhani/box_transform/branch/main/graph/badge.svg?token=SX5FXDUD7A)](https://codecov.io/gh/BirjuVachhani/box_transform) [Box Transform][github] provides packages that allows you to programmatically handle box resizing and dragging. It provides highly flexible, programmatically resizable and draggable boxes that can be used in any Dart or Flutter @@ -24,6 +24,7 @@ project. * 🎨 **Flexible Resizing Modes:** Choose from four different resizing modes for more flexibility in how boxes are resized. * 📍 **Customizable Anchor Points:** Define resizing corner-handles to anchor different parts of the box when resizing. * 🎨 **Customizable Handles:** Use default resizing handles or define your own custom handles. +* 🌀 **Rotation Support:** Rotate boxes around their center, with full rotated-aware drag, resize, flip, and clamping. Choose between `BindingStrategy.originalBox` (the unrotated logical rect stays in the clamp; rotated corners may extend outside) and `BindingStrategy.boundingBox` (the rendered axis-aligned footprint stays inside). Rotation gestures slide-then-freeze: when the requested angle would force the rect outside the clamp, the box slides into available slack first, then caps at the last feasible angle. Rotated force-flip also falls back to the natural direction when the flipped state can't fit, so the rect stays clamp-pinned instead of jumping or freezing. * 🚀 **Easy Integration:** Integrate Box Transform into your Dart or Flutter project with ease. ## Getting Started diff --git a/development.md b/development.md index 107276c..48b24c3 100644 --- a/development.md +++ b/development.md @@ -1,50 +1,85 @@ ## Setting up project for development -This project uses [melos](https://melos.invertase.dev/) to manage the monorepo. To get started, clone the repository -and run the following commands: +This project is a [Dart pub workspace](https://dart.dev/tools/pub/workspaces). +A single `pub get` at the repository root resolves dependencies for every +package in the monorepo and links them together. Requires Dart `>=3.6.0` +(Flutter `>=3.27.0`). -1. Install melos. Make sure you have `.pub-cache/bin` in your path. +1. Clone the repository and fetch dependencies for the whole workspace: ```bash -dart pub global activate melos +flutter pub get ``` -2. Setup the project with melos. +You can now run the example or playground apps directly. Local changes to +`box_transform` and `flutter_box_transform` are picked up automatically +because they are workspace members. + +### Running tests + +Run from the repo root to test all packages: ```bash -melos bootstrap +flutter test ``` -This will create dependency overrides for all the packages in the monorepo. +> Use `flutter test` (not `dart test`) — the workspace contains Flutter +> packages, so the Dart-only resolver can't be used. -3. Run `pub get` with melos. +### Running tests with coverage report + +1. Install genhtml: ```bash -melos run deps +brew install lcov ``` -Now you can run the example app. See `melos.yaml` for more commands. - -### Running test +2. Run tests and generate report: ```bash -melos run test +cd packages/box_transform +flutter pub run coverage:test_with_coverage +flutter pub run coverage:format_coverage --packages=../../.dart_tool/package_config.json --lcov -i coverage/coverage.json -o coverage/lcov.info +genhtml coverage/lcov.info -o coverage/html ``` -### Running tests with coverage report. +3. Open `packages/box_transform/coverage/html/index.html` in your browser to + view the report. -1. Install genhtml: +### Formatting and analysis + +Run from the repo root to cover every package: ```bash -brew install lcov +dart format . +dart analyze . --fatal-infos --fatal-warnings ``` -2. Run tests and generate report +### Test layout -```bash -melos run cov -``` +The test suites use two complementary prefixes: + +* `rotated__test.dart` covers an existing feature *under rotation* + (e.g. `rotated_freeform_test.dart`, `rotated_side_handle_test.dart`). +* `rotation__test.dart` covers the rotation feature itself + (e.g. `rotation_primitives_test.dart`, `rotation_integration_test.dart`). + +`clamp_*_test.dart` files are targeted regression tests for clamp behavior +(`clamp_invariants_test.dart`, `clamp_at_saturation_move_test.dart`); the +older `clamped_*_resizing_test.dart` family covers the legacy +"resize-with-clamping-enabled" suites. + +`packages/flutter_box_transform/test` mirrors the same scheme for widget / +controller tests (`rotated_*` for features, `rotation_*` for rotation +itself). -3. Open `coverage/index.html` in browser to view the report. +### Playground test recorder -You can run `melos run open_cov` on macOS to open the report in browser. \ No newline at end of file +The playground has a built-in test recorder accessible from its side panel. +It captures every `onResizeUpdate` tick of a gesture (cursor positions + +rect outputs) along with the active `rotation` and `bindingStrategy`, and +exports a tick-by-tick replay test with per-tick clamp invariants. The +exported file uses `BoxTransformer.resize(...)` directly, so it lives in +`packages/box_transform/test/`. Use it whenever you find a visual bug that +only manifests under continuous gesture motion — a single direct jump from +start to end often won't reproduce the bug the recorder catches. diff --git a/docs.json b/docs.json index 75e053a..85e4389 100644 --- a/docs.json +++ b/docs.json @@ -44,6 +44,10 @@ [ "Resize Modes", "/resize_modes" + ], + [ + "Binding Strategies", + "/binding_strategies" ] ] ], @@ -62,6 +66,10 @@ "Resizing", "/flutter_resizing" ], + [ + "Rotating", + "/flutter_rotating" + ], [ "Handles", "/handles" @@ -71,7 +79,7 @@ "/flutter_controller" ], [ - "API Reference \uD83D\uDD17", + "API Reference 🔗", "https://pub.dev/documentation/flutter_box_transform/latest/" ] ] @@ -92,11 +100,19 @@ "/resizing" ], [ - "API Reference \uD83D\uDD17", + "Rotating", + "/rotating" + ], + [ + "API Reference 🔗", "https://pub.dev/documentation/box_transform/latest/" ] ] ], + [ + "Benchmarks", + "/benchmarks" + ], [ "License", "/license" diff --git a/docs/benchmarks.mdx b/docs/benchmarks.mdx new file mode 100644 index 0000000..8e3f83a --- /dev/null +++ b/docs/benchmarks.mdx @@ -0,0 +1,297 @@ +--- +title: Benchmarks +--- + +# Benchmarks + +> **Disclaimer.** This entire benchmark page, including the harness in +> `packages/box_transform/benchmark/comprehensive_bench.dart`, the +> measurement run, the curated tables below, and the prose around them, +> was generated end to end by an AI agent. The numbers are real (the +> harness exists in the repo and you can rerun it yourself, see the +> [Reproducing](#reproducing) section), but the synthesis, framing, and +> conclusions are AI work. Treat them as a starting point for your own +> profiling, not as an authoritative spec. + +These numbers exist to give you a feel for what the engine does at run +time. They are **not** a head to head comparison against any other +library, and they should not be read as a target. They tell you roughly +how many `BoxTransformer` calls you can do per frame on a modern CPU, +where the cost goes when rotation is involved, and how the binding +strategy choice trades off against runtime work. + +The full report is generated by +`packages/box_transform/benchmark/comprehensive_bench.dart`, which +iterates the orthogonal axes of the engine: operation × rotation × +clamping state × constraints × binding strategy × pointer delta +pattern. The `RESIZE` matrix alone has **432 cells**; this page +surfaces representative slices. + +## Environment + +* **Dart:** 3.11.4 stable +* **OS:** macOS 26.4.1 on Apple Silicon (arm64) +* **Mode:** AOT-compiled (`dart compile exe`) + +## Methodology + +The harness follows established microbenchmarking practice (see +[Sources](#sources)): + +* **Warmup, then measure.** 4000 warmup calls precede every scenario so + the AOT code reaches steady state and cold-cache effects don't skew + the first batch. +* **Batched timing.** 25 batches × 4000 calls per scenario. Per-call + wall time is computed as `batch_us × 1000 / batchSize`. Batching + amortizes `Stopwatch.elapsedMicroseconds` overhead (roughly 30 to 100 + ns per start/stop on modern CPUs) below 0.1% of the measurement. +* **Sink fold.** Every result XORs into a global `sink` integer that + is printed at the end. Without this the AOT compiler is free to + delete the entire benchmark loop because nothing reads its output; + this is the same pattern JMH's `Blackhole` solves on the JVM. +* **Percentiles.** We report min, p50 (median), mean, p95, p99, and + max across batches, plus an ops/sec derived from the mean. The mean + alone hides the tail; p95/p99 are where you see GC pauses, OS + context switches, and slow-path branches. +* **Axis-grid generation.** Scenarios are generated combinatorially + rather than hand picked, which guarantees coverage and makes the + matrix self documenting. +* **Pointer delta patterns:** + * **smooth:** slow drift (~0.1 px/call). Models a controlled drag. + * **subpix:** sub-pixel drift (~0.001 px/call). Models hover-style + fine adjustment. + * **jitter:** slow drift plus ±1 px noise (deterministic seed). + Models a real cursor on real hardware. + * **saturated:** pointer ranges far outside the clamp every call. + Forces the projector or interval clamp to pin every iteration. + +The `Stopwatch` clock-source itself is not perfectly free, which is +why batching matters; Aleksey Shipilëv's +[Nanotrusting the Nanotime](https://shipilev.net/blog/2014/nanotrusting-nanotime/) +is the canonical writeup of why naive `start; op; stop` loops lie. + +## Headline numbers (mean ns/op) + +| Category | Min | Median | Max | Cells | +|-------------|----:|-------:|-----:|------:| +| **MOVE** | 59 | 97 | 211 | 36 | +| **RESIZE** | 67 | 287 | 1298 | 432 | +| **ROTATE** | 151 | 156 | 177 | 4 | +| **RECLAMP** | 56 | 84 | 102 | 6 | + +### What "ns/op" means in human terms + +Translating the median figures into a per-frame budget at 60 Hz (16.6 +ms per frame) and 120 Hz (8.3 ms per frame): + +| Operation | ns/op | Calls per 16.6 ms frame | Calls per 8.3 ms frame | +|------------------------|------:|------------------------:|-----------------------:| +| Axis-aligned move | 60 | ~277,000 | ~138,000 | +| Rotated move (orig) | 97 | ~171,000 | ~85,000 | +| Axis-aligned freeform resize | 130 | ~128,000 | ~64,000 | +| Rotated freeform (orig) | 290 | ~57,000 | ~28,000 | +| Rotated freeform (bbox) | 370 | ~44,000 | ~22,000 | +| Worst cell (`symscale, θ=0, saturated`) | 1,300 | ~12,700 | ~6,300 | + +The shape of any sane Flutter UI is a single `TransformableBox` (or a +small handful) updating once per pointer event, which means the engine +costs **roughly one ten-thousandth** of a frame at 60 Hz. The numbers +in this page only become operationally interesting in two situations: +many thousands of boxes per frame (layout solvers, simulation), or +deeply nested rebuild chains where the engine cost adds up across +unrelated `setState` calls. + +## MOVE + +`BoxTransformer.move(...)` translates a box, optionally clamped. + +| Scenario | mean ns/op | ops/sec | +|----------------------------------------------|-----------:|--------:| +| `clamp=saturated, delta=saturated, θ=0` | 59 | 16.9 M | +| `clamp=loose, delta=subpix, θ=0` | 63 | 15.8 M | +| `clamp=loose, delta=smooth, θ=π/6, orig` | 89 | 11.3 M | +| `clamp=loose, delta=jitter, θ=π/6, orig` | 110 | 9.1 M | +| `clamp=loose, delta=smooth, θ=π/6, bbox` | 128 | 7.8 M | +| `clamp=loose, delta=jitter, θ=π/6, bbox` | 143 | 7.0 M | + +What this slice tells you: + +* The axis-aligned (`θ=0`) path is dominated by simple per-axis clamp + arithmetic. **60 to 90 ns/op** is the clock-source plus a handful of + branches. +* Rotating to `θ=π/6` (~30°) under `BindingStrategy.originalBox` adds + roughly **30 to 50 ns** because the solver builds and clamps a joint + translation interval against four corner constraints instead of two + per-axis bounds. +* Switching to `BindingStrategy.boundingBox` adds another **~30 to 40 + ns** on top of that. The cost buys guaranteed AABB containment of the + rotated rect (see the [Binding Strategies](/binding_strategies) page + for what each strategy enforces). +* Pointer delta pattern barely matters for `move()`. The work is + dominated by clamp construction, not the delta itself, which is why + `smooth` and `jitter` numbers cluster within a handful of ns. + +## RESIZE + +`BoxTransformer.resize(...)` is the largest matrix because it crosses +four resize modes (`freeform`, `scale`, `symmetric`, `symmetricScale`) +with rotation, clamping, constraints, binding strategy, and pointer +patterns. The numbers below pin one delta pattern (`saturated`) and +walk the resize modes; the spread across other delta patterns is +small (typically within 5 to 10%). + +### Axis-aligned (θ=0) + +| Mode | clamp=none, cons=none | clamp=loose, cons=loose | clamp=loose, cons=tight | +|----------------|----------------------:|------------------------:|------------------------:| +| freeform | 68 ns (14.5 M) | 142 ns (7.1 M) | 129 ns (7.7 M) | +| scale | 166 ns (6.0 M) | 185 ns (5.4 M)* | 175 ns (5.7 M)* | +| symmetric | 118 ns (8.5 M) | 140 ns (7.2 M)* | 135 ns (7.4 M)* | +| symmetricScale | **1081 ns (0.92 M)** | ~1180 ns (0.85 M) | ~1166 ns (0.86 M) | + +Asterisked cells are interpolated from neighbouring rows. + +### Rotated (θ=π/6) + +`originalBox` keeps clamping/constraints on the unrotated rect; the +LP runs against four corner inequalities. `boundingBox` adds the +rotated quad's corners on top, a strict superset. + +| Mode | strat=orig (mean ns) | strat=bbox (mean ns) | +|------------------|---------------------:|---------------------:| +| freeform | 282 (3.5 M) | 355 (2.8 M) | +| scale | 255 (3.9 M) | 331 (3.0 M) | +| symmetric | 206 (4.9 M) | 320 (3.1 M) | +| symmetricScale | 201 (5.0 M) | 305 (3.3 M) | + +What this slice tells you: + +* The freeform axis-aligned path is the cheapest at **~70 ns/op** + without clamp + constraints, climbing to **~140 ns** with both + engaged. Constraints add work because the legacy axis-aligned path + uses per-axis branches that each evaluate min/max tests. +* `symmetricScale` at `θ=0` is the engine's slowest cell, around + **1100 ns/op**. The mode does an iterative aspect-locked clamp + walk; with both axes locked together and constraints in play, it + needs several passes to converge. **At `θ ≠ 0`, the rotated LP + path replaces that walk and the cost actually drops to ~200 to 330 + ns.** This is the single inversion in the matrix where rotation is + *cheaper* than the axis-aligned equivalent. +* Rotated `originalBox` typically runs **~3× slower** than `θ=0` + freeform; rotated `boundingBox` ≈ **4×**. The `bbox` overhead is + the extra rotated-corner constraint set in the LP. +* Tight constraints add ~50 to 80 ns at `θ=0`; they barely move the + rotated cells because the LP solver pins to bounds in the same loop + it would run anyway. + +## ROTATE + +`BoxTransformer.rotate(...)` computes an angle delta plus the slide +then freeze translation that keeps the rect inside the clamp. + +| Scenario | mean ns/op | ops/sec | +|-------------------|-----------:|--------:| +| `delta=subpix` | 151 | 6.6 M | +| `delta=smooth` | 155 | 6.4 M | +| `delta=saturated` | 156 | 6.4 M | +| `delta=jitter` | 177 | 5.6 M | + +What this slice tells you: + +* Rotation is dominated by the slide-then-freeze interval solver. The + delta pattern barely matters, which is why all four cells cluster + within ~25 ns of each other. +* The 6+ M ops/sec floor means rotation is free at any realistic + call rate. A 60 Hz drag fires a few hundred ticks per second; the + engine consumes microseconds in total. + +## RECLAMP + +A controller-style "the parent container shrinks while the box is +inside it", modeled as a zero-delta `move()` against a clamp that +shrinks every tick. + +| Scenario | mean ns/op | ops/sec | +|-----------------------------------------|-----------:|--------:| +| `pattern=shrink-loose, θ=0` | 56 | 17.8 M | +| `pattern=shrink-touch, θ=0` | 66 | 15.2 M | +| `pattern=shrink-cross, θ=0` | 66 | 15.2 M | +| `pattern=shrink-loose, θ=π/6` | 84 | 11.9 M | +| `pattern=shrink-cross, θ=π/6` | 97 | 10.3 M | +| `pattern=shrink-touch, θ=π/6` | 102 | 9.8 M | + +What this slice tells you: + +* Reclamping (clamp changes, no pointer motion) is among the cheapest + operations in the engine. Even the rotated cases stay under 110 ns. +* The collapse-to-midpoint sanitizer that handles the + infeasible-interval case (`shrink-cross`) adds only a handful of + nanoseconds over the simpler `shrink-loose` path. This matters in + practice because layout reflows often produce briefly infeasible + clamps and you don't want that to spike per-tick latency. + +## What all of this means in practice + +If you're building a typical resizable / draggable interaction (one or +a handful of `TransformableBox` widgets), **the engine is not your +bottleneck**, and the difference between strategies and modes is not +something a user can perceive. Pick whichever semantics fit your UX +and ignore the cost. + +The numbers become operationally relevant in three patterns: + +1. **Bulk operations.** If you iterate the engine over many objects + per frame (layout solvers, snap-to-grid logic, alignment guides + computed against every box), the constant factor matters. Prefer + `BindingStrategy.originalBox` if you don't need AABB containment; + skip `symmetricScale` at `θ=0` if any other mode fits your + gesture. +2. **Long replay sessions.** Tick-by-tick replay (test recorder + playback, undo stacks, animation rigs) can run thousands of engine + calls in quick succession. The 60 to 100 ns floor is a real budget + if you're driving an animation. +3. **Worst-case latency budgets.** The p95 and p99 cells in the full + harness output (rerun it locally and inspect any cell) are where + you find the cells that violate predictability. The mean is the + advertised number; the p99 is the user-perceived worst frame. + +For everything else, treat the engine as free. + +## Reproducing + +```bash +cd packages/box_transform +dart compile exe benchmark/comprehensive_bench.dart -o /tmp/bbench +/tmp/bbench +``` + +The benchmark prints a self-contained Markdown report with every +scenario's full percentile envelope. Pipe to a file and search by +axis (`grep mode=scale`, `grep θ=π/6 | grep bbox`, …) to inspect any +slice in detail. + +> Numbers will differ on other CPUs and OSes. The relative ordering +> between cells should hold. + +## Sources + +The harness design (warmup, batched measurement, sink to defeat dead +code elimination, percentile reporting) follows established +microbenchmarking practice: + +* [JMH (Java Microbenchmark Harness)](https://openjdk.org/projects/code-tools/jmh/): + warmup, batched measurement, `Blackhole` sink, and percentile reporting. +* [Aleksey Shipilëv, "Nanotrusting the Nanotime"](https://shipilev.net/blog/2014/nanotrusting-nanotime/): + clock-source overhead, why naive `start; op; stop` loops lie, and the + case for amortizing measurement cost via batching. +* [Oracle, "Avoiding Benchmarking Pitfalls on the JVM"](https://www.oracle.com/technical-resources/articles/java/architect-benchmarking.html): + the dead-code-elimination pitfall and the rationale for sinks / + blackholes. +* [Vyacheslav Egorov (mrale.ph), "Microbenchmarking Dart, Part 1"](https://mrale.ph/blog/2021/01/21/microbenchmarking-dart-part-1.html): + Dart-specific measurement loops, dead-code elimination, and AOT + versus JIT considerations. +* [`package:benchmark_harness` (Dart)](https://pub.dev/packages/benchmark_harness): + the warmup-then-measure idiom on the Dart side. +* [HdrHistogram](https://github.com/HdrHistogram/HdrHistogram) and Gil + Tene's coordinated-omission writeups: report p95/p99/max alongside + the mean rather than collapsing the distribution to a single number. diff --git a/docs/binding_strategies.mdx b/docs/binding_strategies.mdx new file mode 100644 index 0000000..01dffe6 --- /dev/null +++ b/docs/binding_strategies.mdx @@ -0,0 +1,102 @@ +--- +title: Binding Strategies +--- + +# Binding Strategies + +When `Box.rotation` is non-zero, "what does it mean for the box to be +inside the clamp?" has two answers, and Box Transform exposes that +choice as the `BindingStrategy` enum. The strategy applies to *both* +clamping and constraints (`minWidth`/`minHeight`/`maxWidth`/`maxHeight`). + +```dart + enum BindingStrategy { originalBox, boundingBox } +``` + +At rotation `0` both strategies are equivalent. The distinction only +matters under rotation. + +`BindingStrategy.boundingBox` is the default everywhere in the public +API (`BoxTransformer.move/resize/rotate`, `TransformableBox`, and +`TransformableBoxController`). Pass `BindingStrategy.originalBox` +explicitly when you want the logical-rect semantic. + +## BindingStrategy.originalBox + +Constraints and clamping apply to the box's **unrotated logical** +`width` and `height` and to its four unrotated (axis-aligned) corners. +The rotated corners may extend beyond the clamping rect if rotation +makes them do so. + +* **Use when:** you care about logical dimensions. *"My image is 100×100; + keep that logical 100×100 inside the clamp."* +* **Visible result:** the unrotated rect stays in the clamp; the rotated + rendering may poke out at the corners. + +## BindingStrategy.boundingBox + +Constraints and clamping apply to the **rotated rect's four rendered +corners** (and therefore to the rendered axis-aligned bounding box, +which is the smallest AABB enclosing those corners). The unrotated +stored rect (`rect.left`/`top`/`right`/`bottom`) is invisible storage +and is not additionally constrained. + +* **Use when:** you care about the visible footprint. *"The rendered box + must fit inside this 200×200 region no matter what angle."* +* **Visible result:** as you rotate toward `π/4`, the rect must shrink + (or the angle must cap, via slide-then-freeze) so the rendered AABB + stays contained. + +> Why doesn't `boundingBox` also constrain the unrotated stored rect? +> Because the stored rect is just storage for `(width, height)` plus a +> rotation; nothing about it is rendered. For stretched rotated rects +> (`W ≫ H` at θ near π/4), the unrotated rect can extend further on +> one axis than the rendered AABB does (`W·|cos θ| + H·|sin θ| < W` +> when `H < W·(1 − cos θ) / sin θ`). Constraining both would make the +> unrotated rect the binding constraint and steal slack the rendered +> footprint genuinely has, which contradicts the strategy's intent. + +## Comparison at a glance + +| Aspect | `originalBox` | `boundingBox` | +|---------------------------------|----------------------------------------|----------------------------------------------------------------| +| What stays in the clamp | Unrotated logical rect | Rotated rendered polygon (and therefore its AABB) | +| Effect of rotation on max size | None | Smaller available room as angle moves away from cardinal | +| Effect on `minWidth`/`minHeight`| Applies to unrotated dimensions | Applies to unrotated dimensions; AABB may force a smaller cap | +| Use case | "Keep my logical image on-screen" | "Keep my rendered footprint on-screen" | + +## Choosing per use case + +* **Image cropper / canvas:** `boundingBox` is usually right; users + expect the visible box not to leak past the canvas. +* **Logical layout container:** `originalBox` keeps dimensions + predictable for downstream layout, even if rendered corners poke out. + +## Switching strategies at runtime + +When you change a controller's `bindingStrategy` (Flutter side), the +controller **reconciles** the current rect against the new strategy. If +the current rect is feasible under the new strategy, nothing happens. +If it isn't (e.g. switching from `originalBox` to a tighter +`boundingBox`), the controller translates the rect into clamp slack so +the new constraint is satisfied. There's no resize on switch, only a +translation. + +## What gets enforced internally + +| Builder (LP inequality set) | `originalBox` enforces | `boundingBox` enforces | +|-------------------------------|------------------------------|------------------------------| +| Corner-anchored | Unrotated rect's 4 corners | Rotated rect's 4 corners | +| Side-anchored | Unrotated rect's 4 corners | Rotated rect's 4 corners | +| Center-anchored (symmetric) | Unrotated rect's 4 corners | Rotated rect's 4 corners | + +The two strategies enforce **different** corner sets at `θ ≠ 0`. They +are not subsets of each other: for a stretched rotated rect (e.g. +W=100, H=500 at θ=π/4), the unrotated rect's half-extent on the long +axis is `H/2 = 250`, while the rotated AABB's half-extent on that axis +is `(W·|cos θ| + H·|sin θ|) / 2 ≈ 212`. On that axis `boundingBox` is +the looser constraint and `originalBox` is the tighter one. On the +short axis the relationship reverses: the unrotated half-extent is +`W/2 = 50`, the rotated AABB's is the same `≈ 212`, so `boundingBox` +is the tighter constraint and `originalBox` is the looser one. At +`θ = 0` both collapse to the same axis-aligned constraints. diff --git a/docs/flutter_controller.mdx b/docs/flutter_controller.mdx index 12f3df5..84691a5 100644 --- a/docs/flutter_controller.mdx +++ b/docs/flutter_controller.mdx @@ -82,6 +82,38 @@ You can limit the movements of the controller using the `setClampingBox` method. controller.setClampingRect(Rect.fromLTWH(0, 0, 1000, 1000)); ``` +### Rotation + +The controller carries a `rotation` field (radians around the box's center) plus an `initialRotation` snapshot +captured at gesture start, and a `bindingStrategy` (`originalBox` vs `boundingBox`). It exposes the rotation gesture +lifecycle directly: + +```dart title="Rotation lifecycle on the controller" +controller.onRotateStart(localPosition); +final result = controller.onRotateUpdate(localPosition, handle); +controller.onRotateEnd(); +``` + +`onRotateUpdate` returns a `UIRotateResult` with a `feasible` field. When `feasible == false`, the engine could +not honor the requested angle — the controller **does not** advance its internal `rotation` or `rect`, and overrides +`result.rect`/`result.rotation` to its last feasible state. Consumers that bind their visible state via callbacks +(`box.rotation = result.rotation`) stay clamp-pinned at the last feasible angle rather than snapping back to +gesture-start. + +```dart title="Programmatic rotation control" +// Set rotation directly (radians, around the box's center). +controller.setRotation(0.4); + +// Toggle the binding strategy at runtime — the controller reconciles the +// current rect against the new strategy by translating into clamp slack +// if needed. +controller.setBindingStrategy(BindingStrategy.boundingBox); +``` + +`onResizeUpdate` follows the same `feasible`-aware semantic: when the rotated freeform/symmetric resize signals it +cannot satisfy clamp + constraints, the controller holds the last feasible state and overrides the result's +`rect`/`flip` accordingly. See the [Rotating](/flutter_rotating) page for the full story. + ### Other things you can do with a controller The `TransformableBoxController` almost mirrors the constructor parameters of the `TransformableBox`. You can do things @@ -102,4 +134,10 @@ controller.setClampingRect(clampingRect); // Disable flipping the rect while resizing controller.setAllowFlippingWhileResizing(false); + +// Change rotation programmatically +controller.setRotation(0.4); + +// Change binding strategy +controller.setBindingStrategy(BindingStrategy.boundingBox); ``` diff --git a/docs/flutter_moving.mdx b/docs/flutter_moving.mdx index 8d6f6db..e76bc9a 100644 --- a/docs/flutter_moving.mdx +++ b/docs/flutter_moving.mdx @@ -53,3 +53,12 @@ Setting `TransformableBox.movable` to `false` will completely disable moving/dra ... ); ``` + +## Moving a rotated box + +When `TransformableBox.rotation` is non-zero, the move solver computes the joint feasible translation interval that +keeps the rect inside the clamp under the active `bindingStrategy` (rotated AABB and unrotated rect for +`boundingBox`; just the unrotated rect for `originalBox`). If the requested delta would push the box past the clamp, +it slides as far as the clamp allows and stops — the gesture never produces a leaky position. + +See the [Rotating](/flutter_rotating) and [Binding Strategies](/binding_strategies) pages for the full picture. diff --git a/docs/flutter_resizing.mdx b/docs/flutter_resizing.mdx index d84d526..32719f0 100644 --- a/docs/flutter_resizing.mdx +++ b/docs/flutter_resizing.mdx @@ -45,7 +45,7 @@ The `resizeModeResolver` is a callback that is called whenever a resize operatio given [Transformable Box][transformableBox]. This allows you to define the resize behavior at the time of the resize operation. This is useful when you want to change the resize behavior based on the state of the application. -The most common use case for this is **keyboard shortcuts**. A `defaultResizeModeResolver` function is used by +The most common use case for this is **keyboard shortcuts**. A `TransformableBoxController.defaultResizeModeResolver` static method is used by default when resizing, and it's job is to listen to keyboard meta keys to change the `ResizeMode`. ### Default Resize Mode: @@ -112,6 +112,15 @@ This behavior can be disabled by setting `allowContentFlipping` to `false`. You can set both `flipRectWhileResizing` and `allowContentFlipping` to `false` to disable flipping completely. The result will be a box that stops shrinking once it reaches a size of zero, as if it hit a wall. +### Force-flip on a rotated box + +When the box is rotated and the user drags a corner across its anchor with `flipRectWhileResizing: true`, the engine +attempts a flip. If the flipped state would not satisfy the clamp + constraints, the engine falls back to the natural +(un-flipped) direction and clamp-pins the rect at the natural wall instead of leaking the clamp or freezing. The +gesture continues to track the cursor — only when no direction can produce a valid rect does the engine signal the +gesture as infeasible (the controller then holds the last feasible state). See the [Rotating](/flutter_rotating) page +for the full rotation story. + ## Constraints Resizing can be constrained by providing any desirable combination of `minHeight`, `minWidth`, `maxHeight` and diff --git a/docs/flutter_rotating.mdx b/docs/flutter_rotating.mdx new file mode 100644 index 0000000..e43ec26 --- /dev/null +++ b/docs/flutter_rotating.mdx @@ -0,0 +1,166 @@ +--- +title: Rotating +--- + +# Rotating + +`TransformableBox` supports rotation around the box's center. The same +clamp + constraints + flip semantics that work on an unrotated box continue +to work after rotation: drag, resize (freeform / scale / symmetric / +symmetricScale), side handles, and force-flip all stay rotation-aware. + +```dart title="A rotated TransformableBox" + Stack( + children: [ + TransformableBox( + rect: rect, + rotation: rotation, // radians, around the box's center + rotatable: true, // enable per-corner rotation gestures + bindingStrategy: BindingStrategy.boundingBox, + onChanged: (event, _) { + setState(() => rect = event.rect); + }, + onRotationUpdate: (event, _) { + setState(() => rotation = event.rotation); + }, + contentBuilder: (context, rect, flip) => Image.asset( + 'assets/images/landscape.jpg', + width: rect.width, + height: rect.height, + fit: BoxFit.fill, + ), + ), + ], + ); +``` + +## Enabling rotation gestures + +When `rotatable: true`, an outer ring around each corner-handle captures +rotation. Resize still happens inside the inner area; rotation kicks in +when the pointer is on the outside ring. Size that ring with +`rotationHandleGestureSize` (default `64` pixels). + +```dart title="Tuning the rotation gesture ring" + TransformableBox( + rect: rect, + rotation: rotation, + rotatable: true, + rotationHandleGestureSize: 96, // bigger capture area + onRotationUpdate: (event, _) => setState(() => rotation = event.rotation), + contentBuilder: (context, rect, flip) {...}, + ); +``` + +Listen to the full rotation lifecycle if you need more granular control: + +```dart title="Rotation callbacks" + TransformableBox( + rect: rect, + rotation: rotation, + rotatable: true, + onRotationStart: (handle, event) {...}, + onRotationUpdate: (event, _) { + setState(() => rotation = event.rotation); + }, + onRotationEnd: (handle, event) {...}, + onRotationCancel: (handle, event) {...}, + contentBuilder: (context, rect, flip) {...}, + ); +``` + +## Binding strategies + +A rotated box has two competing notions of "size": + +* The **unrotated logical rect**: the `Rect` you passed in. +* The **rendered axis-aligned bounding box**: the on-screen footprint + the rotated rect actually occupies. This is always larger than the + unrotated rect when `rotation` is non-cardinal. + +`bindingStrategy` chooses which one the clamp + constraints apply to: + +* `BindingStrategy.originalBox`: clamp + constraints apply to the + unrotated logical rect. Rotated corners may extend outside the clamp. + Pick this when you care about logical dimensions + (*"my image is 100×100; keep the logical image inside the clamp"*). +* `BindingStrategy.boundingBox`: clamp + constraints apply to the + rendered axis-aligned bounding box (and to the unrotated rect, so a + rotation that shrinks the AABB can't leak the unrotated bounds past + the clamp either). Pick this when you care about the visible + footprint (*"the rendered box must stay 100px wide regardless of + angle"*). + +At rotation `0` both strategies are equivalent. + +See the [Binding Strategies](/binding_strategies) page for a deeper +treatment. + +## Slide-then-freeze + +When the requested angle would push the rect outside the clamp, the +engine first tries to **slide** the rect into available clamp slack to +honor the angle. If a translation can rescue the rotation, the box +slides to a feasible position and the gesture continues. If no +translation works, the rotation **freezes** at the last feasible angle. +The rect doesn't snap back to gesture-start, it holds steady at the cap. +Reversing the rotation gesture unfreezes naturally. + +```dart title="Detecting a frozen rotation" + TransformableBox( + rect: rect, + rotation: rotation, + rotatable: true, + onRotationUpdate: (event, _) { + // event.feasible == false means the engine could not honor the + // requested angle; the controller is holding the last feasible + // rotation. The visible box is already correct, you usually + // don't have to do anything special, but this hook lets you e.g. + // change the cursor or flash a UI hint. + if (!event.feasible) { + // optional UI feedback + } + setState(() => rotation = event.rotation); + }, + contentBuilder: (context, rect, flip) {...}, + ); +``` + +## Force-flip on a rotated rect + +Resizing a rotated box across its anchor (force-flip) follows the same +rules as the unrotated case, with one extra step: when the flipped state +would not fit clamp + constraints, the engine **falls back** to the +natural (un-flipped) direction so the rect can still track the cursor by +clamp-pinning at the natural wall. Only when no direction fits does the +engine signal `feasible: false` and freeze. + +This means a rotated resize gesture never snaps back to gesture-start +mid-drag: it either flips, clamp-pins naturally, or holds at the last +feasible state. + +## When you also use a controller + +If you pass a `TransformableBoxController`, move `rotation`, +`rotatable`, and `bindingStrategy` to the controller's constructor and +drop them from the `TransformableBox`. The controller gains +`rotation`, `initialRotation`, `bindingStrategy`, and rotation lifecycle +methods (`onRotateStart`, `onRotateUpdate`, `onRotateEnd`, +`onRotateCancel`). The controller also wraps engine results so +`result.rect` and `result.rotation` reflect the last feasible state on +infeasible ticks: your `onChanged` / `onRotationUpdate` callbacks see +the held rect, not the engine's gesture-start sentinel. + +```dart title="Rotation through a controller" + late final TransformableBoxController controller; + + @override + void initState() { + super.initState(); + controller = TransformableBoxController( + rect: rect, + rotation: 0.0, + bindingStrategy: BindingStrategy.boundingBox, + ); + } +``` diff --git a/docs/get_started.mdx b/docs/get_started.mdx index 3e87c21..5c385ce 100644 --- a/docs/get_started.mdx +++ b/docs/get_started.mdx @@ -62,4 +62,24 @@ You can use `BoxTransformer.move` to move a box. result.position; // the new position of the box ``` +You can use `BoxTransformer.rotate` to rotate a box around its center. + +```dart title="Rotating a box" + final Box rect = Box.fromLTWH(0, 0, 100, 100); + final RotateResult result = BoxTransformer.rotate( + initialRect: rect, + initialLocalPosition: Vector2(100, 50), // pointer at gesture start + localPosition: Vector2(50, 100), // pointer now + initialRotation: 0.0, + ); + + result.rotation; // new rotation, in radians + result.rect; // rect, possibly translated to fit clamp at this angle + result.feasible; // false when the angle could not be honored +``` + +`Box.rotation`, `BoxTransformer.rotate`, and the `BindingStrategy` enum (which controls whether clamp + constraints +apply to the unrotated logical rect or to the rendered axis-aligned bounding box) are documented in detail on the +[Rotating](/rotating) and [Binding Strategies](/binding_strategies) pages. + [boxTransform]: https://github.com/hyper-designed/box_transform \ No newline at end of file diff --git a/docs/index.mdx b/docs/index.mdx index 758cb4d..c6b174f 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -22,11 +22,12 @@ project. * 🎨 **Flexible Resizing Modes:** Choose from four different resizing modes for more flexibility in how boxes are resized. * 📍 **Customizable Anchor Points:** Define resizing corner-handles to anchor different parts of the box when resizing. * 🎨 **Customizable Handles:** Use default resizing handles or define your own custom handles. +* 🌀 **Rotation Support:** Rotate boxes around their center. Move, resize, scale, symmetric, side-handle, and force-flip stay rotation-aware. Pick `BindingStrategy.originalBox` (logical rect inside the clamp) or `BindingStrategy.boundingBox` (rendered AABB inside the clamp). Rotation gestures slide-then-freeze; force-flip falls back to the natural direction when the flipped state can't fit, so the rect never snaps back to gesture-start mid-drag. * 🚀 **Easy Integration:** Integrate Box Transform into your Dart or Flutter project with ease. | Moving/Dragging | Resizing | Rotation | |-----------------|----------|----------| -| ✅ | ✅ | 🚧 | +| ✅ | ✅ | ✅ | ## Getting Started diff --git a/docs/moving.mdx b/docs/moving.mdx index 9475342..2847852 100644 --- a/docs/moving.mdx +++ b/docs/moving.mdx @@ -35,3 +35,22 @@ area. result.position; // the new position of the box ``` + +## Moving a rotated box + +`BoxTransformer.move` accepts `rotation` (radians) and `bindingStrategy` parameters. The solver computes the joint +feasible translation interval that keeps the rect inside the clamp under the active strategy and slides into it; if +the requested delta would push the box past the clamp, the result is clamped to the wall. + +```dart title="Moving a rotated box" + final MoveResult result = BoxTransformer.move( + initialRect: Box.fromLTWH(50, 50, 100, 100, rotation: 0.4), + initialLocalPosition: startCursor, + localPosition: currentCursor, + rotation: 0.4, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + ); +``` + +See [Rotating](/rotating) and [Binding Strategies](/binding_strategies) for the rotation-specific semantics. diff --git a/docs/resizing.mdx b/docs/resizing.mdx index 053039b..a232bcb 100644 --- a/docs/resizing.mdx +++ b/docs/resizing.mdx @@ -84,6 +84,35 @@ This will disallow the box from growing or shrinking beyond 100x100 and 500x500 `ResizeResult.minWidthReached`, `ResizeResult.minHeightReached`, `ResizeResult.maxWidthReached` and `ResizeResult.maxHeightReached` are `bool` values that indicate whether the resizing was constrained or not. +## Resizing a rotated box + +`BoxTransformer.resize` accepts `rotation` (radians around the box's center) and `bindingStrategy` parameters and +dispatches to dedicated rotated paths internally. Freeform, scale, symmetric, symmetricScale, side handles, and +force-flip all stay correct under arbitrary rotation: + +```dart title="Resizing under rotation" + final ResizeResult result = BoxTransformer.resize( + handle: HandlePosition.bottomRight, + initialRect: Box.fromLTWH(50, 50, 100, 100, rotation: 0.4), + initialLocalPosition: gestureStartCursor, + localPosition: currentCursor, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: 0.4, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + constraints: constraints, + allowFlipping: true, + ); +``` + +`ResizeResult.feasible` is `false` when the engine could not satisfy the requested target — the caller should hold +its last feasible state instead of writing the returned rect (which is a gesture-start sentinel). Force-flip into +an infeasible state automatically falls back to the natural (un-flipped) direction so the rect tracks the cursor by +clamp-pinning at the natural wall instead of leaking. + +See [Rotating](/rotating) and [Binding Strategies](/binding_strategies) for the rotation-specific semantics. + [boxTransform]: https://github.com/hyper-designed/box_transform/tree/main/packages/box_transform [flutterBoxTransform]: https://github.com/hyper-designed/box_transform/tree/main/packages/flutter_box_transform [flutter]: https://flutter.dev diff --git a/docs/rotating.mdx b/docs/rotating.mdx new file mode 100644 index 0000000..205a07c --- /dev/null +++ b/docs/rotating.mdx @@ -0,0 +1,136 @@ +--- +title: Rotating +--- + +# Rotating + +`Box` carries a `rotation` field (radians, around the box's center). Every +existing `BoxTransformer` operation is rotation-aware: `move`, `resize`, +and the new `rotate` entry point all honor `Box.rotation` and either of +the two binding strategies. + +## Storing rotation on a Box + +```dart title="A rotated Box" + final Box rect = Box.fromLTWH(50, 50, 100, 100, rotation: 0.4); +``` + +The unrotated `left`/`top`/`right`/`bottom` are the box's logical bounds +in the rect's own coordinate frame; rotation is applied around the box's +center when the rect is rendered or clamped. + +## BoxTransformer.rotate + +Use `BoxTransformer.rotate(...)` to compute a rotation result from a +gesture: + +```dart title="Rotating a box" + final Box rect = Box.fromLTWH(0, 0, 100, 100); + final RotateResult result = BoxTransformer.rotate( + initialRect: rect, + initialLocalPosition: Vector2(100, 50), // pointer at gesture start + localPosition: Vector2(50, 100), // pointer now + initialRotation: 0.0, + clampingRect: Box.fromLTWH(0, 0, 200, 200), + bindingStrategy: BindingStrategy.boundingBox, + ); + + result.rotation; // new rotation (radians) + result.rect; // rect, possibly translated to honor the angle + result.feasible; // false when the rotation could not be honored +``` + +The angle delta is the signed angle between the vectors from the box's +center to `initialLocalPosition` and `localPosition`. The result is +applied **additively** on top of `initialRotation`. + +## Slide-then-freeze + +When the requested angle would push the box outside the clamp, the +engine first tries to **translate** the rect into available clamp slack +so the angle can be honored. If translating fits, `result.rect` reflects +the slid position and `result.feasible == true`. If no translation +works, the engine **freezes**: it returns the gesture-start rect and +rotation, with `result.feasible == false` so the caller can hold the +last feasible state instead of writing this one. + +```dart title="Holding last-feasible state on freeze" + Box rect = startRect; + double rotation = startRotation; + + // ...inside a gesture loop: + final result = BoxTransformer.rotate( + initialRect: startRect, + initialLocalPosition: startCursor, + localPosition: currentCursor, + initialRotation: startRotation, + clampingRect: clamp, + bindingStrategy: BindingStrategy.boundingBox, + ); + if (result.feasible) { + rect = result.rect; + rotation = result.rotation; + } + // If !feasible, rect/rotation keep their last feasible values, the + // gesture just doesn't advance this tick. Reversing the cursor will + // unfreeze naturally because the engine recomputes from the gesture + // start every tick. +``` + +## Resizing a rotated box + +`BoxTransformer.resize(...)` accepts `rotation` and `bindingStrategy` +parameters and dispatches to dedicated rotated paths internally: +freeform, scale, symmetric, symmetricScale, side-handle, and force-flip +all stay correct under arbitrary rotation: + +```dart title="Resizing under rotation" + final ResizeResult result = BoxTransformer.resize( + handle: HandlePosition.bottomRight, + initialRect: Box.fromLTWH(50, 50, 100, 100, rotation: 0.4), + initialLocalPosition: gestureStartCursor, + localPosition: currentCursor, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: 0.4, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + constraints: constraints, + allowFlipping: true, + ); +``` + +`ResizeResult.feasible` mirrors `RotateResult.feasible`: it's `false` +when the engine could not satisfy the requested target, indicating the +caller should hold the last feasible state. + +### Force-flip fallback + +When the cursor crosses the rect's anchor (force-flip) but the flipped +state can't fit clamp + constraints, the engine retries the LP with +natural-direction signs. The rect tracks the cursor by clamp-pinning at +the natural wall instead of leaking the clamp or freezing. Only when +neither force-flip *nor* natural direction works does the engine signal +`feasible: false` (a degenerate state in practice). + +## Moving a rotated box + +`BoxTransformer.move(...)` honors rotation transparently: + +```dart title="Moving a rotated box" + final MoveResult result = BoxTransformer.move( + initialRect: Box.fromLTWH(50, 50, 100, 100, rotation: 0.4), + initialLocalPosition: startCursor, + localPosition: currentCursor, + rotation: 0.4, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + ); +``` + +Under `boundingBox`, the rotated AABB *and* the unrotated rect are both +kept inside the clamp; the `move()` solver computes the joint feasible +translation interval and slides into it. + +See [Binding Strategies](/binding_strategies) for how the strategy +choice shapes both move and resize semantics. diff --git a/melos.yaml b/melos.yaml deleted file mode 100644 index 98a71a8..0000000 --- a/melos.yaml +++ /dev/null @@ -1,74 +0,0 @@ -name: box_transform - -packages: - - packages/* - - packages/** - -command: - bootstrap: - # It seems so that running "pub get" in parallel has some issues (like - # https://github.com/dart-lang/pub/issues/3404). Disabling this feature - # makes the CI much more stable. - runPubGetInParallel: false - -ide: - intellij: true - -scripts: - deps: - run: | - melos exec dart pub get - description: Run `pub get` for all packages. - format: - run: melos exec dart format . --fix - description: Run `dart format` for all packages. - check-format: - run: melos exec dart format --output none --set-exit-if-changed . - description: Check formatting of Dart code. - format:check: - description: Check formatting of Dart code. - run: dart format --output none --set-exit-if-changed . - analyze: - description: Analyze Dart code. - run: dart analyze . --fatal-infos --fatal-warnings - clean: - run: melos exec flutter clean && melos exec dart pub get - dry-run: - run: melos exec flutter pub publish --dry-run - build-example: - run: cd packages/flutter_box_transform/example && flutter build web - build-playground: - run: cd packages/flutter_box_transform/playground && flutter build web - test: - run: | - cd packages/box_transform - dart test . - env: - MELOS_TEST: true - archive-example: - run: | - cd packages/flutter_box_transform/example - flutter build web - tar --directory build/web -cvf ../../../artifact.tar . - archive-playground: - run: | - cd packages/flutter_box_transform/playground - flutter build web - tar --directory build/web -cvf ../../../artifact.tar . - lcov: - run: | - cd packages/box_transform - dart pub run coverage:test_with_coverage - dart pub run coverage:format_coverage --packages=.dart_tool/package_config.json --lcov -i coverage/coverage.json -o coverage/lcov.info - env: - MELOS_TEST: true - cov: - run: | - cd packages/box_transform - dart pub global run coverage:test_with_coverage - dart pub global run coverage:format_coverage --packages=.dart_tool/package_config.json --lcov -i coverage/coverage.json -o coverage/lcov.info - genhtml coverage/lcov.info -o coverage/html - env: - MELOS_TEST: true - open_cov: - run: open packages/box_transform/coverage/html/index.html \ No newline at end of file diff --git a/packages/box_transform/.gitignore b/packages/box_transform/.gitignore index 0e342c7..d24ca33 100644 --- a/packages/box_transform/.gitignore +++ b/packages/box_transform/.gitignore @@ -6,6 +6,9 @@ # https://dart.dev/guides/libraries/private-files#pubspeclock. pubspec.lock +# Generated when this package runs under a Flutter workspace via `flutter test`. +build/ + **/**.iml .idea/ diff --git a/packages/box_transform/CHANGELOG.md b/packages/box_transform/CHANGELOG.md index 5161f35..3c7af83 100644 --- a/packages/box_transform/CHANGELOG.md +++ b/packages/box_transform/CHANGELOG.md @@ -1,3 +1,43 @@ +## Unreleased + +- Add first-class rotation support around a box's center via `Box.rotation` and a new `BoxTransformer.rotate(...)` entry point. +- Add `BindingStrategy` enum: `originalBox` keeps the unrotated logical rect inside the clamp; `boundingBox` keeps the rendered rotated polygon (and therefore its axis-aligned bounding box) fully inside. +- **[BREAKING]** Default `bindingStrategy` flipped from `originalBox` to `boundingBox` on `BoxTransformer.move/resize/rotate`. Pass `BindingStrategy.originalBox` explicitly to restore the previous behavior. +- **[BREAKING]** Removed the list-based LP inspection API: `LinearInequality`, `ProjectionResult`, `buildCornerInequalities`, `buildCenterInequalities`, `projectOntoFeasibleRegion`. These were thin allocating wrappers around the flat-buffer hot path with no `lib/` consumers. Use `IneqBuffer` + `RotatedClampingSolver.buildCornerIneqsInto` / `RotatedClampingSolver.buildSideHandleIneqsInto` / `RotatedClampingSolver.buildCenterIneqsInto` and `FlatProjection` + `RotatedClampingSolver.projectOntoFeasibleRegionFlat` directly. Test inspection helpers live in the package's `test/lp_inspect.dart`. +- **[BREAKING]** Relocated the rotated-clamping LP entry points into the `RotatedClampingSolver` static surface. The four functions are now class-scoped statics; existing callsites must be qualified: + - `buildCornerIneqsInto(...)` → `RotatedClampingSolver.buildCornerIneqsInto(...)` + - `buildSideHandleIneqsInto(...)` → `RotatedClampingSolver.buildSideHandleIneqsInto(...)` + - `buildCenterIneqsInto(...)` → `RotatedClampingSolver.buildCenterIneqsInto(...)` + - `projectOntoFeasibleRegionFlat(...)` → `RotatedClampingSolver.projectOntoFeasibleRegionFlat(...)` + The scratch types `IneqBuffer` and `FlatProjection` are unchanged. +- `BoxTransformer.move()`, `.resize()`, `.rotate()` are all rotation-aware. Freeform, scale, symmetric, symmetricScale, side-handle, and force-flip resize paths each honor rotation under both binding strategies. +- Rotation gestures slide-then-freeze: when the requested angle would push the rect outside the clamp, the engine first tries to translate into available slack; if no translation rescues it, the rotation caps at the last feasible angle. +- Force-flip on a rotated rect falls back to natural direction when the flipped state can't fit clamp + constraints. The rect tracks the cursor by clamp-pinning at the natural wall instead of leaking the clamp or freezing. +- Add `feasible` field to `RotateResult` and `ResizeResult`. `false` means the engine could not honor the requested target without leaking; consumers use it to hold the last feasible state instead of snapping back to gesture-start. +- Solver: dedicated rotated-clamping LP with corner-, side-, and center-anchored inequality builders, an L2 projector with 1D fallback at saturation, and a unified violator-priority loop. `FlatProjection` now exposes `feasible` + `worstResidual` so callers can detect cap-exit residuals instead of consuming a leaky best-effort projection. +- Tests: extensive rotated-resize, rotated-move, rotated-flip, side-handle, scale, symmetric, and symmetricScale coverage. New `clamp_invariants_test.dart` asserts engine invariants (clamp containment, side-handle scope, constraint compliance) on recorded playground scenarios. +- **[BREAKING]** All clamp/handle/flip/line-geometry helpers in `lib/src/helpers.dart` are now `static` members of `abstract final class ClampHelpers` instead of top-level functions. Migration is mechanical: prepend `ClampHelpers.` to each call. Renames: + - `flipRect(...)` → `ClampHelpers.flipRect(...)` + - `getFlipForRect(...)` → `ClampHelpers.getFlipForRect(...)` + - `scaledSymmetricClampingRect(...)` → `ClampHelpers.scaledSymmetricClampingRect(...)` + - `getClosestEdge(...)` → `ClampHelpers.getClosestEdge(...)` + - `getClampingRectForSideHandle(...)` → `ClampHelpers.getClampingRectForSideHandle(...)` + - `intersectionBetweenTwoLines(...)` → `ClampHelpers.intersectionBetweenTwoLines(...)` + - `extendLineToRect(...)` → `ClampHelpers.extendLineToRect(...)` + - `extendLinePointsToRectPoints(...)` → `ClampHelpers.extendLinePointsToRectPoints(...)` + - `intersectionBetweenRects(...)` → `ClampHelpers.intersectionBetweenRects(...)` + - `findLineIntersection(...)` → `ClampHelpers.findLineIntersection(...)` + - `getAvailableAreaForHandle(...)` → `ClampHelpers.getAvailableAreaForHandle(...)` + - `getClampingRectForHandle(...)` → `ClampHelpers.getClampingRectForHandle(...)` + - `getClampingRectForCornerHandle(...)` → `ClampHelpers.getClampingRectForCornerHandle(...)` + - `constrainAvailableAreaForScaling(...)` → `ClampHelpers.constrainAvailableAreaForScaling(...)` + - `getMinRectForScaling(...)` → `ClampHelpers.getMinRectForScaling(...)` + - `isValidRect(...)` → `ClampHelpers.isValidRect(...)` + - `calculateBoundingRect(...)` → `ClampHelpers.calculateBoundingRect(...)` + - `rotatePointAround(...)` → `ClampHelpers.rotatePointAround(...)` + - `worldToUnrotated(...)` → `ClampHelpers.worldToUnrotated(...)` + - `unrotatedToWorld(...)` → `ClampHelpers.unrotatedToWorld(...)` + ## 0.4.4 - Update root pubspec.yaml name from box_transform to melos_box_transform. diff --git a/packages/box_transform/README.md b/packages/box_transform/README.md index 99aaa96..a349714 100644 --- a/packages/box_transform/README.md +++ b/packages/box_transform/README.md @@ -2,7 +2,7 @@ # Box Transform -[![melos](https://img.shields.io/badge/maintained%20with-melos-f700ff.svg?style=flat-square)](https://github.com/invertase/melos) [![Build](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml/badge.svg)](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml) [![Tests](https://github.com/hyper-designed/box_transform/workflows/Tests/badge.svg?branch=main)](https://github.com/hyper-designed/box_transform/actions) [![Pub Version](https://img.shields.io/pub/v/box_transform?label=Pub)](https://pub.dev/packages/box_transform) +[![Build](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml/badge.svg)](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml) [![Tests](https://github.com/hyper-designed/box_transform/workflows/Tests/badge.svg?branch=main)](https://github.com/hyper-designed/box_transform/actions) [![Pub Version](https://img.shields.io/pub/v/box_transform?label=Pub)](https://pub.dev/packages/box_transform) [Box Transform](https://github.com/hyper-designed/box_transform) is a pure-Dart base package that allows you to programmatically handle box resizing and dragging without relying on Flutter. It provides highly flexible, @@ -17,6 +17,13 @@ programmatically resizable and draggable boxes that can be used in any Dart proj * 🎨 **Flexible Resizing Modes:** Choose from four different resizing modes for more flexibility in how boxes are resized. * 📍 **Customizable Anchor Points:** Define resizing corner-handles to anchor different parts of the box when resizing. +* 🌀 **Rotation Support:** First-class rotation around the box's center via `Box.rotation` plus a dedicated + `BoxTransformer.rotate(...)` entry point. Move, resize, scale, symmetric, side-handle, and force-flip all work + under arbitrary rotation. `BindingStrategy.originalBox` keeps the unrotated logical rect inside the clamp, while + `BindingStrategy.boundingBox` keeps the rendered AABB (rotated corners + unrotated rect) fully contained. Rotation + gestures use slide-then-freeze: the box slides into available clamp slack to honor the requested angle, capping at + the last feasible angle when no translation rescues it. `RotateResult.feasible` and `ResizeResult.feasible` expose + this signal to callers (`false` ⇒ engine could not honor the gesture; the controller holds the last feasible state). * 🚀 **Easy Integration:** Integrate Box Transform into your Dart or Flutter project with ease. ## Getting started diff --git a/packages/box_transform/benchmark/comprehensive_bench.dart b/packages/box_transform/benchmark/comprehensive_bench.dart new file mode 100644 index 0000000..940949d --- /dev/null +++ b/packages/box_transform/benchmark/comprehensive_bench.dart @@ -0,0 +1,532 @@ +// Comprehensive combinatorial benchmark suite for box_transform. +// +// Methodology: +// +// * Each scenario runs `kBatches` batches of `kBatchSize` calls. Per-call +// wall time is computed as batch_us * 1000 / batchSize, then we report +// percentiles across batches (min/p50/mean/p95/p99/max). Batching amortizes +// Stopwatch overhead (~30-100 ns/start-stop) below 1% of measurement. See +// Shipilëv, "Nanotrusting the Nanotime", https://shipilev.net/blog/2014/nanotrusting-nanotime/ +// for the canonical writeup of why naive start;op;stop loops lie. +// +// * `kWarmup` calls precede measurement to reach steady state. Matters even +// in AOT for cold-cache effects, and in JIT for tier-up. The warmup-then- +// measure pattern is JMH's idiom and is the same pattern Dart's official +// `package:benchmark_harness` uses (https://pub.dev/packages/benchmark_harness). +// +// * A global `sink` accumulates result hashes so AOT cannot elide the work. +// Direct adaptation of JMH's `Blackhole` sink; see Oracle, "Avoiding +// Benchmarking Pitfalls on the JVM", https://www.oracle.com/technical-resources/articles/java/architect-benchmarking.html +// for the dead-code-elimination problem this solves. Dart-side guidance +// from Egorov, "Microbenchmarking Dart, Part 1", +// https://mrale.ph/blog/2021/01/21/microbenchmarking-dart-part-1.html. +// +// * We report p95/p99/max alongside the mean so the tail is visible (GC +// pauses, OS context switches, slow-path branches). Reporting only the +// mean hides those; see Gil Tene's coordinated-omission writeups and +// HdrHistogram (https://github.com/HdrHistogram/HdrHistogram). +// +// * Scenarios are generated from axis grids, not hand-rolled. Guarantees +// coverage and makes the matrix self-documenting. +// +// Run with AOT for production-equivalent numbers: +// dart compile exe benchmark/comprehensive_bench.dart -o /tmp/bbench +// /tmp/bbench + +import 'dart:io'; +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:vector_math/vector_math_64.dart'; + +// Warmup count and batch dimensions adapted from JMH's warmup-then-measure +// shape, collapsed into a single process (Dart's AOT does not need JMH's +// fork isolation). See https://openjdk.org/projects/code-tools/jmh/. +const int kWarmup = 4000; +const int kBatches = 25; +const int kBatchSize = 4000; + +/// Sink to defeat dead-code elimination. Each benchmark XORs result bits +/// into this. Print at end so AOT must keep the work. +/// +/// Same pattern as JMH's `Blackhole.consume(...)`. Without it, the AOT +/// compiler is free to delete the measured loop because no observable +/// state depends on the result. See Oracle's "Avoiding Benchmarking +/// Pitfalls on the JVM" and Egorov's "Microbenchmarking Dart, Part 1" +/// (linked at the top of this file) for the underlying rationale. +int sink = 0; + +void main() { + _printHeader(); + + final results = []; + results.addAll(_moveScenarios()); + results.addAll(_resizeScenarios()); + results.addAll(_rotateScenarios()); + results.addAll(_reclampScenarios()); + + _printResults(results); + + // Force the compiler to keep all work. + stderr.writeln('# sink=${sink.toRadixString(16)}'); +} + +// --------------------------------------------------------------------------- +// Stats / harness +// --------------------------------------------------------------------------- + +/// Per-scenario statistics. p95/p99/max are reported alongside the mean +/// so the tail (GC pauses, context switches, slow-path branches) stays +/// visible. Collapsing the distribution to a single number is the +/// failure mode Gil Tene calls coordinated omission; see +/// https://github.com/HdrHistogram/HdrHistogram. +class Stats { + final double minNs, p50Ns, p95Ns, p99Ns, maxNs, meanNs, stddevNs; + Stats(this.minNs, this.p50Ns, this.p95Ns, this.p99Ns, this.maxNs, this.meanNs, + this.stddevNs); + + static Stats from(List nsPerOp) { + final s = List.from(nsPerOp)..sort(); + final n = s.length; + final mean = s.reduce((a, b) => a + b) / n; + var sq = 0.0; + for (final v in s) { + sq += (v - mean) * (v - mean); + } + final stddev = math.sqrt(sq / n); + // Compute percentiles by index into the sorted batch list. We sample + // p50, p95, p99 (plus min/max from the sorted ends) so the tail is + // visible alongside the mean. HdrHistogram convention; the tail is + // where coordinated-omission failures hide and where users feel + // slow frames. + double pct(double p) { + final idx = ((n - 1) * p).round(); + return s[idx]; + } + + return Stats( + s.first, pct(0.50), pct(0.95), pct(0.99), s.last, mean, stddev); + } +} + +class BenchResult { + final String category; + final String scenario; + final Stats stats; + BenchResult(this.category, this.scenario, this.stats); + double get opsPerSec => 1e9 / stats.meanNs; +} + +/// Run one warmup pass, then [kBatches] timed batches of [kBatchSize] calls. +/// `Stopwatch.elapsedMicroseconds` has ~30-100 ns of start/stop overhead on +/// modern CPUs; batching amortizes that below 0.1% of the per-op figure. +/// Pattern adapted from JMH and `package:benchmark_harness`; see +/// top-of-file references. +BenchResult _bench(String category, String scenario, void Function(int) fn) { + // Warmup: drive the AOT code through any cold-cache and tier-up + // effects before the first measured batch. JMH idiom; see + // `package:benchmark_harness` for the Dart equivalent. + fn(kWarmup); + final batchTimes = []; + for (int b = 0; b < kBatches; b++) { + // One Stopwatch start/stop per batch (not per op): ~30-100 ns of + // clock-source overhead is amortized across kBatchSize calls, + // dropping below 0.1% of the per-op figure. This is exactly the + // amortization Shipilëv argues for in "Nanotrusting the Nanotime"; + // a per-op start;op;stop loop would inflate every measurement by + // its own clock cost. + final sw = Stopwatch()..start(); + fn(kBatchSize); + sw.stop(); + // ns/op derived from microsecond resolution: micros × 1000 / N. + // Stopwatch.elapsedMicroseconds is the highest-resolution clock + // the Dart VM exposes that's portable across AOT and JIT. + batchTimes.add(sw.elapsedMicroseconds * 1000.0 / kBatchSize); + } + return BenchResult(category, scenario, Stats.from(batchTimes)); +} + +// --------------------------------------------------------------------------- +// Delta patterns +// +// Each pattern returns a (start: Vector2, fn: i -> Vector2) pair. The fn +// is what the loop calls; start is what we feed as initialLocalPosition. +// --------------------------------------------------------------------------- + +typedef DeltaPattern = ({Vector2 start, Vector2 Function(int i) at}); + +DeltaPattern _smooth(Vector2 origin) => ( + start: origin, + at: (i) => Vector2(origin.x + i * 0.1, origin.y + i * 0.07) + ); + +DeltaPattern _subpixel(Vector2 origin) => ( + start: origin, + at: (i) => Vector2(origin.x + i * 0.001, origin.y + i * 0.0007) + ); + +// PRNG with stable seed: ±1px jitter on top of slow drift. +DeltaPattern _jitter(Vector2 origin) { + final rng = math.Random(0xb0a); + return ( + start: origin, + at: (i) => Vector2( + origin.x + i * 0.05 + (rng.nextDouble() - 0.5) * 2, + origin.y + i * 0.03 + (rng.nextDouble() - 0.5) * 2, + ) + ); +} + +// Edge-saturated: pointer ranges WAY outside the clamp, forcing the +// projector/interval-clamp to pin every call. +DeltaPattern _saturated(Vector2 origin) => ( + start: origin, + at: (i) => + Vector2(origin.x + 5000.0 + i * 0.1, origin.y + 5000.0 + i * 0.1) + ); + +const _patterns = { + 'smooth': _smooth, + 'subpix': _subpixel, + 'jitter': _jitter, + 'saturated': _saturated, +}; + +// --------------------------------------------------------------------------- +// Geometry helpers for scenario building +// --------------------------------------------------------------------------- + +const _baseW = 100.0; +const _baseH = 100.0; +const _cx = 500.0; +const _cy = 500.0; + +Box _makeRect(double rotation) => + Box.fromLTWH(_cx - _baseW / 2, _cy - _baseH / 2, _baseW, _baseH, + rotation: rotation); + +Box _makeClamp(String mode, double rotation) { + // 'none' uses Box.largest. 'loose' = generous container. 'saturated' = + // exactly the bounding rect of the rotated box (single feasible point + // for move; minimal slack for resize). + switch (mode) { + case 'none': + return Box.largest; + case 'loose': + return Box.fromLTRB(0, 0, 1000, 1000); + case 'saturated': + final rect = _makeRect(rotation); + final br = ClampHelpers.calculateBoundingRect(rect); + return Box.fromLTRB(br.left, br.top, br.right, br.bottom); + default: + throw ArgumentError(mode); + } +} + +Constraints _makeConstraints(String mode) { + switch (mode) { + case 'none': + return const Constraints.unconstrained(); + case 'loose': + return const Constraints( + minWidth: 10, maxWidth: 1000, minHeight: 10, maxHeight: 1000); + case 'tight': + // Centered tightly around current size (100×100); exercises min/max + // hit paths since the projector pins to bounds frequently. + return const Constraints( + minWidth: 90, maxWidth: 110, minHeight: 90, maxHeight: 110); + default: + throw ArgumentError(mode); + } +} + +// --------------------------------------------------------------------------- +// MOVE scenarios +// --------------------------------------------------------------------------- + +Iterable _moveScenarios() sync* { + final rotations = <(String, double)>[ + ('θ=0', 0.0), + ('θ=π/6', math.pi / 6), + ]; + final clamps = ['none', 'loose', 'saturated']; + final strategies = <(String, BindingStrategy)>[ + ('orig', BindingStrategy.originalBox), + ('bbox', BindingStrategy.boundingBox), + ]; + for (final (rotLabel, rotation) in rotations) { + for (final clampMode in clamps) { + for (final (stratLabel, strat) in strategies) { + // Strategy is meaningless at θ=0; only run once. + if (rotation == 0.0 && stratLabel != 'orig') continue; + for (final patternName in _patterns.keys) { + final pattern = _patterns[patternName]!(Vector2(_cx, _cy)); + final rect = _makeRect(rotation); + final clamp = _makeClamp(clampMode, rotation); + + final label = rotation == 0.0 + ? 'clamp=$clampMode | delta=$patternName | $rotLabel' + : 'clamp=$clampMode | delta=$patternName | $rotLabel | strat=$stratLabel'; + + yield _bench('MOVE', label, (n) { + for (int i = 0; i < n; i++) { + final r = BoxTransformer.move( + initialRect: rect, + initialLocalPosition: pattern.start, + localPosition: pattern.at(i), + clampingRect: clamp, + rotation: rotation, + bindingStrategy: strat, + ); + // XOR result bits into the global `sink` so AOT cannot + // dead-code-eliminate the whole loop. JMH `Blackhole` + // pattern; see top-of-file references. + sink ^= r.rect.left.toInt(); + } + }); + } + } + } + } +} + +// --------------------------------------------------------------------------- +// RESIZE scenarios: mode × rotation × clamping × constraints × strategy × delta. +// --------------------------------------------------------------------------- + +Iterable _resizeScenarios() sync* { + final modes = <(String, ResizeMode)>[ + ('free', ResizeMode.freeform), + ('scale', ResizeMode.scale), + ('sym', ResizeMode.symmetric), + ('symscale', ResizeMode.symmetricScale), + ]; + final rotations = <(String, double)>[ + ('θ=0', 0.0), + ('θ=π/6', math.pi / 6), + ]; + final clamps = ['none', 'loose', 'saturated']; + final cons = ['none', 'loose', 'tight']; + final strategies = <(String, BindingStrategy)>[ + ('orig', BindingStrategy.originalBox), + ('bbox', BindingStrategy.boundingBox), + ]; + + // Pointer originates at the unrotated bottom-right corner of the rect. + final start = Vector2(_cx + _baseW / 2, _cy + _baseH / 2); + + for (final (modeLabel, mode) in modes) { + for (final (rotLabel, rotation) in rotations) { + for (final clampMode in clamps) { + for (final consMode in cons) { + for (final (stratLabel, strat) in strategies) { + if (rotation == 0.0 && stratLabel != 'orig') continue; + for (final patternName in _patterns.keys) { + final pattern = _patterns[patternName]!(start); + final rect = _makeRect(rotation); + final clamp = _makeClamp(clampMode, rotation); + final constraints = _makeConstraints(consMode); + + final label = rotation == 0.0 + ? 'mode=$modeLabel | clamp=$clampMode | cons=$consMode | delta=$patternName | $rotLabel' + : 'mode=$modeLabel | clamp=$clampMode | cons=$consMode | delta=$patternName | $rotLabel | strat=$stratLabel'; + + yield _bench('RESIZE', label, (n) { + for (int i = 0; i < n; i++) { + final r = BoxTransformer.resize( + initialRect: rect, + initialLocalPosition: pattern.start, + localPosition: pattern.at(i), + handle: HandlePosition.bottomRight, + resizeMode: mode, + initialFlip: Flip.none, + clampingRect: clamp, + constraints: constraints, + rotation: rotation, + bindingStrategy: strat, + ); + sink ^= + r.rect.right.toInt(); // sink fold; see _moveScenarios. + } + }); + } + } + } + } + } + } +} + +// --------------------------------------------------------------------------- +// ROTATE scenarios: single op, no real combinatorics, vary delta only. +// --------------------------------------------------------------------------- + +Iterable _rotateScenarios() sync* { + final rect = _makeRect(0.0); + final start = Vector2(_cx + _baseW, _cy); + for (final patternName in _patterns.keys) { + final pattern = _patterns[patternName]!(start); + yield _bench('ROTATE', 'delta=$patternName', (n) { + for (int i = 0; i < n; i++) { + final r = BoxTransformer.rotate( + initialRect: rect, + initialLocalPosition: pattern.start, + localPosition: pattern.at(i), + initialRotation: 0.0, + ); + sink ^= r.rotation.toInt(); // sink fold; see _moveScenarios. + } + }); + } +} + +// --------------------------------------------------------------------------- +// RECLAMP: "the parent container shrinks while a box is inside it". +// We model this as zero-delta `move()` with a clamp that shrinks each tick. +// This is what a UI controller does when the parent's available space changes. +// --------------------------------------------------------------------------- + +Iterable _reclampScenarios() sync* { + final rotations = <(String, double)>[ + ('θ=0', 0.0), + ('θ=π/6', math.pi / 6), + ]; + // Three patterns of clamp-shrinkage: + // * 'shrink-loose': clamp starts huge, shrinks 1px/tick, never crosses box. + // * 'shrink-touch': clamp shrinks until it kisses the bounding rect. + // * 'shrink-cross': clamp shrinks past the bounding rect (infeasibility). + final patterns = { + 'shrink-loose': (i, rot) => Box.fromLTRB( + 200.0 - i * 0.1, + 200.0 - i * 0.1, + 800.0 + i * 0.1, + 800.0 + i * 0.1, + ), + 'shrink-touch': (i, rot) { + // Linearly interpolate from huge clamp toward exact bounding rect. + final rect = _makeRect(rot); + final br = ClampHelpers.calculateBoundingRect(rect); + final t = (i % 1000) / 1000.0; // 0..1 cycling + return Box.fromLTRB( + 50 + (br.left - 50) * t, + 50 + (br.top - 50) * t, + 950 + (br.right - 950) * t, + 950 + (br.bottom - 950) * t, + ); + }, + 'shrink-cross': (i, rot) { + // Past the bounding rect (infeasible global interval); exercises the + // collapse-to-midpoint sanitiser. + final rect = _makeRect(rot); + final br = ClampHelpers.calculateBoundingRect(rect); + final shrinkPx = (i % 100) * 0.1; // up to 10px of infeasibility + return Box.fromLTRB( + br.left + shrinkPx, + br.top + shrinkPx, + br.right - shrinkPx, + br.bottom - shrinkPx, + ); + }, + }; + + for (final (rotLabel, rotation) in rotations) { + final rect = _makeRect(rotation); + final start = Vector2(_cx, _cy); + for (final entry in patterns.entries) { + final patternName = entry.key; + final clampFn = entry.value; + yield _bench('RECLAMP', 'pattern=$patternName | $rotLabel', (n) { + for (int i = 0; i < n; i++) { + final clamp = clampFn(i, rotation); + final r = BoxTransformer.move( + initialRect: rect, + initialLocalPosition: start, + localPosition: start, + clampingRect: clamp, + rotation: rotation, + ); + sink ^= r.rect.left.toInt(); // sink fold; see _moveScenarios. + } + }); + } + } +} + +// --------------------------------------------------------------------------- +// Output formatting +// --------------------------------------------------------------------------- + +void _printHeader() { + print('# box_transform: comprehensive benchmark report'); + print(''); + print('## Environment'); + print('- Dart: ${Platform.version}'); + print('- OS: ${Platform.operatingSystem} ${Platform.operatingSystemVersion}'); + print('- Mode: ${_isAot() ? 'AOT' : 'JIT'}'); + print(''); + print('## Methodology'); + print('- $kBatches batches × $kBatchSize calls per scenario after $kWarmup ' + 'warmup calls.'); + print('- ns/op = batch_us × 1000 / batchSize. Stopwatch overhead amortizes ' + 'to <0.1% of measurement.'); + print('- Reported: min, p50, mean, p95, p99, max across batches; ops/sec ' + 'derived from mean.'); + print('- Sink XOR-fold of every result blocks dead-code elimination.'); + print('- Scenarios cover the orthogonal axes of box_transform: operation × ' + 'rotation × clamping state × constraints × binding strategy × pointer ' + 'delta pattern.'); + print(''); +} + +void _printResults(List all) { + // Group by category. + final byCat = >{}; + for (final r in all) { + byCat.putIfAbsent(r.category, () => []).add(r); + } + + // Headline summary first. + print('## Headline numbers (mean ns/op)'); + print(''); + print('| Category | Min | Median | Max | Cells |'); + print('|---|---:|---:|---:|---:|'); + for (final cat in byCat.keys) { + final means = byCat[cat]!.map((r) => r.stats.meanNs).toList()..sort(); + final n = means.length; + final mn = means.first.toStringAsFixed(0); + final med = means[n ~/ 2].toStringAsFixed(0); + final mx = means.last.toStringAsFixed(0); + print('| $cat | $mn | $med | $mx | $n |'); + } + print(''); + + for (final cat in byCat.keys) { + print('## $cat: ${byCat[cat]!.length} scenarios'); + print(''); + print('| Scenario | min | p50 | mean | p95 | p99 | max | ops/sec |'); + print('|---|---:|---:|---:|---:|---:|---:|---:|'); + final list = byCat[cat]!.toList() + ..sort((a, b) => a.scenario.compareTo(b.scenario)); + for (final r in list) { + final s = r.stats; + print('| ${r.scenario} ' + '| ${s.minNs.toStringAsFixed(0)} ' + '| ${s.p50Ns.toStringAsFixed(0)} ' + '| ${s.meanNs.toStringAsFixed(0)} ' + '| ${s.p95Ns.toStringAsFixed(0)} ' + '| ${s.p99Ns.toStringAsFixed(0)} ' + '| ${s.maxNs.toStringAsFixed(0)} ' + '| ${r.opsPerSec.toStringAsFixed(0)} |'); + } + print(''); + } +} + +bool _isAot() { + bool aot = true; + assert(() { + aot = false; + return true; + }()); + return aot; +} diff --git a/packages/box_transform/lib/box_transform.dart b/packages/box_transform/lib/box_transform.dart index c4a5689..975e2ac 100644 --- a/packages/box_transform/lib/box_transform.dart +++ b/packages/box_transform/lib/box_transform.dart @@ -1,3 +1,8 @@ +/// A pure Dart implementation of advanced 2D box transformation. +/// +/// Provides primitives for moving, resizing, scaling, flipping, and rotating +/// rectangles, with support for clamping rects, constraints, and binding +/// strategies for rotated boxes. library; export 'src/enums.dart'; @@ -5,4 +10,5 @@ export 'src/extensions.dart' hide DoubleExt; export 'src/geometry.dart'; export 'src/helpers.dart'; export 'src/result.dart'; +export 'src/rotated_clamping_solver.dart'; export 'src/transformer.dart'; diff --git a/packages/box_transform/lib/src/enums.dart b/packages/box_transform/lib/src/enums.dart index aa0bac5..8d601e8 100644 --- a/packages/box_transform/lib/src/enums.dart +++ b/packages/box_transform/lib/src/enums.dart @@ -1,4 +1,4 @@ -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'geometry.dart'; @@ -303,7 +303,7 @@ enum Flip { /// Creates a new [Flip] by combining this [Flip] with the given. /// See [influencedBy] for more details. - operator *(Flip other) => influencedBy(other); + Flip operator *(Flip other) => influencedBy(other); /// Creates a new [Flip] by combining this [Flip] with the given /// [other] flip making the resulting flip influenced by [other]. @@ -413,3 +413,25 @@ enum ResizeMode { /// w.r.t the center. bool get hasSymmetry => isSymmetric || isSymmetricScale; } + +/// Controls whether size and clamping constraints apply to the box's unrotated +/// dimensions or to its rendered axis-aligned bounding box. +/// +/// This only matters when [Box.rotation] is non-zero. +enum BindingStrategy { + /// Constraints and clamping apply to the box's unrotated [Box.width] and + /// [Box.height]. The rotated corners may extend beyond the clamping rect + /// if rotation makes them do so. + /// + /// Typical intent: "my image is intrinsically 100x100; keep the logical + /// image on-screen." + originalBox, + + /// Constraints and clamping apply to the rendered axis-aligned bounding + /// box of the rotated box. The rotated corners are guaranteed to stay + /// within the clamping rect. + /// + /// Typical intent: "I want the rendered footprint to stay 100px wide + /// regardless of rotation angle." + boundingBox, +} diff --git a/packages/box_transform/lib/src/extensions.dart b/packages/box_transform/lib/src/extensions.dart index a7dc0bd..40b24ed 100644 --- a/packages/box_transform/lib/src/extensions.dart +++ b/packages/box_transform/lib/src/extensions.dart @@ -1,26 +1,61 @@ -import 'package:vector_math/vector_math.dart'; +import 'dart:math' as math; + +import 'package:vector_math/vector_math_64.dart'; import 'geometry.dart'; import 'result.dart'; /// Provides convenient getters for [TransformResult]. extension RawTransformResultExt on RawTransformResult { - /// Convenient getter for [box.size]. + /// Convenient getter for the size of [rect]. Dimension get size => rect.size; - /// Convenient getter for [box.topLeft]. + /// Convenient getter for the top-left of [rect]. Vector2 get position => rect.topLeft; - /// Convenient getter for [oldBox.size]. + /// Convenient getter for the size of [oldRect]. Dimension get oldSize => oldRect.size; - /// Convenient getter for [oldBox.topLeft]. + /// Convenient getter for the top-left of [oldRect]. Vector2 get oldPosition => oldRect.topLeft; } +/// Pre-computed `10^n` for `n ∈ [0..9]`. Avoids both `math.pow` (which +/// promotes int→double on each call) and recomputation in the hot path. +const List _kPowersOfTen = [ + 1.0, + 10.0, + 100.0, + 1000.0, + 10000.0, + 100000.0, + 1000000.0, + 10000000.0, + 100000000.0, + 1000000000.0, +]; + /// Extensions for double. extension DoubleExt on double { - /// Rounds a double to the given precision. - double roundToPrecision(int precision) => - double.parse((this).toStringAsFixed(precision)); + /// Rounds this double to [precision] decimal places. + /// + /// Implementation: scale by `10^precision`, round to the nearest integer + /// (Dart's [num.round] rounds half-away-from-zero), then descale. This is + /// ~25× faster than the previous `double.parse(toStringAsFixed(p))` form + /// — the string round-trip dominated `isValidRect` in the AA-resize hot + /// path. Note: differs from `toStringAsFixed` at exact halves + /// (banker's-rounding vs away-from-zero), which is irrelevant to the + /// tolerance-style comparisons this is used for. + double roundToPrecision(int precision) { + // Pass through non-finite (Infinity, -Infinity, NaN). `isValidRect` calls + // this on `Constraints.maxWidth`/`maxHeight` which sentinel-encode "no + // upper bound" as `double.infinity`; the old string round-trip handled + // these gracefully via `double.parse("Infinity")`, but `infinity.round()` + // throws. + if (!isFinite) return this; + final double mod = (precision >= 0 && precision < _kPowersOfTen.length) + ? _kPowersOfTen[precision] + : math.pow(10.0, precision).toDouble(); + return (this * mod).round() / mod; + } } diff --git a/packages/box_transform/lib/src/geometry.dart b/packages/box_transform/lib/src/geometry.dart index 9e59cec..21e1646 100644 --- a/packages/box_transform/lib/src/geometry.dart +++ b/packages/box_transform/lib/src/geometry.dart @@ -1,6 +1,6 @@ import 'dart:math' as math; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import '../box_transform.dart'; @@ -95,10 +95,15 @@ class Constraints { int get hashCode => Object.hash(minWidth, maxWidth, minHeight, maxHeight); } -/// Linearly interpolate between two doubles. -/// -/// Same as [lerpDouble] but specialized for non-null `double` type. -double _lerpDouble(double a, double b, double t) => a * (1.0 - t) + b * t; +/// Internal geometry helpers. +abstract final class Geometry { + const Geometry._(); + + /// Linearly interpolate between two doubles. + /// + /// Same as [lerpDouble] but specialized for non-null `double` type. + static double _lerp(double a, double b, double t) => a * (1.0 - t) + b * t; +} /// A 2D size with [width] and [height]. class Dimension { @@ -162,11 +167,6 @@ class Dimension { static const Dimension zero = Dimension(0.0, 0.0); /// A size whose [width] and [height] are infinite. - /// - /// See also: - /// - /// * [isInfinite], which checks whether either dimension is infinite. - /// * [isFinite], which checks whether both dimensions are finite. static const Dimension infinite = Dimension(double.infinity, double.infinity); /// Removes [other] from this size. @@ -319,10 +319,10 @@ class Dimension { /// meaning that the interpolation is at the relevant point on the timeline /// between `a` and `b`. The interpolation can be extrapolated beyond 0.0 and /// 1.0, so negative values and values greater than 1.0 are valid (and can - /// easily be generated by curves such as [Curves.elasticInOut]). + /// easily be generated by curves such as `Curves.elasticInOut`). /// - /// Values for `t` are usually obtained from an [Animation], such as - /// an [AnimationController]. + /// Values for `t` are usually obtained from an `Animation`, such as + /// an `AnimationController`. static Dimension? lerp(Dimension? a, Dimension? b, double t) { if (b == null) { if (a == null) { @@ -334,8 +334,8 @@ class Dimension { if (a == null) { return b * t; } else { - return Dimension(_lerpDouble(a.width, b.width, t), - _lerpDouble(a.height, b.height, t)); + return Dimension(Geometry._lerp(a.width, b.width, t), + Geometry._lerp(a.height, b.height, t)); } } } @@ -365,24 +365,42 @@ class Dimension { /// ``` class Box { /// Construct a rectangle from its left, top, right, and bottom edges. - const Box.fromLTRB(this.left, this.top, this.right, this.bottom); + /// + /// [rotation] is in radians, clockwise, around the box center. Defaults + /// to 0 (axis-aligned). + const Box.fromLTRB( + this.left, + this.top, + this.right, + this.bottom, { + this.rotation = 0.0, + }); /// Construct a rectangle from its left and top edges, its width, and its /// height. /// - /// To construct a [Box] from an [Vector2] and a [Dimension], you can use the - /// rectangle constructor operator `&`. See [Vector2.&]. - const Box.fromLTWH(double left, double top, double width, double height) - : this.fromLTRB(left, top, left + width, top + height); + /// To construct a [Box] from a [Vector2] and a [Dimension], you can use the + /// rectangle constructor operator `&`. See `Vector2.&`. + const Box.fromLTWH( + double left, + double top, + double width, + double height, { + double rotation = 0.0, + }) : this.fromLTRB(left, top, left + width, top + height, rotation: rotation); /// Construct a rectangle that bounds the given circle. /// /// The `center` argument is assumed to be an Vector2 from the origin. - Box.fromCircle({required Vector2 center, required double radius}) - : this.fromCenter( + Box.fromCircle({ + required Vector2 center, + required double radius, + double rotation = 0.0, + }) : this.fromCenter( center: center, width: radius * 2, height: radius * 2, + rotation: rotation, ); /// Constructs a rectangle from its center point, width, and height. @@ -392,47 +410,63 @@ class Box { required Vector2 center, required double width, required double height, + double rotation = 0.0, }) : this.fromLTRB( center.x - width / 2, center.y - height / 2, center.x + width / 2, center.y + height / 2, + rotation: rotation, ); /// Construct the smallest rectangle that encloses the given Vector2s, treating /// them as vectors from the origin. - Box.fromPoints(Vector2 a, Vector2 b) + Box.fromPoints(Vector2 a, Vector2 b, {double rotation = 0.0}) : this.fromLTRB( math.min(a.x, b.x), math.min(a.y, b.y), math.max(a.x, b.x), math.max(a.y, b.y), + rotation: rotation, ); /// Construct a rectangle from given handle and its origin. factory Box.fromHandle( - Vector2 origin, HandlePosition handle, double width, double height) { + Vector2 origin, + HandlePosition handle, + double width, + double height, { + double rotation = 0.0, + }) { switch (handle) { case HandlePosition.none: throw ArgumentError('HandlePosition.none is not supported!'); case HandlePosition.topLeft: - return Box.fromLTWH(origin.x - width, origin.y - height, width, height); + return Box.fromLTWH(origin.x - width, origin.y - height, width, height, + rotation: rotation); case HandlePosition.topRight: - return Box.fromLTWH(origin.x, origin.y - height, width, height); + return Box.fromLTWH(origin.x, origin.y - height, width, height, + rotation: rotation); case HandlePosition.bottomLeft: - return Box.fromLTWH(origin.x - width, origin.y, width, height); + return Box.fromLTWH(origin.x - width, origin.y, width, height, + rotation: rotation); case HandlePosition.bottomRight: - return Box.fromLTWH(origin.x, origin.y, width, height); + return Box.fromLTWH(origin.x, origin.y, width, height, + rotation: rotation); case HandlePosition.left: return Box.fromLTWH( - origin.x - width, origin.y - height / 2, width, height); + origin.x - width, origin.y - height / 2, width, height, + rotation: rotation); case HandlePosition.top: return Box.fromLTWH( - origin.x - width / 2, origin.y - height, width, height); + origin.x - width / 2, origin.y - height, width, height, + rotation: rotation); case HandlePosition.right: - return Box.fromLTWH(origin.x, origin.y - height / 2, width, height); + return Box.fromLTWH(origin.x, origin.y - height / 2, width, height, + rotation: rotation); case HandlePosition.bottom: - return Box.fromLTWH(origin.x - width / 2, origin.y, width, height); + return Box.fromLTWH(origin.x - width / 2, origin.y, width, height, + rotation: rotation); } } @@ -448,6 +482,9 @@ class Box { /// The Vector2 of the bottom edge of this rectangle from the y axis. final double bottom; + /// Rotation in radians, clockwise, around the box center. Zero = axis-aligned. + final double rotation; + /// The distance between the left and right edges of this rectangle. double get width => right - left; @@ -494,8 +531,13 @@ class Box { /// /// To translate a rectangle by separate x and y components rather than by an /// [Vector2], consider [translate]. - Box shift(Vector2 vec) => - Box.fromLTRB(left + vec.x, top + vec.y, right + vec.x, bottom + vec.y); + Box shift(Vector2 vec) => Box.fromLTRB( + left + vec.x, + top + vec.y, + right + vec.x, + bottom + vec.y, + rotation: rotation, + ); /// Returns a new rectangle with translateX added to the x components and /// translateY added to the y components. @@ -507,11 +549,17 @@ class Box { top + translateY, right + translateX, bottom + translateY, + rotation: rotation, ); /// Returns a new rectangle with edges moved outwards by the given delta. - Box inflate(double delta) => - Box.fromLTRB(left - delta, top - delta, right + delta, bottom + delta); + Box inflate(double delta) => Box.fromLTRB( + left - delta, + top - delta, + right + delta, + bottom + delta, + rotation: rotation, + ); /// Returns a new rectangle with edges moved inwards by the given delta. Box deflate(double delta) => inflate(-delta); @@ -617,9 +665,7 @@ class Box { /// Constrains this box instance to the given [constraints]. /// - /// [constraints] the constraints to apply to this box. - /// - /// [returns] a new box instance. + /// Returns a new box instance. Box constrainBy(Constraints constraints) => constraints.constrainRect(this); /// Constrains the given [child] box instance within the bounds of this box. @@ -679,10 +725,10 @@ class Box { /// meaning that the interpolation is at the relevant point on the timeline /// between `a` and `b`. The interpolation can be extrapolated beyond 0.0 and /// 1.0, so negative values and values greater than 1.0 are valid (and can - /// easily be generated by curves such as [Curves.elasticInOut]). + /// easily be generated by curves such as `Curves.elasticInOut`). /// - /// Values for `t` are usually obtained from an [Animation], such as - /// an [AnimationController]. + /// Values for `t` are usually obtained from an `Animation`, such as + /// an `AnimationController`. static Box? lerp(Box? a, Box? b, double t) { if (b == null) { if (a == null) { @@ -696,10 +742,10 @@ class Box { return Box.fromLTRB(b.left * t, b.top * t, b.right * t, b.bottom * t); } else { return Box.fromLTRB( - _lerpDouble(a.left, b.left, t), - _lerpDouble(a.top, b.top, t), - _lerpDouble(a.right, b.right, t), - _lerpDouble(a.bottom, b.bottom, t), + Geometry._lerp(a.left, b.left, t), + Geometry._lerp(a.top, b.top, t), + Geometry._lerp(a.right, b.right, t), + Geometry._lerp(a.bottom, b.bottom, t), ); } } @@ -713,13 +759,15 @@ class Box { other.left == left && other.top == top && other.right == right && - other.bottom == bottom; + other.bottom == bottom && + other.rotation == rotation; } @override - int get hashCode => Object.hash(left, top, right, bottom); + int get hashCode => Object.hash(left, top, right, bottom, rotation); @override - String toString() => - 'Box.fromLTRB(${left.toStringAsFixed(1)}, ${top.toStringAsFixed(1)}, ${right.toStringAsFixed(1)}, ${bottom.toStringAsFixed(1)})'; + String toString() => rotation == 0.0 + ? 'Box.fromLTRB(${left.toStringAsFixed(1)}, ${top.toStringAsFixed(1)}, ${right.toStringAsFixed(1)}, ${bottom.toStringAsFixed(1)})' + : 'Box.fromLTRB(${left.toStringAsFixed(1)}, ${top.toStringAsFixed(1)}, ${right.toStringAsFixed(1)}, ${bottom.toStringAsFixed(1)}, rotation: ${rotation.toStringAsFixed(4)})'; } diff --git a/packages/box_transform/lib/src/helpers.dart b/packages/box_transform/lib/src/helpers.dart index 6285e5c..c437ffe 100644 --- a/packages/box_transform/lib/src/helpers.dart +++ b/packages/box_transform/lib/src/helpers.dart @@ -1,569 +1,676 @@ import 'dart:math'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'enums.dart'; import 'extensions.dart'; import 'geometry.dart'; -/// Flips the given [rect] with given [flip] with [handle] being the -/// pivot point. -Box flipRect(Box rect, Flip flip, HandlePosition handle) { - switch (handle) { - case HandlePosition.none: - throw ArgumentError('HandlePosition.none is not supported!'); - case HandlePosition.topLeft: - return rect.translate( - flip.isHorizontal ? rect.width : 0, - flip.isVertical ? rect.height : 0, - ); - case HandlePosition.topRight: - return rect.translate( - flip.isHorizontal ? -rect.width : 0, - flip.isVertical ? rect.height : 0, - ); - case HandlePosition.bottomLeft: - return rect.translate( - flip.isHorizontal ? rect.width : 0, - flip.isVertical ? -rect.height : 0, - ); - case HandlePosition.bottomRight: - return rect.translate( - flip.isHorizontal ? -rect.width : 0, - flip.isVertical ? -rect.height : 0, - ); - case HandlePosition.left: - return rect.translate( - flip.isHorizontal ? rect.width : 0, - 0, - ); - case HandlePosition.top: - return rect.translate( - 0, - flip.isVertical ? rect.height : 0, - ); - case HandlePosition.right: - return rect.translate( - flip.isHorizontal ? -rect.width : 0, - 0, - ); - case HandlePosition.bottom: - return rect.translate( - 0, - flip.isVertical ? -rect.height : 0, - ); +/// Static helpers for axis-aligned box clamping, handle resolution, +/// flip-aware resizing, and 2-D line / rect intersection geometry. +/// +/// All members are `static`. The class cannot be constructed or extended. +abstract final class ClampHelpers { + const ClampHelpers._(); + + /// Flips the given [rect] with given [flip] with [handle] being the + /// pivot point. + static Box flipRect(Box rect, Flip flip, HandlePosition handle) { + switch (handle) { + case HandlePosition.none: + throw ArgumentError('HandlePosition.none is not supported!'); + case HandlePosition.topLeft: + return rect.translate( + flip.isHorizontal ? rect.width : 0, + flip.isVertical ? rect.height : 0, + ); + case HandlePosition.topRight: + return rect.translate( + flip.isHorizontal ? -rect.width : 0, + flip.isVertical ? rect.height : 0, + ); + case HandlePosition.bottomLeft: + return rect.translate( + flip.isHorizontal ? rect.width : 0, + flip.isVertical ? -rect.height : 0, + ); + case HandlePosition.bottomRight: + return rect.translate( + flip.isHorizontal ? -rect.width : 0, + flip.isVertical ? -rect.height : 0, + ); + case HandlePosition.left: + return rect.translate( + flip.isHorizontal ? rect.width : 0, + 0, + ); + case HandlePosition.top: + return rect.translate( + 0, + flip.isVertical ? rect.height : 0, + ); + case HandlePosition.right: + return rect.translate( + flip.isHorizontal ? -rect.width : 0, + 0, + ); + case HandlePosition.bottom: + return rect.translate( + 0, + flip.isVertical ? -rect.height : 0, + ); + } } -} -/// Calculates flip state of the given [rect] w.r.t [localPosition] and -/// [handle]. It uses [handle] and [localPosition] to determine the quadrant -/// of the [rect] and then checks if the [rect] is flipped in that quadrant. -Flip getFlipForRect( - Box rect, - Vector2 localPosition, - HandlePosition handle, - ResizeMode resizeMode, -) { - final double widthFactor = resizeMode.hasSymmetry ? 0.5 : 1; - final double heightFactor = resizeMode.hasSymmetry ? 0.5 : 1; + /// Calculates flip state of the given [rect] w.r.t [localPosition] and + /// [handle]. It uses [handle] and [localPosition] to determine the quadrant + /// of the [rect] and then checks if the [rect] is flipped in that quadrant. + static Flip getFlipForRect( + Box rect, + Vector2 localPosition, + HandlePosition handle, + ResizeMode resizeMode, + ) { + final double widthFactor = resizeMode.hasSymmetry ? 0.5 : 1; + final double heightFactor = resizeMode.hasSymmetry ? 0.5 : 1; - final double effectiveWidth = rect.width * widthFactor; - final double effectiveHeight = rect.height * heightFactor; + final double effectiveWidth = rect.width * widthFactor; + final double effectiveHeight = rect.height * heightFactor; - final double handleXFactor = handle.influencesLeft ? -1 : 1; - final double handleYFactor = handle.influencesTop ? -1 : 1; + final double handleXFactor = handle.influencesLeft ? -1 : 1; + final double handleYFactor = handle.influencesTop ? -1 : 1; - final double posX = effectiveWidth + localPosition.x * handleXFactor; - final double posY = effectiveHeight + localPosition.y * handleYFactor; + final double posX = effectiveWidth + localPosition.x * handleXFactor; + final double posY = effectiveHeight + localPosition.y * handleYFactor; - return Flip.fromValue(posX, posY); -} - -/// Returns a clamping rect for [ResizeMode.scaledSymmetric]. -Box scaledSymmetricClampingRect(Box initialRect, Box clampingRect) { - final closestHandle = getClosestEdge(initialRect, clampingRect); - - final initialAspectRatio = initialRect.width / initialRect.height; - - double width; - double height; - switch (closestHandle) { - case HandlePosition.top: - height = (initialRect.center.y - clampingRect.top) * 2; - width = height * initialAspectRatio; - break; - case HandlePosition.right: - width = (clampingRect.right - initialRect.center.x) * 2; - height = width / initialAspectRatio; - break; - case HandlePosition.bottom: - height = (clampingRect.bottom - initialRect.center.y) * 2; - width = height * initialAspectRatio; - break; - case HandlePosition.left: - width = (initialRect.center.x - clampingRect.left) * 2; - height = width / initialAspectRatio; - break; - default: - throw Exception('Unknown handle'); + return Flip.fromValue(posX, posY); } - return Box.fromCenter( - center: initialRect.center, - width: width, - height: height, - ); -} - -/// Returns the handle/edge of the [initialRect] that is closest to one of the -/// edge of [clampingRect] for [ResizeMode.scale]. -HandlePosition getClosestEdge( - Box initialRect, - Box clampingRect, { - HandlePosition? excludeHandle, -}) { - return intersectionBetweenRects( - outerRect: clampingRect, - innerRect: initialRect, - excludeHandle: excludeHandle, - ); -} - -/// Returns a clamping rect for given side handle that preserves aspect ratio. -Box getClampingRectForSideHandle({ - required Box initialRect, - required Box availableArea, - required HandlePosition handle, -}) { - final closestEdge = getClosestEdge( - initialRect, - availableArea, - excludeHandle: handle.opposite, - ); - - final initialAspectRatio = initialRect.width / initialRect.height; - - double width; - double height; - - switch (closestEdge) { - case HandlePosition.left: - width = (initialRect.center.x - availableArea.left) * 2; - height = width / initialAspectRatio; - break; - case HandlePosition.top: - height = (initialRect.center.y - availableArea.top) * 2; - width = height * initialAspectRatio; - break; - case HandlePosition.right: - width = (availableArea.right - initialRect.center.x) * 2; - height = width / initialAspectRatio; - break; - case HandlePosition.bottom: - height = (availableArea.bottom - initialRect.center.y) * 2; - width = height * initialAspectRatio; - break; - default: - throw Exception('Unsupported handle'); - } + /// Returns a clamping rect for [ResizeMode.symmetricScale]. + static Box scaledSymmetricClampingRect(Box initialRect, Box clampingRect) { + final closestHandle = getClosestEdge(initialRect, clampingRect); + + final initialAspectRatio = initialRect.width / initialRect.height; + + double width; + double height; + switch (closestHandle) { + case HandlePosition.top: + height = (initialRect.center.y - clampingRect.top) * 2; + width = height * initialAspectRatio; + break; + case HandlePosition.right: + width = (clampingRect.right - initialRect.center.x) * 2; + height = width / initialAspectRatio; + break; + case HandlePosition.bottom: + height = (clampingRect.bottom - initialRect.center.y) * 2; + width = height * initialAspectRatio; + break; + case HandlePosition.left: + width = (initialRect.center.x - clampingRect.left) * 2; + height = width / initialAspectRatio; + break; + default: + throw Exception('Unknown handle'); + } - switch (handle) { - case HandlePosition.none: - throw ArgumentError('HandlePosition.none is not supported!'); - case HandlePosition.left: - final maxWidth = min(width, initialRect.right - availableArea.left); - final maxHeight = maxWidth / initialAspectRatio; - return Box.fromLTWH( - initialRect.right - maxWidth, - initialRect.center.y - maxHeight / 2, - maxWidth, - maxHeight, - ); - case HandlePosition.top: - final maxHeight = min(height, initialRect.bottom - availableArea.top); - final maxWidth = maxHeight * initialAspectRatio; - return Box.fromLTWH( - initialRect.center.x - maxWidth / 2, - initialRect.bottom - maxHeight, - maxWidth, - maxHeight, - ); - case HandlePosition.right: - final maxWidth = min(width, availableArea.right - initialRect.left); - final maxHeight = maxWidth / initialAspectRatio; - - return Box.fromLTWH( - initialRect.centerLeft.x, - initialRect.centerLeft.y - maxHeight / 2, - maxWidth, - maxHeight, - ); - case HandlePosition.bottom: - final maxHeight = min(height, availableArea.bottom - initialRect.top); - final maxWidth = maxHeight * initialAspectRatio; - return Box.fromLTWH( - initialRect.center.x - maxWidth / 2, - initialRect.top, - maxWidth, - maxHeight, - ); - default: - throw Exception('Unsupported handle'); + return Box.fromCenter( + center: initialRect.center, + width: width, + height: height, + ); } -} -/// Returns a vector of the point of intersection between two given lines. -/// First two vectors [p1] and [p2] are the first line, and the second two -/// vectors [p3] and [p4] are the second line. -/// -/// [returns] The point of intersection. IF there is no intersection, then -/// the function returns null. -Vector2? intersectionBetweenTwoLines( - Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4) { - final double t = - ((p1.x - p3.x) * (p3.y - p4.y) - (p1.y - p3.y) * (p3.x - p4.x)) / - ((p1.x - p2.x) * (p3.y - p4.y) - (p1.y - p2.y) * (p3.x - p4.x)); - final double u = - ((p1.x - p3.x) * (p1.y - p2.y) - (p1.y - p3.y) * (p1.x - p2.x)) / - ((p1.x - p2.x) * (p3.y - p4.y) - (p1.y - p2.y) * (p3.x - p4.x)); - - if (0 <= t && t <= 1 && 0 <= u && u <= 1) { - return Vector2(p1.x + t * (p2.x - p1.x), p1.y + t * (p2.y - p1.y)); - } else { - return null; + /// Returns the handle/edge of the [initialRect] that is closest to one of + /// the edge of [clampingRect] for [ResizeMode.scale]. + static HandlePosition getClosestEdge( + Box initialRect, + Box clampingRect, { + HandlePosition? excludeHandle, + }) { + return intersectionBetweenRects( + outerRect: clampingRect, + innerRect: initialRect, + excludeHandle: excludeHandle, + ); } -} -/// Extends given line to the given rectangle such that it touches the -/// rectangle. -(Vector2, Vector2)? extendLineToRect(Box rect, Vector2 p1, Vector2 p2) { - final (double, double, double, double)? result = extendLinePointsToRectPoints( - rect.left, rect.top, rect.right, rect.bottom, p1.x, p1.y, p2.x, p2.y); + /// Returns a clamping rect for given side handle that preserves aspect + /// ratio. + static Box getClampingRectForSideHandle({ + required Box initialRect, + required Box availableArea, + required HandlePosition handle, + }) { + final closestEdge = getClosestEdge( + initialRect, + availableArea, + excludeHandle: handle.opposite, + ); - if (result == null) return null; + final initialAspectRatio = initialRect.width / initialRect.height; + + double width; + double height; + + switch (closestEdge) { + case HandlePosition.left: + width = (initialRect.center.x - availableArea.left) * 2; + height = width / initialAspectRatio; + break; + case HandlePosition.top: + height = (initialRect.center.y - availableArea.top) * 2; + width = height * initialAspectRatio; + break; + case HandlePosition.right: + width = (availableArea.right - initialRect.center.x) * 2; + height = width / initialAspectRatio; + break; + case HandlePosition.bottom: + height = (availableArea.bottom - initialRect.center.y) * 2; + width = height * initialAspectRatio; + break; + default: + throw Exception('Unsupported handle'); + } - return (Vector2(result.$1, result.$2), Vector2(result.$3, result.$4)); -} + switch (handle) { + case HandlePosition.none: + throw ArgumentError('HandlePosition.none is not supported!'); + case HandlePosition.left: + final maxWidth = min(width, initialRect.right - availableArea.left); + final maxHeight = maxWidth / initialAspectRatio; + return Box.fromLTWH( + initialRect.right - maxWidth, + initialRect.center.y - maxHeight / 2, + maxWidth, + maxHeight, + ); + case HandlePosition.top: + final maxHeight = min(height, initialRect.bottom - availableArea.top); + final maxWidth = maxHeight * initialAspectRatio; + return Box.fromLTWH( + initialRect.center.x - maxWidth / 2, + initialRect.bottom - maxHeight, + maxWidth, + maxHeight, + ); + case HandlePosition.right: + final maxWidth = min(width, availableArea.right - initialRect.left); + final maxHeight = maxWidth / initialAspectRatio; + + return Box.fromLTWH( + initialRect.centerLeft.x, + initialRect.centerLeft.y - maxHeight / 2, + maxWidth, + maxHeight, + ); + case HandlePosition.bottom: + final maxHeight = min(height, availableArea.bottom - initialRect.top); + final maxWidth = maxHeight * initialAspectRatio; + return Box.fromLTWH( + initialRect.center.x - maxWidth / 2, + initialRect.top, + maxWidth, + maxHeight, + ); + default: + throw Exception('Unsupported handle'); + } + } -/// Extends given line to the given rectangle such that it touches the -/// rectangle points. -(double, double, double, double)? extendLinePointsToRectPoints( - double left, - double top, - double right, - double bottom, - double x1, - double y1, - double x2, - double y2, -) { - if (y1 == y2) { - return (left, y1, right, y1); + /// Returns a vector of the point of intersection between two given lines. + /// First two vectors [p1] and [p2] are the first line, and the second two + /// vectors [p3] and [p4] are the second line. + /// + /// Returns the point of intersection. If there is no intersection, then + /// the function returns null. + static Vector2? intersectionBetweenTwoLines( + Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4) { + final double t = + ((p1.x - p3.x) * (p3.y - p4.y) - (p1.y - p3.y) * (p3.x - p4.x)) / + ((p1.x - p2.x) * (p3.y - p4.y) - (p1.y - p2.y) * (p3.x - p4.x)); + final double u = + ((p1.x - p3.x) * (p1.y - p2.y) - (p1.y - p3.y) * (p1.x - p2.x)) / + ((p1.x - p2.x) * (p3.y - p4.y) - (p1.y - p2.y) * (p3.x - p4.x)); + + if (0 <= t && t <= 1 && 0 <= u && u <= 1) { + return Vector2(p1.x + t * (p2.x - p1.x), p1.y + t * (p2.y - p1.y)); + } else { + return null; + } } - if (x1 == x2) { - return (x1, top, x1, bottom); + + /// Extends given line to the given rectangle such that it touches the + /// rectangle. + static (Vector2, Vector2)? extendLineToRect( + Box rect, Vector2 p1, Vector2 p2) { + final ( + double, + double, + double, + double + )? result = extendLinePointsToRectPoints( + rect.left, rect.top, rect.right, rect.bottom, p1.x, p1.y, p2.x, p2.y); + + if (result == null) return null; + + return (Vector2(result.$1, result.$2), Vector2(result.$3, result.$4)); } - double yForLeft = y1 + (y2 - y1) * (left - x1) / (x2 - x1); - double yForRight = y1 + (y2 - y1) * (right - x1) / (x2 - x1); - - double xForTop = x1 + (x2 - x1) * (top - y1) / (y2 - y1); - double xForBottom = x1 + (x2 - x1) * (bottom - y1) / (y2 - y1); - - if (top <= yForLeft && - yForLeft <= bottom && - top <= yForRight && - yForRight <= bottom) { - return (left, yForLeft, right, yForRight); - } else if (top <= yForLeft && yForLeft <= bottom) { - if (left <= xForBottom && xForBottom <= right) { - return (left, yForLeft, xForBottom, bottom); - } else if (left <= xForTop && xForTop <= right) { - return (left, yForLeft, xForTop, top); - } - } else if (top <= yForRight && yForRight <= bottom) { - if (left <= xForTop && xForTop <= right) { - return (xForTop, top, right, yForRight); + /// Extends given line to the given rectangle such that it touches the + /// rectangle points. + static (double, double, double, double)? extendLinePointsToRectPoints( + double left, + double top, + double right, + double bottom, + double x1, + double y1, + double x2, + double y2, + ) { + if (y1 == y2) { + return (left, y1, right, y1); } - if (left <= xForBottom && xForBottom <= right) { - return (xForBottom, bottom, right, yForRight); + if (x1 == x2) { + return (x1, top, x1, bottom); } - } else if (left <= xForTop && - xForTop <= right && - left <= xForBottom && - xForBottom <= right) { - return (xForTop, top, xForBottom, bottom); - } - return null; -} -/// Returns the intersection between the given rectangles with assumption that -/// [innerRect] is completely inside [outerRect]. The intersection is calculated -/// using the center of the [innerRect] and the corners of the [outerRect]. -/// Returns the closest edge/handle of [outerRect] to the [innerRect]. -HandlePosition intersectionBetweenRects({ - required Box outerRect, - required Box innerRect, - HandlePosition? excludeHandle, -}) { - final line1 = - extendLineToRect(outerRect, innerRect.center, innerRect.bottomRight)!; - - final line2 = - extendLineToRect(outerRect, innerRect.center, innerRect.topRight)!; - - final intersections1 = findLineIntersection( - line1.$1, - line1.$2, - outerRect, - innerRect, - ); - - intersections1.remove(excludeHandle); - - final intersections2 = findLineIntersection( - line2.$1, - line2.$2, - outerRect, - innerRect, - ); - - intersections2.remove(excludeHandle); - - final List> intersections = [ - ...intersections1.entries, - ...intersections2.entries, - ]; - - final closest = intersections.reduce((value, element) { - final valueDistance = value.value.distanceToSquared(innerRect.center); - final elementDistance = element.value.distanceToSquared(innerRect.center); - - if (valueDistance < elementDistance) { - return value; - } else { - return element; + double yForLeft = y1 + (y2 - y1) * (left - x1) / (x2 - x1); + double yForRight = y1 + (y2 - y1) * (right - x1) / (x2 - x1); + + double xForTop = x1 + (x2 - x1) * (top - y1) / (y2 - y1); + double xForBottom = x1 + (x2 - x1) * (bottom - y1) / (y2 - y1); + + if (top <= yForLeft && + yForLeft <= bottom && + top <= yForRight && + yForRight <= bottom) { + return (left, yForLeft, right, yForRight); + } else if (top <= yForLeft && yForLeft <= bottom) { + if (left <= xForBottom && xForBottom <= right) { + return (left, yForLeft, xForBottom, bottom); + } else if (left <= xForTop && xForTop <= right) { + return (left, yForLeft, xForTop, top); + } + } else if (top <= yForRight && yForRight <= bottom) { + if (left <= xForTop && xForTop <= right) { + return (xForTop, top, right, yForRight); + } + if (left <= xForBottom && xForBottom <= right) { + return (xForBottom, bottom, right, yForRight); + } + } else if (left <= xForTop && + xForTop <= right && + left <= xForBottom && + xForBottom <= right) { + return (xForTop, top, xForBottom, bottom); } - }); + return null; + } - return closest.key; -} + /// Returns the intersection between the given rectangles with assumption + /// that [innerRect] is completely inside [outerRect]. The intersection is + /// calculated using the center of the [innerRect] and the corners of the + /// [outerRect]. Returns the closest edge/handle of [outerRect] to the + /// [innerRect]. + static HandlePosition intersectionBetweenRects({ + required Box outerRect, + required Box innerRect, + HandlePosition? excludeHandle, + }) { + final line1 = + extendLineToRect(outerRect, innerRect.center, innerRect.bottomRight)!; + + final line2 = + extendLineToRect(outerRect, innerRect.center, innerRect.topRight)!; + + final intersections1 = findLineIntersection( + line1.$1, + line1.$2, + outerRect, + innerRect, + ); -/// Finds the intersection between the given line and the given rectangle and -/// returns distance between the intersection and the [inner] point. -Map findLineIntersection( - Vector2 inner, Vector2 outer, Box rect, Box initialRect) { - final Vector2 topLeft = rect.topLeft; - final Vector2 topRight = rect.topRight; - final Vector2 bottomLeft = rect.bottomLeft; - final Vector2 bottomRight = rect.bottomRight; - - final Vector2? top = - intersectionBetweenTwoLines(inner, outer, topLeft, topRight); - final Vector2? bottom = - intersectionBetweenTwoLines(inner, outer, bottomLeft, bottomRight); - final Vector2? left = - intersectionBetweenTwoLines(inner, outer, topLeft, bottomLeft); - final Vector2? right = - intersectionBetweenTwoLines(inner, outer, topRight, bottomRight); - - final Map sides = { - HandlePosition.top: top, - HandlePosition.bottom: bottom, - HandlePosition.left: left, - HandlePosition.right: right, - }; - - return { - for (final entry in sides.entries) - if (entry.value != null) entry.key: entry.value! - }; -} + intersections1.remove(excludeHandle); -/// Returns the available area for the given handle. -Box getAvailableAreaForHandle({ - required Box rect, - required Box clampingRect, - required HandlePosition handle, - Constraints constraints = const Constraints.unconstrained(), -}) { - if (handle.isSide) { - final opposite = handle.opposite; - return Box.fromLTRB( - opposite.influencesLeft ? rect.left : clampingRect.left, - opposite.influencesTop ? rect.top : clampingRect.top, - opposite.influencesRight ? rect.right : clampingRect.right, - opposite.influencesBottom ? rect.bottom : clampingRect.bottom, - ); - } else { - return Box.fromLTRB( - handle.influencesLeft ? clampingRect.left : rect.left, - handle.influencesTop ? clampingRect.top : rect.top, - handle.influencesRight ? clampingRect.right : rect.right, - handle.influencesBottom ? clampingRect.bottom : rect.bottom, + final intersections2 = findLineIntersection( + line2.$1, + line2.$2, + outerRect, + innerRect, ); + + intersections2.remove(excludeHandle); + + final List> intersections = [ + ...intersections1.entries, + ...intersections2.entries, + ]; + + final closest = intersections.reduce((value, element) { + final valueDistance = value.value.distanceToSquared(innerRect.center); + final elementDistance = element.value.distanceToSquared(innerRect.center); + + if (valueDistance < elementDistance) { + return value; + } else { + return element; + } + }); + + return closest.key; } -} -/// Returns the clamping rect for the given handle for [ResizeMode.scale]. -Box getClampingRectForHandle({ - required Box initialRect, - required Box availableArea, - required HandlePosition handle, -}) { - switch (handle) { - case HandlePosition.none: - throw ArgumentError('HandlePosition.none is not supported!'); - case HandlePosition.topLeft: - case HandlePosition.topRight: - case HandlePosition.bottomLeft: - case HandlePosition.bottomRight: - return getClampingRectForCornerHandle( - initialRect: initialRect, - availableArea: availableArea, - handle: handle, + /// Finds the intersection between the given line and the given rectangle + /// and returns distance between the intersection and the [inner] point. + static Map findLineIntersection( + Vector2 inner, Vector2 outer, Box rect, Box initialRect) { + final Vector2 topLeft = rect.topLeft; + final Vector2 topRight = rect.topRight; + final Vector2 bottomLeft = rect.bottomLeft; + final Vector2 bottomRight = rect.bottomRight; + + final Vector2? top = + intersectionBetweenTwoLines(inner, outer, topLeft, topRight); + final Vector2? bottom = + intersectionBetweenTwoLines(inner, outer, bottomLeft, bottomRight); + final Vector2? left = + intersectionBetweenTwoLines(inner, outer, topLeft, bottomLeft); + final Vector2? right = + intersectionBetweenTwoLines(inner, outer, topRight, bottomRight); + + final Map sides = { + HandlePosition.top: top, + HandlePosition.bottom: bottom, + HandlePosition.left: left, + HandlePosition.right: right, + }; + + return { + for (final entry in sides.entries) + if (entry.value != null) entry.key: entry.value! + }; + } + + /// Returns the available area for the given handle. + static Box getAvailableAreaForHandle({ + required Box rect, + required Box clampingRect, + required HandlePosition handle, + Constraints constraints = const Constraints.unconstrained(), + }) { + if (handle.isSide) { + final opposite = handle.opposite; + return Box.fromLTRB( + opposite.influencesLeft ? rect.left : clampingRect.left, + opposite.influencesTop ? rect.top : clampingRect.top, + opposite.influencesRight ? rect.right : clampingRect.right, + opposite.influencesBottom ? rect.bottom : clampingRect.bottom, ); - case HandlePosition.left: - case HandlePosition.top: - case HandlePosition.right: - case HandlePosition.bottom: - return getClampingRectForSideHandle( - initialRect: initialRect, - availableArea: availableArea, - handle: handle, + } else { + return Box.fromLTRB( + handle.influencesLeft ? clampingRect.left : rect.left, + handle.influencesTop ? clampingRect.top : rect.top, + handle.influencesRight ? clampingRect.right : rect.right, + handle.influencesBottom ? clampingRect.bottom : rect.bottom, ); + } } -} -/// Returns the clamping rect for the given corner handle for [ResizeMode.scale]. -Box getClampingRectForCornerHandle({ - required Box initialRect, - required Box availableArea, - required HandlePosition handle, -}) { - final initialAspectRatio = initialRect.safeAspectRatio; - - final double areaAspectRatio = availableArea.safeAspectRatio; - - double maxWidth; - double maxHeight; - - if (areaAspectRatio > 1) { - // Clamping area: Landscape - // Box: Landscape - // Limiting factor: Width - if (initialAspectRatio > areaAspectRatio) { - maxWidth = availableArea.width; - maxHeight = maxWidth / initialAspectRatio; - } else { - // Clamping area: Landscape - // Box: Portrait - // Limiting factor: Height - maxHeight = availableArea.height; - maxWidth = maxHeight * initialAspectRatio; + /// Returns the clamping rect for the given handle for [ResizeMode.scale]. + static Box getClampingRectForHandle({ + required Box initialRect, + required Box availableArea, + required HandlePosition handle, + }) { + switch (handle) { + case HandlePosition.none: + throw ArgumentError('HandlePosition.none is not supported!'); + case HandlePosition.topLeft: + case HandlePosition.topRight: + case HandlePosition.bottomLeft: + case HandlePosition.bottomRight: + return getClampingRectForCornerHandle( + initialRect: initialRect, + availableArea: availableArea, + handle: handle, + ); + case HandlePosition.left: + case HandlePosition.top: + case HandlePosition.right: + case HandlePosition.bottom: + return getClampingRectForSideHandle( + initialRect: initialRect, + availableArea: availableArea, + handle: handle, + ); } - } else { - // Clamping area: Portrait - // Box: Landscape - // Limiting factor: Width - if (initialAspectRatio > areaAspectRatio) { - maxWidth = availableArea.width; - maxHeight = maxWidth / initialAspectRatio; + } + + /// Returns the clamping rect for the given corner handle for + /// [ResizeMode.scale]. + static Box getClampingRectForCornerHandle({ + required Box initialRect, + required Box availableArea, + required HandlePosition handle, + }) { + final initialAspectRatio = initialRect.safeAspectRatio; + + final double areaAspectRatio = availableArea.safeAspectRatio; + + double maxWidth; + double maxHeight; + + if (areaAspectRatio > 1) { + // Clamping area: Landscape + // Box: Landscape + // Limiting factor: Width + if (initialAspectRatio > areaAspectRatio) { + maxWidth = availableArea.width; + maxHeight = maxWidth / initialAspectRatio; + } else { + // Clamping area: Landscape + // Box: Portrait + // Limiting factor: Height + maxHeight = availableArea.height; + maxWidth = maxHeight * initialAspectRatio; + } } else { // Clamping area: Portrait - // Box: Portrait - // Limiting factor: Height - maxHeight = availableArea.height; - maxWidth = maxHeight * initialAspectRatio; + // Box: Landscape + // Limiting factor: Width + if (initialAspectRatio > areaAspectRatio) { + maxWidth = availableArea.width; + maxHeight = maxWidth / initialAspectRatio; + } else { + // Clamping area: Portrait + // Box: Portrait + // Limiting factor: Height + maxHeight = availableArea.height; + maxWidth = maxHeight * initialAspectRatio; + } } + + return Box.fromHandle( + handle.anchor(initialRect), + handle, + maxWidth, + maxHeight, + ); } - return Box.fromHandle( - handle.anchor(initialRect), - handle, - maxWidth, - maxHeight, - ); -} + /// Constrains available area for [ResizeMode.scale]. + static Box constrainAvailableAreaForScaling({ + required Box area, + required Box initialRect, + required HandlePosition handle, + required Constraints constraints, + }) { + if (constraints.isUnconstrained) return area; + + final maxWidth = min(constraints.maxWidth, area.width); + final maxHeight = min(constraints.maxHeight, area.height); + + final constrainedRect = Box.fromHandle( + handle.anchor(initialRect), + handle, + maxWidth, + maxHeight, + ); -/// Constrains available area for [ResizeMode.scale]. -Box constrainAvailableAreaForScaling({ - required Box area, - required Box initialRect, - required HandlePosition handle, - required Constraints constraints, -}) { - if (constraints.isUnconstrained) return area; - - final maxWidth = min(constraints.maxWidth, area.width); - final maxHeight = min(constraints.maxHeight, area.height); - - final constrainedRect = Box.fromHandle( - handle.anchor(initialRect), - handle, - maxWidth, - maxHeight, - ); - - return Box.fromLTRB( - max(constrainedRect.left, area.left), - max(constrainedRect.top, area.top), - min(constrainedRect.right, area.right), - min(constrainedRect.bottom, area.bottom), - ); -} + return Box.fromLTRB( + max(constrainedRect.left, area.left), + max(constrainedRect.top, area.top), + min(constrainedRect.right, area.right), + min(constrainedRect.bottom, area.bottom), + ); + } -/// Returns a minimum Rect for given constraints when [ResizeMode.scale]. -Box getMinRectForScaling({ - required Box initialRect, - required HandlePosition handle, - required Constraints constraints, -}) { - final double minWidth; - final double minHeight; - - if (!constraints.isUnconstrained) { - if (initialRect.safeAspectRatio < 1) { - minWidth = constraints.minWidth; - minHeight = minWidth / initialRect.safeAspectRatio; + /// Returns a minimum Rect for given constraints when [ResizeMode.scale]. + static Box getMinRectForScaling({ + required Box initialRect, + required HandlePosition handle, + required Constraints constraints, + }) { + final double minWidth; + final double minHeight; + + if (!constraints.isUnconstrained) { + if (initialRect.safeAspectRatio < 1) { + minWidth = constraints.minWidth; + minHeight = minWidth / initialRect.safeAspectRatio; + } else { + minHeight = constraints.minHeight; + minWidth = minHeight * initialRect.safeAspectRatio; + } } else { - minHeight = constraints.minHeight; - minWidth = minHeight * initialRect.safeAspectRatio; + minWidth = 0; + minHeight = 0; } - } else { - minWidth = 0; - minHeight = 0; + + return Box.fromHandle( + handle.anchor(initialRect), + handle, + minWidth, + minHeight, + ); } - return Box.fromHandle( - handle.anchor(initialRect), - handle, - minWidth, - minHeight, - ); -} + /// Returns whether the given [rect] is properly confined within its + /// [constraints] but at the same time is not outside of the [clampingRect]. + static bool isValidRect(Box rect, Constraints constraints, Box clampingRect) { + if (clampingRect.left.roundToPrecision(4) > rect.left.roundToPrecision(4) || + clampingRect.top.roundToPrecision(4) > rect.top.roundToPrecision(4) || + clampingRect.right.roundToPrecision(4) < + rect.right.roundToPrecision(4) || + clampingRect.bottom.roundToPrecision(4) < + rect.bottom.roundToPrecision(4)) { + return false; + } + if (!constraints.isUnconstrained) { + if (rect.width.roundToPrecision(4) < + constraints.minWidth.roundToPrecision(4) || + rect.width.roundToPrecision(4) > + constraints.maxWidth.roundToPrecision(4) || + rect.height.roundToPrecision(4) < + constraints.minHeight.roundToPrecision(4) || + rect.height.roundToPrecision(4) > + constraints.maxHeight.roundToPrecision(4)) { + return false; + } + } + return true; + } -/// [returns] whether the given [rect] is properly confined within its -/// [constraints] but at the same time is not outside of the [clampingRect]. -bool isValidRect(Box rect, Constraints constraints, Box clampingRect) { - if (clampingRect.left.roundToPrecision(4) > rect.left.roundToPrecision(4) || - clampingRect.top.roundToPrecision(4) > rect.top.roundToPrecision(4) || - clampingRect.right.roundToPrecision(4) < rect.right.roundToPrecision(4) || - clampingRect.bottom.roundToPrecision(4) < - rect.bottom.roundToPrecision(4)) { - return false; + // Per-isolate memo for cos/sin keyed by the most recent theta. A single + // rotated transform op invokes [rotatePointAround] 4-5 times with the + // same [theta]; caching skips redundant trig. NaN inputs miss cleanly + // because `NaN == NaN` is false in Dart, forcing recomputation. + static double _cachedTheta = double.nan; + static double _cachedCos = 0.0; + static double _cachedSin = 0.0; + + /// Rotates [point] by [theta] radians around [pivot] (clockwise). + /// + /// When [theta] is 0, returns a copy of [point] unchanged (fast-path). + static Vector2 rotatePointAround(Vector2 point, Vector2 pivot, double theta) { + if (theta == 0.0) return Vector2.copy(point); + final dx = point.x - pivot.x; + final dy = point.y - pivot.y; + double c; + double s; + if (theta == _cachedTheta) { + c = _cachedCos; + s = _cachedSin; + } else { + c = cos(theta); + s = sin(theta); + _cachedTheta = theta; + _cachedCos = c; + _cachedSin = s; + } + return Vector2( + pivot.x + dx * c - dy * s, + pivot.y + dx * s + dy * c, + ); } - if (!constraints.isUnconstrained) { - if (rect.width.roundToPrecision(4) < - constraints.minWidth.roundToPrecision(4) || - rect.width.roundToPrecision(4) > - constraints.maxWidth.roundToPrecision(4) || - rect.height.roundToPrecision(4) < - constraints.minHeight.roundToPrecision(4) || - rect.height.roundToPrecision(4) > - constraints.maxHeight.roundToPrecision(4)) { - return false; + + /// Converts [worldPoint] from world space into the box's unrotated-local + /// frame. + /// + /// The box is rotated by [theta] around [pivot] (the pivot is in world + /// coords). Inverse of [unrotatedToWorld]. + static Vector2 worldToUnrotated( + Vector2 worldPoint, Vector2 pivot, double theta) => + rotatePointAround(worldPoint, pivot, -theta); + + /// Converts [localPoint] from the box's unrotated-local frame into world + /// space. + /// + /// The box is rotated by [theta] around [pivot] (the pivot is in world + /// coords). Inverse of [worldToUnrotated]. + static Vector2 unrotatedToWorld( + Vector2 localPoint, Vector2 pivot, double theta) => + rotatePointAround(localPoint, pivot, theta); + + /// Returns the axis-aligned bounding rectangle of [box] after applying + /// its [Box.rotation] around its center. + /// + /// For `box.rotation == 0`, returns an AABB copy of [box]. The returned + /// [Box] has `rotation = 0`. + static Box calculateBoundingRect(Box box) { + if (box.rotation == 0.0) { + return Box.fromLTRB(box.left, box.top, box.right, box.bottom); } + final w = box.width; + final h = box.height; + final cx = box.left + w / 2; + final cy = box.top + h / 2; + final theta = box.rotation; + final double c; + final double s; + if (theta == _cachedTheta) { + c = _cachedCos; + s = _cachedSin; + } else { + c = cos(theta); + s = sin(theta); + _cachedTheta = theta; + _cachedCos = c; + _cachedSin = s; + } + final absCos = c.abs(); + final absSin = s.abs(); + final boundingW = w * absCos + h * absSin; + final boundingH = w * absSin + h * absCos; + return Box.fromLTWH( + cx - boundingW / 2, + cy - boundingH / 2, + boundingW, + boundingH, + ); } - return true; } diff --git a/packages/box_transform/lib/src/resizers/freeform_resizing.dart b/packages/box_transform/lib/src/resizers/freeform_resizing.dart index 811fc7c..bc590bf 100644 --- a/packages/box_transform/lib/src/resizers/freeform_resizing.dart +++ b/packages/box_transform/lib/src/resizers/freeform_resizing.dart @@ -15,7 +15,7 @@ final class FreeformResizer extends Resizer { required Flip flip, }) { final flippedHandle = handle.flip(flip); - Box effectiveInitialRect = flipRect(initialRect, flip, handle); + Box effectiveInitialRect = ClampHelpers.flipRect(initialRect, flip, handle); Box newRect = Box.fromLTRB( max(explodedRect.left, clampingRect.left), @@ -38,7 +38,7 @@ final class FreeformResizer extends Resizer { constrainedHeight, ); - isValid = isValidRect(newRect, constraints, clampingRect); + isValid = ClampHelpers.isValidRect(newRect, constraints, clampingRect); if (!isValid) { newRect = Box.fromHandle( handle.anchor(initialRect), @@ -54,7 +54,7 @@ final class FreeformResizer extends Resizer { } // Not used but calculating it for returning correct largest box. - final Box area = getAvailableAreaForHandle( + final Box area = ClampHelpers.getAvailableAreaForHandle( rect: isValid ? effectiveInitialRect : initialRect, handle: isValid ? flippedHandle : handle, clampingRect: clampingRect, diff --git a/packages/box_transform/lib/src/resizers/scale_resizing.dart b/packages/box_transform/lib/src/resizers/scale_resizing.dart index 7d52a27..659cd12 100644 --- a/packages/box_transform/lib/src/resizers/scale_resizing.dart +++ b/packages/box_transform/lib/src/resizers/scale_resizing.dart @@ -65,7 +65,8 @@ final class ScaleResizer extends Resizer { required Flip flip, }) { final flippedHandle = handle.flip(flip); - final effectiveInitialRect = flipRect(initialRect, flip, handle); + final effectiveInitialRect = + ClampHelpers.flipRect(initialRect, flip, handle); ({Box rect, Box largest, bool hasValidFlip}) result; @@ -119,14 +120,14 @@ final class ScaleResizer extends Resizer { Constraints constraints, Flip flip, ) { - Box area = getAvailableAreaForHandle( + Box area = ClampHelpers.getAvailableAreaForHandle( rect: initialRect, clampingRect: clampingRect, handle: handle, constraints: constraints, ); - area = constrainAvailableAreaForScaling( + area = ClampHelpers.constrainAvailableAreaForScaling( area: area, initialRect: initialRect, handle: handle, @@ -146,13 +147,13 @@ final class ScaleResizer extends Resizer { rectHeight = rectWidth / initialAspectRatio; } - final maxRect = getClampingRectForHandle( + final maxRect = ClampHelpers.getClampingRectForHandle( initialRect: initialRect, availableArea: area, handle: handle, ); - final minRect = getMinRectForScaling( + final minRect = ClampHelpers.getMinRectForScaling( initialRect: initialRect, handle: handle, constraints: constraints, @@ -174,7 +175,7 @@ final class ScaleResizer extends Resizer { largest = maxRect; } - final isValid = isValidRect(rect, constraints, clampingRect); + final isValid = ClampHelpers.isValidRect(rect, constraints, clampingRect); return (rect: rect, largest: largest, hasValidFlip: isValid); } @@ -190,14 +191,14 @@ final class ScaleResizer extends Resizer { ) { final initialAspectRatio = initialRect.safeAspectRatio; - Box area = getAvailableAreaForHandle( + Box area = ClampHelpers.getAvailableAreaForHandle( rect: initialRect, clampingRect: clampingRect, handle: handle, constraints: constraints, ); - area = constrainAvailableAreaForScaling( + area = ClampHelpers.constrainAvailableAreaForScaling( area: area, initialRect: initialRect, handle: handle, @@ -217,13 +218,13 @@ final class ScaleResizer extends Resizer { ); } - final maxRect = getClampingRectForHandle( + final maxRect = ClampHelpers.getClampingRectForHandle( initialRect: initialRect, availableArea: area, handle: handle, ); - final minRect = getMinRectForScaling( + final minRect = ClampHelpers.getMinRectForScaling( initialRect: initialRect, handle: handle, constraints: constraints, @@ -250,7 +251,7 @@ final class ScaleResizer extends Resizer { largest = maxRect; } - final isValid = isValidRect(rect, constraints, clampingRect); + final isValid = ClampHelpers.isValidRect(rect, constraints, clampingRect); return (rect: rect, largest: largest, hasValidFlip: isValid); } @@ -266,14 +267,14 @@ final class ScaleResizer extends Resizer { ) { final initialAspectRatio = initialRect.safeAspectRatio; - Box area = getAvailableAreaForHandle( + Box area = ClampHelpers.getAvailableAreaForHandle( rect: initialRect, clampingRect: clampingRect, handle: handle, constraints: constraints, ); - area = constrainAvailableAreaForScaling( + area = ClampHelpers.constrainAvailableAreaForScaling( area: area, initialRect: initialRect, handle: handle, @@ -293,13 +294,13 @@ final class ScaleResizer extends Resizer { ); } - final maxRect = getClampingRectForHandle( + final maxRect = ClampHelpers.getClampingRectForHandle( initialRect: initialRect, availableArea: area, handle: handle, ); - final minRect = getMinRectForScaling( + final minRect = ClampHelpers.getMinRectForScaling( initialRect: initialRect, handle: handle, constraints: constraints, @@ -326,7 +327,7 @@ final class ScaleResizer extends Resizer { largest = maxRect; } - final isValid = isValidRect(rect, constraints, clampingRect); + final isValid = ClampHelpers.isValidRect(rect, constraints, clampingRect); return (rect: rect, largest: largest, hasValidFlip: isValid); } @@ -342,14 +343,14 @@ final class ScaleResizer extends Resizer { ) { final initialAspectRatio = initialRect.safeAspectRatio; - Box area = getAvailableAreaForHandle( + Box area = ClampHelpers.getAvailableAreaForHandle( rect: initialRect, clampingRect: clampingRect, handle: handle, constraints: constraints, ); - area = constrainAvailableAreaForScaling( + area = ClampHelpers.constrainAvailableAreaForScaling( area: area, initialRect: initialRect, handle: handle, @@ -369,13 +370,13 @@ final class ScaleResizer extends Resizer { ); } - final maxRect = getClampingRectForHandle( + final maxRect = ClampHelpers.getClampingRectForHandle( initialRect: initialRect, availableArea: area, handle: handle, ); - final minRect = getMinRectForScaling( + final minRect = ClampHelpers.getMinRectForScaling( initialRect: initialRect, handle: handle, constraints: constraints, @@ -402,7 +403,7 @@ final class ScaleResizer extends Resizer { largest = maxRect; } - final isValid = isValidRect(rect, constraints, clampingRect); + final isValid = ClampHelpers.isValidRect(rect, constraints, clampingRect); return (rect: rect, largest: largest, hasValidFlip: isValid); } @@ -418,14 +419,14 @@ final class ScaleResizer extends Resizer { ) { final initialAspectRatio = initialRect.safeAspectRatio; - Box area = getAvailableAreaForHandle( + Box area = ClampHelpers.getAvailableAreaForHandle( rect: initialRect, clampingRect: clampingRect, handle: handle, constraints: constraints, ); - area = constrainAvailableAreaForScaling( + area = ClampHelpers.constrainAvailableAreaForScaling( area: area, initialRect: initialRect, handle: handle, @@ -445,13 +446,13 @@ final class ScaleResizer extends Resizer { ); } - final maxRect = getClampingRectForHandle( + final maxRect = ClampHelpers.getClampingRectForHandle( initialRect: initialRect, availableArea: area, handle: handle, ); - final minRect = getMinRectForScaling( + final minRect = ClampHelpers.getMinRectForScaling( initialRect: initialRect, handle: handle, constraints: constraints, @@ -478,7 +479,7 @@ final class ScaleResizer extends Resizer { largest = maxRect; } - final isValid = isValidRect(rect, constraints, clampingRect); + final isValid = ClampHelpers.isValidRect(rect, constraints, clampingRect); return (rect: rect, largest: largest, hasValidFlip: isValid); } @@ -493,14 +494,14 @@ final class ScaleResizer extends Resizer { Constraints constraints, Flip flip, ) { - Box area = getAvailableAreaForHandle( + Box area = ClampHelpers.getAvailableAreaForHandle( rect: initialRect, clampingRect: clampingRect, handle: handle, constraints: constraints, ); - area = constrainAvailableAreaForScaling( + area = ClampHelpers.constrainAvailableAreaForScaling( area: area, initialRect: initialRect, handle: handle, @@ -520,13 +521,13 @@ final class ScaleResizer extends Resizer { rectHeight = rectWidth / initialAspectRatio; } - final maxRect = getClampingRectForHandle( + final maxRect = ClampHelpers.getClampingRectForHandle( initialRect: initialRect, availableArea: area, handle: handle, ); - final minRect = getMinRectForScaling( + final minRect = ClampHelpers.getMinRectForScaling( initialRect: initialRect, handle: handle, constraints: constraints, @@ -548,7 +549,7 @@ final class ScaleResizer extends Resizer { largest = maxRect; } - final isValid = isValidRect(rect, constraints, clampingRect); + final isValid = ClampHelpers.isValidRect(rect, constraints, clampingRect); return (rect: rect, largest: largest, hasValidFlip: isValid); } @@ -563,14 +564,14 @@ final class ScaleResizer extends Resizer { Constraints constraints, Flip flip, ) { - Box area = getAvailableAreaForHandle( + Box area = ClampHelpers.getAvailableAreaForHandle( rect: initialRect, clampingRect: clampingRect, handle: handle, constraints: constraints, ); - area = constrainAvailableAreaForScaling( + area = ClampHelpers.constrainAvailableAreaForScaling( area: area, initialRect: initialRect, handle: handle, @@ -590,13 +591,13 @@ final class ScaleResizer extends Resizer { rectHeight = rectWidth / initialAspectRatio; } - final maxRect = getClampingRectForHandle( + final maxRect = ClampHelpers.getClampingRectForHandle( initialRect: initialRect, availableArea: area, handle: handle, ); - final minRect = getMinRectForScaling( + final minRect = ClampHelpers.getMinRectForScaling( initialRect: initialRect, handle: handle, constraints: constraints, @@ -618,7 +619,7 @@ final class ScaleResizer extends Resizer { largest = maxRect; } - final isValid = isValidRect(rect, constraints, clampingRect); + final isValid = ClampHelpers.isValidRect(rect, constraints, clampingRect); return (rect: rect, largest: largest, hasValidFlip: isValid); } @@ -633,14 +634,14 @@ final class ScaleResizer extends Resizer { Constraints constraints, Flip flip, ) { - Box area = getAvailableAreaForHandle( + Box area = ClampHelpers.getAvailableAreaForHandle( rect: initialRect, clampingRect: clampingRect, handle: handle, constraints: constraints, ); - area = constrainAvailableAreaForScaling( + area = ClampHelpers.constrainAvailableAreaForScaling( area: area, initialRect: initialRect, handle: handle, @@ -660,13 +661,13 @@ final class ScaleResizer extends Resizer { rectHeight = rectWidth / initialAspectRatio; } - final maxRect = getClampingRectForHandle( + final maxRect = ClampHelpers.getClampingRectForHandle( initialRect: initialRect, availableArea: area, handle: handle, ); - final minRect = getMinRectForScaling( + final minRect = ClampHelpers.getMinRectForScaling( initialRect: initialRect, handle: handle, constraints: constraints, @@ -688,7 +689,7 @@ final class ScaleResizer extends Resizer { largest = maxRect; } - final isValid = isValidRect(rect, constraints, clampingRect); + final isValid = ClampHelpers.isValidRect(rect, constraints, clampingRect); return (rect: rect, largest: largest, hasValidFlip: isValid); } diff --git a/packages/box_transform/lib/src/resizers/symmetric_scale_resizing.dart b/packages/box_transform/lib/src/resizers/symmetric_scale_resizing.dart index d5ef597..817a1b6 100644 --- a/packages/box_transform/lib/src/resizers/symmetric_scale_resizing.dart +++ b/packages/box_transform/lib/src/resizers/symmetric_scale_resizing.dart @@ -70,7 +70,8 @@ final class SymmetricScaleResizer extends Resizer { availableArea = clampingRect; } - final maxRect = scaledSymmetricClampingRect(initialRect, availableArea); + final maxRect = + ClampHelpers.scaledSymmetricClampingRect(initialRect, availableArea); final Box minRect; if (!constraints.isUnconstrained) { @@ -151,7 +152,8 @@ final class SymmetricScaleResizer extends Resizer { availableArea = clampingRect; } - final maxRect = scaledSymmetricClampingRect(initialRect, availableArea); + final maxRect = + ClampHelpers.scaledSymmetricClampingRect(initialRect, availableArea); final Box minRect; if (!constraints.isUnconstrained) { diff --git a/packages/box_transform/lib/src/result.dart b/packages/box_transform/lib/src/result.dart index 28cde93..31a329b 100644 --- a/packages/box_transform/lib/src/result.dart +++ b/packages/box_transform/lib/src/result.dart @@ -1,4 +1,4 @@ -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'enums.dart'; import 'geometry.dart'; @@ -16,6 +16,9 @@ typedef RawResizeResult = ResizeResult; /// [Dimension] as the generic types that is used by [BoxTransformer]. typedef RawTransformResult = TransformResult; +/// A convenient typedef for a rotate result with core Dart types. +typedef RawRotateResult = RotateResult; + /// An abstract class that represents the result of a transform operation. abstract class RectResult { /// Creates a [RectResult]. @@ -38,7 +41,7 @@ abstract class RectResult { /// usually [Box] or [Rect]. It represents the bounds of a rectangle. /// /// V is the type of the [Vector2] that is used by the [BoxTransformer]. This is -/// usually [Vector2] or [Offset]. It represents the delta of the transform. +/// usually [Vector2] or `Offset`. It represents the delta of the transform. /// /// D is the type of the [Dimension] that is used by the [BoxTransformer]. This /// is usually [Dimension] or [Size]. It represents the size of the rect. @@ -59,9 +62,9 @@ class TransformResult /// The [ResizeMode] of the node after the resize. final ResizeMode resizeMode; - /// The new [Dimension] of the node after the resize. Unlike [newRect], this + /// The new [Dimension] of the node after the resize. Unlike [rect], this /// reflects flip state. For example, if the node is flipped horizontally, - /// the width of the [newSize] will be negative. + /// the width of [rawSize] will be negative. final D rawSize; /// Whether the resizing rect hit its maximum possible width. @@ -83,6 +86,17 @@ class TransformResult /// Handle used to resize the rect. final HandlePosition handle; + /// Rotation (radians) of the box after the transform. Zero = axis-aligned. + final double rotation; + + /// Axis-aligned bounding box of the rotated [rect]. When [rotation] is 0, + /// this equals [rect]. + final B boundingRect; + + /// Axis-aligned bounding box of the rotated [oldRect]. When [rotation] is 0, + /// this equals [oldRect]. + final B oldBoundingRect; + /// Creates a [ResizeResult] object. const TransformResult({ required this.rect, @@ -97,7 +111,11 @@ class TransformResult required this.maxHeightReached, required this.largestRect, required this.handle, - }); + this.rotation = 0.0, + B? boundingRect, + B? oldBoundingRect, + }) : boundingRect = boundingRect ?? rect, + oldBoundingRect = oldBoundingRect ?? oldRect; @override bool operator ==(Object other) { @@ -115,7 +133,10 @@ class TransformResult other.minHeightReached == minHeightReached && other.maxHeightReached == maxHeightReached && other.largestRect == largestRect && - other.handle == handle; + other.handle == handle && + other.rotation == rotation && + other.boundingRect == boundingRect && + other.oldBoundingRect == oldBoundingRect; } @override @@ -132,6 +153,9 @@ class TransformResult maxHeightReached, largestRect, handle, + rotation, + boundingRect, + oldBoundingRect, ); @override @@ -162,6 +186,9 @@ class MoveResult required super.delta, required super.rawSize, required super.largestRect, + super.rotation = 0.0, + super.boundingRect, + super.oldBoundingRect, }) : super( flip: Flip.none, resizeMode: ResizeMode.freeform, @@ -186,6 +213,14 @@ class MoveResult /// An object that represents the result of a resize operation. class ResizeResult extends TransformResult { + /// Whether the requested resize could be honored under the supplied + /// `clampingRect`, `constraints`, and `bindingStrategy`. When `false`, + /// [rect] and [flip] equal the gesture-start values: the engine cannot + /// satisfy the target without leaking the clamp. Callers (controllers) + /// should skip their state update on `false`, holding the rect at the + /// last feasible state instead of snapping back to gesture start. + final bool feasible; + /// Creates a [ResizeResult] object. const ResizeResult({ required super.rect, @@ -200,6 +235,10 @@ class ResizeResult required super.maxHeightReached, required super.largestRect, required super.handle, + super.rotation = 0.0, + super.boundingRect, + super.oldBoundingRect, + this.feasible = true, }); @override @@ -215,6 +254,46 @@ class ResizeResult 'minHeightReached: $minHeightReached, ' 'maxHeightReached: $maxHeightReached, ' 'largestBox: $largestRect, ' - 'handle: $handle' + 'handle: $handle, ' + 'feasible: $feasible' ')'; } + +/// Result of a rotate-only operation. +class RotateResult + extends TransformResult { + /// Whether the requested rotation could be honored under the supplied + /// `clampingRect` and `bindingStrategy`. When `false`, [rotation] equals + /// the gesture-start rotation and [rect] equals the gesture-start rect: + /// the rotation was rejected because no translation could keep the box + /// inside the clamp at the desired angle. Callers (e.g. controllers) + /// should skip their state update on `false` so the rotation effectively + /// freezes at the cap. + final bool feasible; + + /// Creates a [RotateResult]. + const RotateResult({ + required super.rect, + required super.oldRect, + required super.delta, + required super.rawSize, + required super.largestRect, + required super.rotation, + super.boundingRect, + super.oldBoundingRect, + this.feasible = true, + }) : super( + flip: Flip.none, + resizeMode: ResizeMode.freeform, + minWidthReached: false, + maxWidthReached: false, + minHeightReached: false, + maxHeightReached: false, + handle: HandlePosition.none, + ); + + @override + String toString() => + 'RotateResult(rect: $rect, oldRect: $oldRect, rotation: $rotation, ' + 'feasible: $feasible)'; +} diff --git a/packages/box_transform/lib/src/rotated_clamping_solver.dart b/packages/box_transform/lib/src/rotated_clamping_solver.dart new file mode 100644 index 0000000..e397b41 --- /dev/null +++ b/packages/box_transform/lib/src/rotated_clamping_solver.dart @@ -0,0 +1,687 @@ +import 'dart:math' as math; +import 'dart:typed_data'; + +import 'package:vector_math/vector_math_64.dart'; + +import 'enums.dart'; +import 'geometry.dart'; + +// --------------------------------------------------------------------------- +// Flat-buffer LP +// --------------------------------------------------------------------------- +// +// The rotated-clamping LP runs on a flat [Float64List] of (a, b, c) triples +// with no per-call allocation. Builders write into a reused [IneqBuffer]; +// the projector consumes them and writes its result into a reused +// [FlatProjection]. +// +// Layout: index `3*i + 0` = a_i, `3*i + 1` = b_i, `3*i + 2` = c_i. +// Builders emit up to 4 corners × up to 4 axis-aligned edges per corner = +// 16 inequalities; trivially-zero rows (a≈0 and b≈0) are dropped in-place +// so the projector skips no-op constraints. + +/// Capacity (number of inequalities) of an [IneqBuffer] data slab. +/// +/// 16 is the worst-case row count emitted by any builder +/// ([RotatedClampingSolver.buildCornerIneqsInto], +/// [RotatedClampingSolver.buildSideHandleIneqsInto], +/// [RotatedClampingSolver.buildCenterIneqsInto]): 4 corners × up to 4 +/// axis-aligned edges per corner. +const int _kMaxIneqs = 16; + +/// Mutable inequality batch reused by the rotated-clamping hot path. +/// +/// Builders ([RotatedClampingSolver.buildCornerIneqsInto], +/// [RotatedClampingSolver.buildSideHandleIneqsInto], +/// [RotatedClampingSolver.buildCenterIneqsInto]) write coefficient +/// triples into [data] and set [count]; +/// [RotatedClampingSolver.projectOntoFeasibleRegionFlat] consumes them. +/// Single-isolate scratch reuse keeps the steady-state path +/// allocation-free. +class IneqBuffer { + /// Flat (a, b, c) triples, length [_kMaxIneqs] * 3. + final Float64List data; + + /// Number of inequalities populated in [data] (0..[_kMaxIneqs]). + int count; + + /// Creates a fresh empty buffer with capacity [_kMaxIneqs]. + IneqBuffer() + : data = Float64List(_kMaxIneqs * 3), + count = 0; + + /// Resets the buffer to empty. + void clear() { + count = 0; + } +} + +/// Holds the result of an in-place flat projection. Reused across calls +/// (caller-owned scalar bag) to avoid per-call allocation. +class FlatProjection { + /// Feasible width. + double w = 0; + + /// Feasible height. + double h = 0; + + /// Whether [w] is pinned to the minimum bound. + bool wMinHit = false; + + /// Whether [w] is pinned to the maximum bound. + bool wMaxHit = false; + + /// Whether [h] is pinned to the minimum bound. + bool hMinHit = false; + + /// Whether [h] is pinned to the maximum bound. + bool hMaxHit = false; + + /// True iff the final (w, h) satisfies every inequality within tolerance. + /// When false, the projector returned its closest-feasible best-effort + /// — using that (w, h) directly produces a rect that leaks past the + /// clamp by `worstResidual` pixels. Callers must treat this as a freeze + /// signal (return initialRect) instead of using w/h. + bool feasible = true; + + /// Worst over-violation across all inequalities at the returned (w, h). + /// Zero when feasible; in pixels otherwise. + double worstResidual = 0; + + /// Creates an empty projection result. All fields default to a + /// zero-feasible state: `w = h = 0`, no axes pinned, [feasible] true, + /// [worstResidual] zero. Reuse one instance across calls to avoid + /// per-tick allocation; the projector overwrites every field. + FlatProjection(); +} + +/// Static surface for the rotated-clamping LP entry points. +/// +/// All four operations write into / read from caller-owned scratch +/// buffers ([IneqBuffer], [FlatProjection]) so the steady-state path +/// allocates nothing. Builders fill the inequality buffer with `a*w + b*h +/// <= c` rows; the projector finds the feasible `(w, h)` closest to a +/// target. +abstract final class RotatedClampingSolver { + const RotatedClampingSolver._(); + + /// Fills [buf] with the corner-anchored inequalities. + /// + /// Used for **corner-anchored** resizes (freeform, scale). The anchor is + /// the fixed corner (the handle's opposite corner), expressed in world + /// coords. [widthSign] and [heightSign] encode which side of [anchor] the + /// box extends on (±1 each). + /// + /// Which corners are enforced depends on [bindingStrategy]: + /// + /// * [BindingStrategy.boundingBox]: the rotated rect's four corners + /// only (rendered footprint stays in the clamp). + /// + /// C0 = anchor + /// C1 = anchor + sx*w*(cos, sin) + /// C2 = anchor + sx*w*(cos, sin) + sy*h*(-sin, cos) + /// C3 = anchor + sy*h*(-sin, cos) + /// + /// * [BindingStrategy.originalBox]: the unrotated rect's four + /// axis-aligned corners only. The rendered rotated corners may extend + /// beyond the clamp by design. + /// + /// center = anchor + (sx*w/2)*(cos, sin) + (sy*h/2)*(-sin, cos) + /// corner = center + (sgnX*w/2, sgnY*h/2) for sgnX, sgnY ∈ {-1, +1} + /// + /// At θ = 0 both strategies collapse to the same axis-aligned + /// constraints; at θ ≠ 0 they enforce different geometries and neither + /// set is a subset of the other. Coefficients common across the four + /// corners (e.g. `sx*cos`, `sx*sin`) are factored out of the loop. + static void buildCornerIneqsInto( + IneqBuffer buf, { + required Vector2 anchor, + required double theta, + required Box clampingRect, + required BindingStrategy bindingStrategy, + double widthSign = 1.0, + double heightSign = 1.0, + }) { + final cos = math.cos(theta); + final sin = math.sin(theta); + final ax = anchor.x; + final ay = anchor.y; + final lc = clampingRect.left; + final tc = clampingRect.top; + final rc = clampingRect.right; + final bc = clampingRect.bottom; + final sx = widthSign; + final sy = heightSign; + + // Pre-compute constants used by both strategies. + final sxCos = sx * cos; + final sxSin = sx * sin; + final syCos = sy * cos; + final negSySin = -sy * sin; + + final cRight = rc - ax; // for Cx <= rc -> aW*w + aH*h <= rc - ax + final cLeft = ax - lc; // for Cx >= lc -> -aW*w - aH*h <= ax - lc + final cBot = bc - ay; // for Cy <= bc + final cTop = ay - tc; // for Cy >= tc + + final data = buf.data; + int n = 0; + void addEdges(double aW, double aH, double bW, double bH) { + // Skip the trivially-zero row (corner C0 in boundingBox case has + // aW=aH=0, bW=bH=0 and produces no useful constraint). We replicate + // the original behavior of dropping rows where both a and b are + // negligible. + if (aW.abs() <= 1e-12 && aH.abs() <= 1e-12) { + // x-edges have a=b=0; skip both of them. + } else { + // Cx <= rc + data[3 * n] = aW; + data[3 * n + 1] = aH; + data[3 * n + 2] = cRight; + n++; + // Cx >= lc + data[3 * n] = -aW; + data[3 * n + 1] = -aH; + data[3 * n + 2] = cLeft; + n++; + } + if (bW.abs() <= 1e-12 && bH.abs() <= 1e-12) { + // y-edges have a=b=0; skip both of them. + } else { + // Cy <= bc + data[3 * n] = bW; + data[3 * n + 1] = bH; + data[3 * n + 2] = cBot; + n++; + // Cy >= tc + data[3 * n] = -bW; + data[3 * n + 1] = -bH; + data[3 * n + 2] = cTop; + n++; + } + } + + if (bindingStrategy == BindingStrategy.boundingBox) { + // Rotated rect corners only: C0 (anchor, all-zero coefficients), + // C1, C2, C3. The rendered rotated polygon must stay in the clamp; + // the unrotated stored rect is invisible storage and need not be in + // the clamp. C0: aW=aH=bW=bH=0 → all four edges are degenerate, so + // addEdges produces nothing (still legal). We pass through to keep + // code uniform. + addEdges(0, 0, 0, 0); // C0 + addEdges(sxCos, 0, sxSin, 0); // C1 = anchor + sx*w*e1 + addEdges(sxCos, negSySin, sxSin, syCos); // C2 = + sx*w*e1 + sy*h*e2 + addEdges(0, negSySin, 0, syCos); // C3 = + sy*h*e2 + } else { + // originalBox: unrotated rect corners, anchored via the rect's center. + // center = anchor + (sx*w/2)*(cos, sin) + (sy*h/2)*(-sin, cos) + // corner = center + (sgnX*w/2, sgnY*h/2) + // corner.x = ax + w*(sx*cos/2 + sgnX/2) + h*(-sy*sin/2) + // corner.y = ay + w*(sx*sin/2) + h*(sy*cos/2 + sgnY/2) + final halfSxCos = sxCos * 0.5; // sx*cos/2 + final halfSxSin = sxSin * 0.5; // sx*sin/2 + final halfSyCos = syCos * 0.5; // sy*cos/2 + final halfNegSySin = negSySin * 0.5; // -sy*sin/2 + + // Four (sgnX, sgnY) combinations: (-1,-1), (-1,+1), (+1,-1), (+1,+1). + // We unroll for clarity and to avoid loop overhead. + // sgnX = -1, sgnY = -1 + addEdges(halfSxCos - 0.5, halfNegSySin, halfSxSin, halfSyCos - 0.5); + // sgnX = -1, sgnY = +1 + addEdges(halfSxCos - 0.5, halfNegSySin, halfSxSin, halfSyCos + 0.5); + // sgnX = +1, sgnY = -1 + addEdges(halfSxCos + 0.5, halfNegSySin, halfSxSin, halfSyCos - 0.5); + // sgnX = +1, sgnY = +1 + addEdges(halfSxCos + 0.5, halfNegSySin, halfSxSin, halfSyCos + 0.5); + } + + buf.count = n; + } + + /// Fills [buf] with side-handle inequalities for a rect anchored at the + /// midpoint of the side opposite [handle]. + /// + /// Unlike the corner builder ([buildCornerIneqsInto]), the rect's anchor + /// is *not* one of its corners — it's a side midpoint. The default + /// (unflipped) rect spans: + /// + /// * `bottom`: rect-local `x ∈ [-w/2, w/2]`, `y ∈ [0, h]` (anchor = topCenter) + /// * `top`: `x ∈ [-w/2, w/2]`, `y ∈ [-h, 0]` (anchor = bottomCenter) + /// * `right`: `x ∈ [0, w]`, `y ∈ [-h/2, h/2]` (anchor = centerLeft) + /// * `left`: `x ∈ [-w, 0]`, `y ∈ [-h/2, h/2]` (anchor = centerRight) + /// + /// [widthSign] and [heightSign] flip the active-axis extent under + /// force-flip (drag past anchor): `right` with `widthSign=-1` becomes + /// `x ∈ [-w, 0]`, `top` with `heightSign=+1` becomes `y ∈ [0, h]`, etc. + /// The convention matches [buildCornerIneqsInto]: "+1 means rect extends + /// in the +e1/+e2 direction from anchor". Unflipped values are right→+1, + /// left→−1, top→−1, bottom→+1. + /// + /// Which corners are enforced depends on [bindingStrategy]: + /// + /// * [BindingStrategy.boundingBox]: the rotated rect's four corners + /// only (rendered footprint stays inside the clamp). Up to 16 edge + /// inequalities. + /// * [BindingStrategy.originalBox]: the unrotated rect's four + /// axis-aligned corners only (the unrotated stored rect stays inside + /// the clamp; rotated corners may extend outside). Up to 16 edge + /// inequalities. + /// + /// At θ = 0 both strategies collapse to identical axis-aligned + /// constraints. At θ ≠ 0 they enforce different geometries. + static void buildSideHandleIneqsInto( + IneqBuffer buf, { + required Vector2 anchor, + required double theta, + required Box clampingRect, + required HandlePosition handle, + required BindingStrategy bindingStrategy, + double widthSign = 1.0, + double heightSign = 1.0, + }) { + final cos = math.cos(theta); + final sin = math.sin(theta); + final ax = anchor.x; + final ay = anchor.y; + final lc = clampingRect.left; + final tc = clampingRect.top; + final rc = clampingRect.right; + final bc = clampingRect.bottom; + + final cRight = rc - ax; + final cLeft = ax - lc; + final cBot = bc - ay; + final cTop = ay - tc; + + final data = buf.data; + int n = 0; + void addEdges(double aW, double aH, double bW, double bH) { + if (aW.abs() > 1e-12 || aH.abs() > 1e-12) { + data[3 * n] = aW; + data[3 * n + 1] = aH; + data[3 * n + 2] = cRight; + n++; + data[3 * n] = -aW; + data[3 * n + 1] = -aH; + data[3 * n + 2] = cLeft; + n++; + } + if (bW.abs() > 1e-12 || bH.abs() > 1e-12) { + data[3 * n] = bW; + data[3 * n + 1] = bH; + data[3 * n + 2] = cBot; + n++; + data[3 * n] = -bW; + data[3 * n + 1] = -bH; + data[3 * n + 2] = cTop; + n++; + } + } + + // For each side handle the rect extends from [anchor] by either + // widthSign*w along rect-local x (horizontal-side handles: left/right) + // or heightSign*h along rect-local y (vertical-side handles: top/ + // bottom). The perpendicular axis is symmetric ±h/2 (or ±w/2) about + // anchor — the user can't drag in that direction for a side handle. + // + // widthSign/heightSign use the same convention as corner-anchored + // resizes: "+1 means rect extends in +e1 / +e2 from anchor". For an + // unflipped right handle widthSign=+1; for unflipped top handle + // heightSign=-1. Force-flip (drag past anchor) flips the relevant sign. + // + // Each corner is parameterized by (α, β, γ, δ) such that rel_x = α*w + + // β*h and rel_y = γ*w + δ*h in rect-local coords. + final List<({double a, double b, double g, double d})> corners; + final bool isHorizontalSide = + handle.influencesLeft || handle.influencesRight; + if (isHorizontalSide) { + // Active axis x. Anchor-side corners at rel_x=0; far-side at + // rel_x = widthSign*w. Both axes' y at ±h/2. + corners = [ + (a: 0, b: 0, g: 0, d: -0.5), // anchor-side, top + (a: widthSign, b: 0, g: 0, d: -0.5), // far-side, top + (a: 0, b: 0, g: 0, d: 0.5), // anchor-side, bottom + (a: widthSign, b: 0, g: 0, d: 0.5), // far-side, bottom + ]; + } else { + // Active axis y (top/bottom). + corners = [ + (a: -0.5, b: 0, g: 0, d: 0), // anchor-side, left + (a: 0.5, b: 0, g: 0, d: 0), // anchor-side, right + (a: -0.5, b: 0, g: 0, d: heightSign), // far-side, left + (a: 0.5, b: 0, g: 0, d: heightSign), // far-side, right + ]; + } + + if (bindingStrategy == BindingStrategy.boundingBox) { + // Emit the rotated rect-local corners: the rendered polygon must + // stay in the clamp. With rel_x = α*w + β*h, rel_y = γ*w + δ*h: + // world_x_offset = cos*rel_x - sin*rel_y + // = (α*cos - γ*sin)*w + (β*cos - δ*sin)*h + // world_y_offset = sin*rel_x + cos*rel_y + // = (α*sin + γ*cos)*w + (β*sin + δ*cos)*h + for (final c in corners) { + final aW = cos * c.a - sin * c.g; + final aH = cos * c.b - sin * c.d; + final bW = sin * c.a + cos * c.g; + final bH = sin * c.b + cos * c.d; + addEdges(aW, aH, bW, bH); + } + } else { + // originalBox: emit the unrotated rect's corners (axis-aligned in + // world). The center sits at anchor + R(theta) * sideOff: + // horizontal-side: sideOff = (widthSign*w/2, 0) + // vertical-side: sideOff = (0, heightSign*h/2) + // Corners are at center + (sgnX*w/2, sgnY*h/2). + final double centerAW, centerAH, centerBW, centerBH; + if (isHorizontalSide) { + centerAW = widthSign * cos / 2; + centerAH = 0; + centerBW = widthSign * sin / 2; + centerBH = 0; + } else { + centerAW = 0; + centerAH = -heightSign * sin / 2; + centerBW = 0; + centerBH = heightSign * cos / 2; + } + for (final sgnX in const [-1.0, 1.0]) { + for (final sgnY in const [-1.0, 1.0]) { + addEdges( + centerAW + sgnX / 2, + centerAH, + centerBW, + centerBH + sgnY / 2, + ); + } + } + } + + buf.count = n; + } + + /// Fills [buf] with the center-anchored (symmetric-mode) inequalities. + /// + /// Which corners are enforced depends on [bindingStrategy]: + /// + /// * [BindingStrategy.boundingBox]: the rotated rect's four corners + /// only (`center + sx*(w/2)*e1 + sy*(h/2)*e2`). Rendered footprint + /// stays in the clamp. + /// * [BindingStrategy.originalBox]: the unrotated rect's four + /// axis-aligned corners only (`center + (sx*w/2, sy*h/2)`). The + /// rendered rotated corners may extend beyond the clamp. + static void buildCenterIneqsInto( + IneqBuffer buf, { + required Vector2 center, + required double theta, + required Box clampingRect, + required BindingStrategy bindingStrategy, + }) { + // For [BindingStrategy.originalBox], the unrotated rect's corners are + // `center ± (w/2, h/2)` regardless of theta — equivalent to cos=1, sin=0. + final cx = center.x; + final cy = center.y; + final lc = clampingRect.left; + final tc = clampingRect.top; + final rc = clampingRect.right; + final bc = clampingRect.bottom; + + final cRight = rc - cx; + final cLeft = cx - lc; + final cBot = bc - cy; + final cTop = cy - tc; + + final data = buf.data; + int n = 0; + // Emits the (≤4) edge constraints for one corner with rect-local + // coefficients (aW, aH, bW, bH) such that + // corner.x = cx + aW*w + aH*h + // corner.y = cy + bW*w + bH*h + // and skips trivially-zero rows. + void emit(double aW, double aH, double bW, double bH) { + if (!(aW.abs() <= 1e-12 && aH.abs() <= 1e-12)) { + data[3 * n] = aW; + data[3 * n + 1] = aH; + data[3 * n + 2] = cRight; + n++; + data[3 * n] = -aW; + data[3 * n + 1] = -aH; + data[3 * n + 2] = cLeft; + n++; + } + if (!(bW.abs() <= 1e-12 && bH.abs() <= 1e-12)) { + data[3 * n] = bW; + data[3 * n + 1] = bH; + data[3 * n + 2] = cBot; + n++; + data[3 * n] = -bW; + data[3 * n + 1] = -bH; + data[3 * n + 2] = cTop; + n++; + } + } + + if (bindingStrategy == BindingStrategy.boundingBox) { + // Rotated corners only: corner = center + R(theta)*(sx*w/2, sy*h/2). + // aW = sx*cos/2, aH = -sy*sin/2, + // bW = sx*sin/2, bH = sy*cos/2 + final halfCos = math.cos(theta) * 0.5; + final halfSin = math.sin(theta) * 0.5; + for (final sxSign in const [1, -1]) { + for (final sySign in const [1, -1]) { + emit( + sxSign * halfCos, + -sySign * halfSin, + sxSign * halfSin, + sySign * halfCos, + ); + } + } + } else { + // originalBox: unrotated corners (axis-aligned in world): + // corner = center ± (w/2, h/2). (aW = sx/2, bH = sy/2; aH = bW = 0.) + for (final sxSign in const [1, -1]) { + for (final sySign in const [1, -1]) { + emit(sxSign * 0.5, 0, 0, sySign * 0.5); + } + } + } + + buf.count = n; + } + + /// Projects `(targetW, targetH)` onto the feasible region described by + /// the flat inequality buffer [buf], intersected with `[minW, maxW] × + /// [minH, maxH]`. Writes results into [out] without allocating. + /// + /// The projection is L∞ (Chebyshev): each dimension is clamped + /// independently where possible, and coupled-inequality violations are + /// resolved by reducing the dimension whose current contribution to the + /// violation is largest. Bounded in iterations; converges in practice in + /// ≤4 passes for 4 corner inequalities. + static void projectOntoFeasibleRegionFlat( + IneqBuffer buf, { + required FlatProjection out, + required double targetW, + required double targetH, + required double minW, + required double maxW, + required double minH, + required double maxH, + }) { + final data = buf.data; + final n = buf.count; + + double w = targetW; + double h = targetH; + + // Step 1: user min/max. + if (w < minW) { + w = minW; + } else if (w > maxW) { + w = maxW; + } + if (h < minH) { + h = minH; + } else if (h > maxH) { + h = maxH; + } + + // Step 2: unified violation loop. + // + // Each iteration finds the maximally-violated inequality across ALL rows + // (w-only, h-only, and coupled) and applies the correct fix: + // + // * w-only (b≈0): set w = c/a (with sign handling), clamp. + // * h-only (a≈0): set h = c/b, clamp. + // * coupled: L2 (orthogonal) projection onto the constraint line, + // clamp. + // + // The unified order matters: applying w/h-only constraints *before* the + // coupled L2 step (as the previous two-step structure did) caused the L2 + // projection to start from a different point as the desired (w, h) + // crossed an h-only bound, producing a non-monotonic projected dimension + // as the cursor swept past the constraint corner. Driving everything off + // the same violator-priority queue avoids that. + // + // For locked dimensions (minX == maxX) the L2 step degenerates to 1D + // reduction of the unlocked axis. + final bool wLocked = (maxW - minW).abs() < 1e-12; + final bool hLocked = (maxH - minH).abs() < 1e-12; + const maxIterations = 32; + for (int iter = 0; iter < maxIterations; iter++) { + int violatorIdx = -1; + double maxOvershoot = 0; + for (int i = 0; i < n; i++) { + final a = data[3 * i]; + final b = data[3 * i + 1]; + final c = data[3 * i + 2]; + final over = a * w + b * h - c; + // Sub-1e-9 residual is expected float-precision noise after an L2 + // projection; tighter thresholds re-trigger iteration and drift the + // result. + if (over > maxOvershoot + 1e-9) { + maxOvershoot = over; + violatorIdx = i; + } + } + if (violatorIdx < 0) break; + + final a = data[3 * violatorIdx]; + final b = data[3 * violatorIdx + 1]; + final c = data[3 * violatorIdx + 2]; + final aAbs = a.abs(); + final bAbs = b.abs(); + + if (bAbs < 1e-12) { + // w-only. + var newW = c / a; + if (newW < minW) { + newW = minW; + } else if (newW > maxW) { + newW = maxW; + } + w = newW; + } else if (aAbs < 1e-12) { + // h-only. + var newH = c / b; + if (newH < minH) { + newH = minH; + } else if (newH > maxH) { + newH = maxH; + } + h = newH; + } else if (wLocked && hLocked) { + break; + } else if (wLocked) { + var newH = (c - a * w) / b; + if (newH < minH) { + newH = minH; + } else if (newH > maxH) { + newH = maxH; + } + h = newH; + } else if (hLocked) { + var newW = (c - b * h) / a; + if (newW < minW) { + newW = minW; + } else if (newW > maxW) { + newW = maxW; + } + w = newW; + } else { + final d = (a * w + b * h - c) / (a * a + b * b); + var newW = w - d * a; + var newH = h - d * b; + bool wClamped = false; + bool hClamped = false; + if (newW < minW) { + newW = minW; + wClamped = true; + } else if (newW > maxW) { + newW = maxW; + wClamped = true; + } + if (newH < minH) { + newH = minH; + hClamped = true; + } else if (newH > maxH) { + newH = maxH; + hClamped = true; + } + // If the L2 step pushed one dim past its bound and got clamped, the + // constraint may still be violated. Without a fallback, the next + // iteration's L2 step has the saturated dim parked at its bound and + // the projection becomes effectively 1D — but L2 with one dim + // saturated converges slowly (~ 0.85^iter for typical geometries), + // exceeding the 32-iter cap on harsh-delta force-flips. Resolve + // exactly by 1D-projecting the unclamped dim. + if (wClamped != hClamped && (a * newW + b * newH - c) > 1e-9) { + if (wClamped && b.abs() > 1e-12) { + var solvedH = (c - a * newW) / b; + if (solvedH < minH) { + solvedH = minH; + } else if (solvedH > maxH) { + solvedH = maxH; + } + newH = solvedH; + } else if (hClamped && a.abs() > 1e-12) { + var solvedW = (c - b * newH) / a; + if (solvedW < minW) { + solvedW = minW; + } else if (solvedW > maxW) { + solvedW = maxW; + } + newW = solvedW; + } + } + w = newW; + h = newH; + } + } + + // Compute the worst residual across all inequalities at the final + // (w, h). The projection loop converges to ≤1e-9 when feasible; a + // non-trivial residual here means the target (w, h) lies strictly + // outside the feasible region — using (w, h) to build a rect would + // leak the clamp by `residual` pixels. Callers read `out.feasible` to + // decide whether to use the result or freeze the gesture. + double residual = 0; + for (int i = 0; i < n; i++) { + final a = data[3 * i]; + final b = data[3 * i + 1]; + final c = data[3 * i + 2]; + final over = a * w + b * h - c; + if (over > residual) residual = over; + } + out.feasible = residual <= 1e-3; + out.worstResidual = residual; + + out.w = w; + out.h = h; + out.wMinHit = (w - minW).abs() < 1e-9; + out.wMaxHit = maxW.isFinite && (w - maxW).abs() < 1e-9; + out.hMinHit = (h - minH).abs() < 1e-9; + out.hMaxHit = maxH.isFinite && (h - maxH).abs() < 1e-9; + } +} diff --git a/packages/box_transform/lib/src/transformer.dart b/packages/box_transform/lib/src/transformer.dart index 06872a2..5cff271 100644 --- a/packages/box_transform/lib/src/transformer.dart +++ b/packages/box_transform/lib/src/transformer.dart @@ -1,45 +1,184 @@ import 'dart:developer'; import 'dart:math' hide log; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'enums.dart'; import 'geometry.dart'; import 'helpers.dart'; import 'resizers/resizer.dart'; import 'result.dart'; +import 'rotated_clamping_solver.dart'; /// A class that transforms a [Box] in several different supported forms. class BoxTransformer { /// A private constructor to prevent instantiation. const BoxTransformer._(); - /// Calculates the new position of the [initialRect] based on the - /// [initialLocalPosition] of the mouse cursor and wherever [localPosition] - /// of the mouse cursor is currently at. + /// Rotations smaller than this in absolute value are treated as zero and + /// take the axis-aligned fast path. At this magnitude the difference + /// between the rotated and unrotated rect is sub-ULP for any practical + /// box dimensions, so the visual outcome is identical and we save the LP + /// solver cost. Float intermediates from animation tweens routinely land + /// in this range when interpolating to or through zero. + static const double _kRotationEpsilon = 1e-9; + + // Per-isolate scratch buffers reused by the rotated-resize hot path. Both + // the inequality batch and the projection result are mutable bags reused + // across calls so the solver never allocates on the steady-state path. + // Resize is called O(60-120 Hz) on a single isolate; sharing scratch + // is safe (Dart isolates are single-threaded) and saves ~256 B/call. + static final IneqBuffer _ineqScratch = IneqBuffer(); + static final FlatProjection _projScratch = FlatProjection(); + + /// Moves the given [initialRect] with given [initialLocalPosition] of the + /// mouse cursor and wherever [localPosition] of the mouse cursor is + /// currently at. /// /// The [clampingRect] is the rect that the [initialRect] is not allowed /// to go outside of when dragging or resizing. + /// + /// [bindingStrategy] controls which corners are enforced against the + /// clamp at nonzero [rotation]: + /// + /// * [BindingStrategy.boundingBox]: the four rotated rect corners stay + /// inside the clamp (the rendered footprint cannot poke out). + /// * [BindingStrategy.originalBox]: the four unrotated rect corners stay + /// inside the clamp (the logical rect stays in; rotated corners may + /// extend outside). + /// + /// Ignored when [rotation] is 0 — the axis-aligned branch always clamps + /// against the unrotated rect. static RawMoveResult move({ required Box initialRect, required Vector2 initialLocalPosition, required Vector2 localPosition, Box clampingRect = Box.largest, + double rotation = 0.0, + BindingStrategy bindingStrategy = BindingStrategy.boundingBox, }) { final Vector2 delta = localPosition - initialLocalPosition; - final Box unclampedRect = initialRect.translate(delta.x, delta.y); - final Box clampedRect = clampingRect.containOther(unclampedRect); - final Vector2 clampedDelta = clampedRect.topLeft - initialRect.topLeft; - - final Box newRect = initialRect.translate(clampedDelta.x, clampedDelta.y); + if (rotation.abs() < _kRotationEpsilon) { + final Box unclampedRect = initialRect.translate(delta.x, delta.y); + final Box clampedRect = clampingRect.containOther(unclampedRect); + final Vector2 clampedDelta = clampedRect.topLeft - initialRect.topLeft; + final Box newRect = initialRect.translate(clampedDelta.x, clampedDelta.y); + return MoveResult( + rect: newRect, + oldRect: initialRect, + delta: delta, + rawSize: newRect.size, + largestRect: clampingRect, + rotation: rotation, + boundingRect: rotation == 0.0 + ? null + : ClampHelpers.calculateBoundingRect(newRect), + oldBoundingRect: rotation == 0.0 + ? null + : ClampHelpers.calculateBoundingRect(initialRect), + ); + } + // Rotated move. Translation of a rotated rect preserves rotation; + // clamping reduces to "find tx, ty such that each of the 4 corners + // stays in clampingRect". Which four corners are enforced depends on + // [bindingStrategy]: + // + // * boundingBox: the rendered rotated rect's four corners must stay + // in the clamp. Offsets use the rotated basis (cos, sin). + // * originalBox: the unrotated rect's four corners must stay in the + // clamp. The rendered rotated corners MAY extend outside. Offsets + // are axis-aligned (cos=1, sin=0 effectively). + // + // Per-corner bounds on (tx, ty) are linear in either case. + final w = initialRect.width; + final h = initialRect.height; + final cx0 = initialRect.left + w / 2; + final cy0 = initialRect.top + h / 2; + // boundingBox: enforce the rotated quad's four corners only. The + // rendered footprint stays in the clamp; the unrotated stored rect + // is invisible storage and need not also be in the clamp. (Adding + // the unrotated corners as a second constraint set was an earlier + // attempt to guard against degenerate post-flip geometries where + // h≈0 or w≈0; for non-degenerate boxes, which `minWidth` and + // `minHeight` enforce, the unrotated corners are strictly tighter + // than the rotated AABB on whichever axis they extend further + // along, which contradicts the boundingBox semantic of "rendered + // AABB stays in the clamp".) + // + // originalBox: enforce the unrotated rect's four axis-aligned + // corners. Rotated corners may extend outside the clamp. + final List offsets; + if (bindingStrategy == BindingStrategy.boundingBox) { + final c = cos(rotation); + final s = sin(rotation); + offsets = [ + Vector2(-w / 2 * c - (-h / 2) * s, -w / 2 * s + (-h / 2) * c), + Vector2(w / 2 * c - (-h / 2) * s, w / 2 * s + (-h / 2) * c), + Vector2(w / 2 * c - h / 2 * s, w / 2 * s + h / 2 * c), + Vector2(-w / 2 * c - h / 2 * s, -w / 2 * s + h / 2 * c), + ]; + } else { + offsets = [ + Vector2(-w / 2, -h / 2), + Vector2(w / 2, -h / 2), + Vector2(w / 2, h / 2), + Vector2(-w / 2, h / 2), + ]; + } + // Compute the GLOBAL feasible interval for (tx, ty) rather than + // applying per-corner constraints sequentially. Sequential max/min is + // order-dependent when the constraint system is empty (the clamp is + // tighter than the rotated bounding rect, even by a hair of float + // precision): opposite corners push tx in opposing directions and the + // last corner visited wins, flicking the box past the clamp. + double txMin = double.negativeInfinity; + double txMax = double.infinity; + double tyMin = double.negativeInfinity; + double tyMax = double.infinity; + for (final off in offsets) { + final left = clampingRect.left - (cx0 + off.x); + final right = clampingRect.right - (cx0 + off.x); + final top = clampingRect.top - (cy0 + off.y); + final bottom = clampingRect.bottom - (cy0 + off.y); + if (left > txMin) txMin = left; + if (right < txMax) txMax = right; + if (top > tyMin) tyMin = top; + if (bottom < tyMax) tyMax = bottom; + } + // Sanitise empty intervals: at saturation the feasible region can be a + // single point. Float precision may invert the bounds; collapse to the + // midpoint so the delta.clamp below is well-ordered and semantically + // correct (no order-dependent flick). + if (txMin > txMax) { + final mid = (txMin + txMax) / 2; + txMin = mid; + txMax = mid; + } + if (tyMin > tyMax) { + final mid = (tyMin + tyMax) / 2; + tyMin = mid; + tyMax = mid; + } + final double tx = delta.x.clamp(txMin, txMax).toDouble(); + final double ty = delta.y.clamp(tyMin, tyMax).toDouble(); + final clampedRect = Box.fromLTRB( + initialRect.left + tx, + initialRect.top + ty, + initialRect.right + tx, + initialRect.bottom + ty, + rotation: rotation, + ); return MoveResult( - rect: newRect, + rect: clampedRect, oldRect: initialRect, - delta: delta, - rawSize: newRect.size, + delta: Vector2(tx, ty), + rawSize: clampedRect.size, largestRect: clampingRect, + rotation: rotation, + boundingRect: ClampHelpers.calculateBoundingRect(clampedRect), + oldBoundingRect: ClampHelpers.calculateBoundingRect(initialRect), ); } @@ -57,16 +196,6 @@ class BoxTransformer { /// /// The [constraints] is the constraints that the [initialRect] is not allowed /// to shrink or grow beyond. - /// - /// [allowResizeOverflow] decides whether to allow the rect to overflow the - /// resize operation to its opposite side to continue the resize operation - /// until its constrained on both sides. - /// - /// If this is set to false, the rect will cease the resize operation the - /// instant it hits an edge of the [clampingRect]. - /// - /// If this is set to true, the rect will continue the resize operation until - /// it is constrained to both sides of the [clampingRect]. static RawResizeResult resize({ required Box initialRect, required Vector2 initialLocalPosition, @@ -77,7 +206,74 @@ class BoxTransformer { Box clampingRect = Box.largest, Constraints constraints = const Constraints.unconstrained(), bool allowFlipping = true, + double rotation = 0.0, + BindingStrategy bindingStrategy = BindingStrategy.boundingBox, }) { + // NOTE: this uses strict `!= 0.0` rather than the rotation epsilon used + // by `move()`. The AA path is now actually *faster* than the LP path + // post-roundToPrecision fix, but extending the epsilon bypass here would + // also require re-wrapping the resizer's rotation=0 result Box with the + // input rotation to preserve the contract `result.rect.rotation == input + // rotation`. Left as a future optimization for sub-epsilon rotations, + // which only arise from animation tweens rounding through zero. + if (rotation != 0.0) { + if (handle == HandlePosition.none) handle = HandlePosition.bottomRight; + switch (resizeMode) { + case ResizeMode.freeform: + return _resizeRotatedFreeform( + initialRect: initialRect, + initialLocalPosition: initialLocalPosition, + localPosition: localPosition, + handle: handle, + initialFlip: initialFlip, + clampingRect: clampingRect, + constraints: constraints, + rotation: rotation, + bindingStrategy: bindingStrategy, + allowFlipping: allowFlipping, + ); + case ResizeMode.scale: + return _resizeRotatedScale( + initialRect: initialRect, + initialLocalPosition: initialLocalPosition, + localPosition: localPosition, + handle: handle, + initialFlip: initialFlip, + clampingRect: clampingRect, + constraints: constraints, + rotation: rotation, + bindingStrategy: bindingStrategy, + allowFlipping: allowFlipping, + ); + case ResizeMode.symmetric: + return _resizeRotatedSymmetric( + initialRect: initialRect, + initialLocalPosition: initialLocalPosition, + localPosition: localPosition, + handle: handle, + initialFlip: initialFlip, + clampingRect: clampingRect, + constraints: constraints, + rotation: rotation, + bindingStrategy: bindingStrategy, + allowFlipping: allowFlipping, + ); + case ResizeMode.symmetricScale: + return _resizeRotatedSymmetricScale( + initialRect: initialRect, + initialLocalPosition: initialLocalPosition, + localPosition: localPosition, + handle: handle, + initialFlip: initialFlip, + clampingRect: clampingRect, + constraints: constraints, + rotation: rotation, + bindingStrategy: bindingStrategy, + allowFlipping: allowFlipping, + ); + } + } + if (handle == HandlePosition.none) { log('Using bottomRight handle instead of none.'); handle = HandlePosition.bottomRight; @@ -89,7 +285,7 @@ class BoxTransformer { // to flip based on the current local position of the mouse cursor. final Flip currentFlip = !allowFlipping ? Flip.none - : getFlipForRect(initialRect, delta, handle, resizeMode); + : ClampHelpers.getFlipForRect(initialRect, delta, handle, resizeMode); // This sets the constraints such that it reflects flipRect state. if (allowFlipping && @@ -300,4 +496,875 @@ class BoxTransformer { max(top, bottom), ); } + + /// Computes a rotation update from gesture pointer positions. + /// + /// Returns a [RawRotateResult] whose [RotateResult.rotation] is + /// [initialRotation] plus the signed angle between the vectors from the + /// box center to [initialLocalPosition] and [localPosition]. + static RawRotateResult rotate({ + required Box initialRect, + required Vector2 initialLocalPosition, + required Vector2 localPosition, + required double initialRotation, + Box clampingRect = Box.largest, + BindingStrategy bindingStrategy = BindingStrategy.boundingBox, + }) { + final center = Vector2( + (initialRect.left + initialRect.right) / 2, + (initialRect.top + initialRect.bottom) / 2, + ); + final fromVec = initialLocalPosition - center; + final toVec = localPosition - center; + final deltaAngle = atan2(toVec.y, toVec.x) - atan2(fromVec.y, fromVec.x); + final newRotation = initialRotation + deltaAngle; + + // Slide-then-freeze: compute the feasible (tx, ty) interval that keeps + // the rotated rect inside [clampingRect] under [bindingStrategy], then + // either translate by the smallest tx/ty in that interval (slide-to-fit) + // or — if the interval is empty — reject the rotation. + final fit = _fitRotatedRect( + initialRect: initialRect, + rotation: newRotation, + clampingRect: clampingRect, + bindingStrategy: bindingStrategy, + ); + if (fit == null) { + return RotateResult( + rect: initialRect, + oldRect: initialRect, + // Report the attempted gesture motion so consumers can observe the + // user's intent without first checking [feasible]. Mirrors how + // `move()` reports its clamped delta. + delta: localPosition - initialLocalPosition, + rawSize: Dimension(initialRect.width, initialRect.height), + largestRect: clampingRect, + rotation: initialRotation, + boundingRect: ClampHelpers.calculateBoundingRect(initialRect), + oldBoundingRect: ClampHelpers.calculateBoundingRect(initialRect), + feasible: false, + ); + } + + final (double tx, double ty) = fit; + final rotatedRect = Box.fromLTRB( + initialRect.left + tx, + initialRect.top + ty, + initialRect.right + tx, + initialRect.bottom + ty, + rotation: newRotation, + ); + return RotateResult( + rect: rotatedRect, + oldRect: initialRect, + delta: localPosition - initialLocalPosition, + rawSize: Dimension(rotatedRect.width, rotatedRect.height), + largestRect: clampingRect, + rotation: newRotation, + boundingRect: ClampHelpers.calculateBoundingRect(rotatedRect), + oldBoundingRect: ClampHelpers.calculateBoundingRect(initialRect), + feasible: true, + ); + } + + /// Reconstructs the un-rotated rect for a side-handle resize. + /// + /// Side handles' anchor is the midpoint of the opposite side, not a + /// corner of the rect. The rect is positioned such that the new rect's + /// corresponding side midpoint sits at [anchorLocal] (so the + /// post-correction world-anchor invariant holds): the perpendicular + /// dimension extends symmetrically about that anchor; the dragged + /// dimension may flip across the anchor if the pointer crossed it + /// (reflected via [pointerRightOfAnchor] / [pointerBelowAnchor]). + static Box _buildSideRotatedRect({ + required HandlePosition handle, + required Vector2 anchorLocal, + required double w, + required double h, + required bool pointerRightOfAnchor, + required bool pointerBelowAnchor, + required double rotation, + }) { + if (handle.influencesLeft || handle.influencesRight) { + final dx = pointerRightOfAnchor ? w : -w; + return Box.fromLTRB( + min(anchorLocal.x, anchorLocal.x + dx), + anchorLocal.y - h / 2, + max(anchorLocal.x, anchorLocal.x + dx), + anchorLocal.y + h / 2, + rotation: rotation, + ); + } + final dy = pointerBelowAnchor ? h : -h; + return Box.fromLTRB( + anchorLocal.x - w / 2, + min(anchorLocal.y, anchorLocal.y + dy), + anchorLocal.x + w / 2, + max(anchorLocal.y, anchorLocal.y + dy), + rotation: rotation, + ); + } + + /// Returns `(tx, ty)` such that translating [initialRect] by it places the + /// rect at rotation [rotation] fully inside [clampingRect] (per + /// [bindingStrategy]'s 4-corner feasibility) with minimum motion from the + /// rect's current center, or `null` if no such translation exists. + /// + /// Mirrors the per-corner interval-intersection used by [move]; the only + /// difference is the empty-interval response — `move` collapses to the + /// midpoint, here we surface the infeasibility so the caller can reject. + static (double, double)? _fitRotatedRect({ + required Box initialRect, + required double rotation, + required Box clampingRect, + required BindingStrategy bindingStrategy, + }) { + final w = initialRect.width; + final h = initialRect.height; + final cx0 = initialRect.left + w / 2; + final cy0 = initialRect.top + h / 2; + // boundingBox: rotated quad corners only (rendered footprint inside + // the clamp). originalBox: unrotated rect corners (axis-aligned). + final List offsets; + if (bindingStrategy == BindingStrategy.boundingBox) { + final c = cos(rotation); + final s = sin(rotation); + offsets = [ + Vector2(-w / 2 * c - (-h / 2) * s, -w / 2 * s + (-h / 2) * c), + Vector2(w / 2 * c - (-h / 2) * s, w / 2 * s + (-h / 2) * c), + Vector2(w / 2 * c - h / 2 * s, w / 2 * s + h / 2 * c), + Vector2(-w / 2 * c - h / 2 * s, -w / 2 * s + h / 2 * c), + ]; + } else { + offsets = [ + Vector2(-w / 2, -h / 2), + Vector2(w / 2, -h / 2), + Vector2(w / 2, h / 2), + Vector2(-w / 2, h / 2), + ]; + } + double txMin = double.negativeInfinity; + double txMax = double.infinity; + double tyMin = double.negativeInfinity; + double tyMax = double.infinity; + for (final off in offsets) { + final left = clampingRect.left - (cx0 + off.x); + final right = clampingRect.right - (cx0 + off.x); + final top = clampingRect.top - (cy0 + off.y); + final bottom = clampingRect.bottom - (cy0 + off.y); + if (left > txMin) txMin = left; + if (right < txMax) txMax = right; + if (top > tyMin) tyMin = top; + if (bottom < tyMax) tyMax = bottom; + } + if (txMin > txMax || tyMin > tyMax) return null; + final tx = 0.0.clamp(txMin, txMax).toDouble(); + final ty = 0.0.clamp(tyMin, tyMax).toDouble(); + return (tx, ty); + } + + // --------------------------------------------------------------------------- + // Rotated resize implementations. + // + // Approach: work in the box's unrotated-local frame with the handle's + // opposite corner as anchor. Transform the pointer into that frame, solve + // the resize against a feasibility polygon (up to 32 linear inequalities + // for boundingBox — rotated and unrotated corners — or 16 for + // originalBox; plus min/max constraints), then place the result in world + // space such that the anchor's world position is preserved. + // --------------------------------------------------------------------------- + + static RawResizeResult _resizeRotatedFreeform({ + required Box initialRect, + required Vector2 initialLocalPosition, + required Vector2 localPosition, + required HandlePosition handle, + required Flip initialFlip, + required Box clampingRect, + required Constraints constraints, + required double rotation, + required BindingStrategy bindingStrategy, + required bool allowFlipping, + }) { + // 1. Box center + anchor (both in world-unrotated frame). + final anchorLocal = handle.anchor(initialRect); + final center = Vector2( + (initialRect.left + initialRect.right) / 2, + (initialRect.top + initialRect.bottom) / 2, + ); + final anchorWorld = + ClampHelpers.rotatePointAround(anchorLocal, center, rotation); + + // 2. Un-rotate pointer positions around the BOX CENTRE to land them in + // the box's own unrotated coordinate frame. Delta in that frame maps + // directly onto rect edges via handle.influences*. + final initialPointerLocal = + ClampHelpers.worldToUnrotated(initialLocalPosition, center, rotation); + final currentPointerLocal = + ClampHelpers.worldToUnrotated(localPosition, center, rotation); + final delta = currentPointerLocal - initialPointerLocal; + + // 3. Apply delta to edges, compute desired (w, h). This mirrors the + // non-rotated `_applyDelta` semantics. + final double newL = + initialRect.left + (handle.influencesLeft ? delta.x : 0.0); + final double newT = + initialRect.top + (handle.influencesTop ? delta.y : 0.0); + final double newR = + initialRect.right + (handle.influencesRight ? delta.x : 0.0); + final double newB = + initialRect.bottom + (handle.influencesBottom ? delta.y : 0.0); + final desiredW = (newR - newL).abs(); + final desiredH = (newB - newT).abs(); + // Pointer sign relative to anchor (for placing the new local corner). + final bool pointerRightOfAnchor = + handle.influencesRight ? newR >= anchorLocal.x : newL >= anchorLocal.x; + final bool pointerBelowAnchor = + handle.influencesBottom ? newB >= anchorLocal.y : newT >= anchorLocal.y; + + // 4. Build feasibility polygon and project. Reinterpret the legacy + // "Constraints.unconstrained()" sentinel (minWidth/minHeight = infinity) + // as effective min = 0 for the LP. + // + // The sign of (w, h) direction from anchor depends on which handle is + // being dragged: bottomRight → (+w, +h), topRight → (+w, -h), + // bottomLeft → (-w, +h), topLeft → (-w, -h). Without these signs, the + // solver would describe a mirrored non-existent rectangle on the wrong + // side of the anchor and produce nonsensical clamping. + final effMinW = constraints.minWidth.isFinite ? constraints.minWidth : 0.0; + final effMinH = + constraints.minHeight.isFinite ? constraints.minHeight : 0.0; + final double widthSign = pointerRightOfAnchor ? 1.0 : -1.0; + final double heightSign = pointerBelowAnchor ? 1.0 : -1.0; + // "Natural" signs are the direction the rect occupies in the + // gesture-start state — i.e. what the rect's geometry looks like + // before any force-flip. For a topLeft handle the rect grows up-left + // from the bottomRight anchor (-, -); for bottomRight it grows + // down-right (+, +). Force-flip swaps these when the cursor crosses + // the anchor. + final double naturalWidthSign = handle.influencesRight ? 1.0 : -1.0; + final double naturalHeightSign = handle.influencesBottom ? 1.0 : -1.0; + bool effectiveRightOfAnchor = pointerRightOfAnchor; + bool effectiveBelowAnchor = pointerBelowAnchor; + final bool inForceFlipTerritory = + widthSign != naturalWidthSign || heightSign != naturalHeightSign; + + final ineqs = _ineqScratch; + void buildIneqs(double wSign, double hSign) { + if (handle.isSide) { + RotatedClampingSolver.buildSideHandleIneqsInto( + ineqs, + anchor: anchorWorld, + theta: rotation, + clampingRect: clampingRect, + handle: handle, + bindingStrategy: bindingStrategy, + widthSign: wSign, + heightSign: hSign, + ); + } else { + RotatedClampingSolver.buildCornerIneqsInto( + ineqs, + anchor: anchorWorld, + theta: rotation, + clampingRect: clampingRect, + bindingStrategy: bindingStrategy, + widthSign: wSign, + heightSign: hSign, + ); + } + } + + buildIneqs(widthSign, heightSign); + + // Side handles lock the perpendicular dimension at initialRect's value; + // the LP must not vary it. Pin min=max for that axis. + final bool horizontalSide = + handle.isSide && (handle.influencesLeft || handle.influencesRight); + final bool verticalSide = + handle.isSide && (handle.influencesTop || handle.influencesBottom); + final double lpMinW = verticalSide ? initialRect.width : effMinW; + final double lpMaxW = + verticalSide ? initialRect.width : constraints.maxWidth; + final double lpMinH = horizontalSide ? initialRect.height : effMinH; + final double lpMaxH = + horizontalSide ? initialRect.height : constraints.maxHeight; + final projection = _projScratch; + RotatedClampingSolver.projectOntoFeasibleRegionFlat( + ineqs, + out: projection, + targetW: desiredW, + targetH: desiredH, + minW: lpMinW, + maxW: lpMaxW, + minH: lpMinH, + maxH: lpMaxH, + ); + + // Force-flip fallback: when the cursor is past the anchor but the + // flipped state can't fit clamp + constraints, retry the LP with + // natural-direction signs. The rect then tracks the cursor by + // clamp-pinning at the natural wall instead of freezing — the + // "expectantly clamped" behavior. Force-flip only engages when it's + // actually feasible. If both directions are infeasible, freeze. + // + // Crucially, the fallback target on each *flipped* axis is 0 — not + // the original desired magnitude. The cursor's distance past the + // anchor in the flip direction has no meaning in the natural- + // direction LP; using it would grow the rect in the *opposite* + // direction from where the user dragged. Zeroing makes the LP + // collapse the flipped axis toward minimum, while axes that were + // already natural keep tracking their cursor-derived target. + if (!projection.feasible && inForceFlipTerritory) { + final double fallbackDesiredW = + widthSign != naturalWidthSign ? 0.0 : desiredW; + final double fallbackDesiredH = + heightSign != naturalHeightSign ? 0.0 : desiredH; + buildIneqs(naturalWidthSign, naturalHeightSign); + RotatedClampingSolver.projectOntoFeasibleRegionFlat( + ineqs, + out: projection, + targetW: fallbackDesiredW, + targetH: fallbackDesiredH, + minW: lpMinW, + maxW: lpMaxW, + minH: lpMinH, + maxH: lpMaxH, + ); + if (projection.feasible) { + effectiveRightOfAnchor = handle.influencesRight; + effectiveBelowAnchor = handle.influencesBottom; + } + } + + if (!projection.feasible) { + // Even the natural direction cannot fit — gesture is truly stuck. + // Return a sentinel rect equal to gesture-start. The controller + // will hold its last feasible state instead of writing this one. + return ResizeResult( + rect: initialRect, + oldRect: initialRect, + delta: localPosition - initialLocalPosition, + flip: initialFlip, + resizeMode: ResizeMode.freeform, + rawSize: Dimension(initialRect.width, initialRect.height), + minWidthReached: false, + maxWidthReached: false, + minHeightReached: false, + maxHeightReached: false, + largestRect: clampingRect, + handle: handle, + rotation: rotation, + boundingRect: ClampHelpers.calculateBoundingRect(initialRect), + oldBoundingRect: ClampHelpers.calculateBoundingRect(initialRect), + feasible: false, + ); + } + + // 5. Reconstruct the unrotated rect anchored at anchorLocal with + // projected dimensions. Side handles use a different construction + // than corners because their anchor is the midpoint of the + // opposite side (not a corner of the rect): the rect spans the + // perpendicular axis symmetrically around the anchor. + final Box newRect; + if (handle.isSide) { + // Freeform side: lock the perpendicular dimension at initialRect's + // value (the LP can't change it because newR/newL or newT/newB stay + // pinned to the initial rect). + final bool horizontal = handle.influencesLeft || handle.influencesRight; + newRect = _buildSideRotatedRect( + handle: handle, + anchorLocal: anchorLocal, + w: horizontal ? projection.w : initialRect.width, + h: horizontal ? initialRect.height : projection.h, + pointerRightOfAnchor: effectiveRightOfAnchor, + pointerBelowAnchor: effectiveBelowAnchor, + rotation: rotation, + ); + } else { + final dx = effectiveRightOfAnchor ? projection.w : -projection.w; + final dy = effectiveBelowAnchor ? projection.h : -projection.h; + final newLocalCorner = Vector2(anchorLocal.x + dx, anchorLocal.y + dy); + newRect = Box.fromLTRB( + min(anchorLocal.x, newLocalCorner.x), + min(anchorLocal.y, newLocalCorner.y), + max(anchorLocal.x, newLocalCorner.x), + max(anchorLocal.y, newLocalCorner.y), + rotation: rotation, + ); + } + + // 6. Shift the new rect in world space so that its rotated anchor lands + // exactly back on anchorWorld. + final newCenter = Vector2( + (newRect.left + newRect.right) / 2, + (newRect.top + newRect.bottom) / 2, + ); + final newAnchorInWorld = + ClampHelpers.rotatePointAround(anchorLocal, newCenter, rotation); + final correction = anchorWorld - newAnchorInWorld; + final shifted = Box.fromLTRB( + newRect.left + correction.x, + newRect.top + correction.y, + newRect.right + correction.x, + newRect.bottom + correction.y, + rotation: rotation, + ); + + // Flip transition: the pointer crossed the handle's "natural" direction + // in the un-rotated frame. For corner/side handles, flip on each axis + // independently. Pure-side handles only flip on their active axis. + // Uses the EFFECTIVE side-of-anchor: when force-flip fell back to + // natural-direction (because the flipped state was infeasible), the + // rect is unflipped, so report no flip even if the cursor is past + // the anchor in raw coordinates. + final bool xFlipped = handle.influencesRight + ? !effectiveRightOfAnchor + : (handle.influencesLeft ? effectiveRightOfAnchor : false); + final bool yFlipped = handle.influencesBottom + ? !effectiveBelowAnchor + : (handle.influencesTop ? effectiveBelowAnchor : false); + final Flip currentFlip = allowFlipping + ? Flip.fromValue(xFlipped ? -1 : 1, yFlipped ? -1 : 1) + : Flip.none; + + return ResizeResult( + rect: shifted, + oldRect: initialRect, + delta: localPosition - initialLocalPosition, + flip: currentFlip * initialFlip, + resizeMode: ResizeMode.freeform, + rawSize: Dimension(shifted.width, shifted.height), + minWidthReached: projection.wMinHit, + maxWidthReached: projection.wMaxHit, + minHeightReached: projection.hMinHit, + maxHeightReached: projection.hMaxHit, + largestRect: clampingRect, + handle: handle, + rotation: rotation, + boundingRect: ClampHelpers.calculateBoundingRect(shifted), + oldBoundingRect: ClampHelpers.calculateBoundingRect(initialRect), + ); + } + + static RawResizeResult _resizeRotatedScale({ + required Box initialRect, + required Vector2 initialLocalPosition, + required Vector2 localPosition, + required HandlePosition handle, + required Flip initialFlip, + required Box clampingRect, + required Constraints constraints, + required double rotation, + required BindingStrategy bindingStrategy, + required bool allowFlipping, + }) { + final anchorLocal = handle.anchor(initialRect); + final center = Vector2( + (initialRect.left + initialRect.right) / 2, + (initialRect.top + initialRect.bottom) / 2, + ); + final anchorWorld = + ClampHelpers.rotatePointAround(anchorLocal, center, rotation); + + // Un-rotate pointers around the box centre (not anchorWorld) so delta + // is in the box's own unrotated frame. + final initialPointerLocal = + ClampHelpers.worldToUnrotated(initialLocalPosition, center, rotation); + final currentPointerLocal = + ClampHelpers.worldToUnrotated(localPosition, center, rotation); + final delta = currentPointerLocal - initialPointerLocal; + + final double newL = + initialRect.left + (handle.influencesLeft ? delta.x : 0.0); + final double newR = + initialRect.right + (handle.influencesRight ? delta.x : 0.0); + final double newT = + initialRect.top + (handle.influencesTop ? delta.y : 0.0); + final double newB = + initialRect.bottom + (handle.influencesBottom ? delta.y : 0.0); + // Aspect ratio k = h / w from the initial rect. + final k = initialRect.height / initialRect.width; + // For top/bottom side handles in scale mode, the user drags vertically; + // height is the active dimension. Convert to an equivalent w via k so + // the rest of the LP (which substitutes h = k*w) still applies. + final bool isVerticalSide = + handle.isSide && (handle.influencesTop || handle.influencesBottom); + final desiredW = + isVerticalSide ? (newB - newT).abs() / k : (newR - newL).abs(); + // Pointer sign relative to anchor (same logic as freeform). + final bool pointerRightOfAnchor = + handle.influencesRight ? newR >= anchorLocal.x : newL >= anchorLocal.x; + final bool pointerBelowAnchor = + handle.influencesBottom ? newB >= anchorLocal.y : newT >= anchorLocal.y; + + // Reinterpret unconstrained-sentinel infinities as zero mins. + final effMinW = constraints.minWidth.isFinite ? constraints.minWidth : 0.0; + final effMinH = + constraints.minHeight.isFinite ? constraints.minHeight : 0.0; + + final double widthSign = pointerRightOfAnchor ? 1.0 : -1.0; + final double heightSign = pointerBelowAnchor ? 1.0 : -1.0; + final ineqs = _ineqScratch; + if (handle.isSide) { + // Same anchor-geometry fix as in freeform: side handles need the + // side-anchored inequalities, not the corner ones. Pass widthSign / + // heightSign so force-flipped side handles get the right LP geometry. + RotatedClampingSolver.buildSideHandleIneqsInto( + ineqs, + anchor: anchorWorld, + theta: rotation, + clampingRect: clampingRect, + handle: handle, + bindingStrategy: bindingStrategy, + widthSign: widthSign, + heightSign: heightSign, + ); + } else { + RotatedClampingSolver.buildCornerIneqsInto( + ineqs, + anchor: anchorWorld, + theta: rotation, + clampingRect: clampingRect, + bindingStrategy: bindingStrategy, + widthSign: widthSign, + heightSign: heightSign, + ); + } + + // Substitute h = k * w into each inequality: (a + b*k)*w <= c. + double wUpper = constraints.maxWidth; + if (constraints.maxHeight.isFinite) { + wUpper = min(wUpper, constraints.maxHeight / k); + } + double wLower = effMinW; + if (effMinH > 0) { + wLower = max(wLower, effMinH / k); + } + final ineqData = ineqs.data; + final ineqCount = ineqs.count; + for (int i = 0; i < ineqCount; i++) { + final a = ineqData[3 * i]; + final b = ineqData[3 * i + 1]; + final coef = a + b * k; + if (coef.abs() < 1e-12) continue; + final bound = ineqData[3 * i + 2] / coef; + if (coef > 0 && bound < wUpper) wUpper = bound; + if (coef < 0 && bound > wLower) wLower = bound; + } + // Sanitize: at constraint-saturation boundaries the feasible interval for + // w can degenerate to a single point (e.g. minH/k == maxW == 500). Finite + // arithmetic can leave wLower above wUpper by a few ULP; treat that case + // as the intended point. If they're separated by more than a reasonable + // epsilon, the feasible region genuinely is empty — fall back to the + // current size rather than throwing. + if (wLower > wUpper) { + if ((wLower - wUpper) <= 1e-6 * max(1.0, wUpper.abs())) { + final mid = (wLower + wUpper) / 2; + wLower = mid; + wUpper = mid; + } else { + wLower = desiredW; + wUpper = desiredW; + } + } + final w = desiredW.clamp(wLower, wUpper).toDouble(); + final h = w * k; + + // Side handles use a side-anchored construction (rect is centered on + // the perpendicular axis around anchorLocal); corners use the existing + // anchor-corner span via min/max. + final Box newRect; + if (handle.isSide) { + newRect = _buildSideRotatedRect( + handle: handle, + anchorLocal: anchorLocal, + w: w, + h: h, + pointerRightOfAnchor: pointerRightOfAnchor, + pointerBelowAnchor: pointerBelowAnchor, + rotation: rotation, + ); + } else { + final dx = widthSign * w; + final dy = heightSign * h; + final newLocalCorner = Vector2(anchorLocal.x + dx, anchorLocal.y + dy); + newRect = Box.fromLTRB( + min(anchorLocal.x, newLocalCorner.x), + min(anchorLocal.y, newLocalCorner.y), + max(anchorLocal.x, newLocalCorner.x), + max(anchorLocal.y, newLocalCorner.y), + rotation: rotation, + ); + } + final newCenter = Vector2( + (newRect.left + newRect.right) / 2, + (newRect.top + newRect.bottom) / 2, + ); + final correction = anchorWorld - + ClampHelpers.rotatePointAround(anchorLocal, newCenter, rotation); + final shifted = Box.fromLTRB( + newRect.left + correction.x, + newRect.top + correction.y, + newRect.right + correction.x, + newRect.bottom + correction.y, + rotation: rotation, + ); + + final bool xFlipped = handle.influencesRight + ? !pointerRightOfAnchor + : (handle.influencesLeft ? pointerRightOfAnchor : false); + final bool yFlipped = handle.influencesBottom + ? !pointerBelowAnchor + : (handle.influencesTop ? pointerBelowAnchor : false); + final Flip currentFlip = allowFlipping + ? Flip.fromValue(xFlipped ? -1 : 1, yFlipped ? -1 : 1) + : Flip.none; + + return ResizeResult( + rect: shifted, + oldRect: initialRect, + delta: localPosition - initialLocalPosition, + flip: currentFlip * initialFlip, + resizeMode: ResizeMode.scale, + rawSize: Dimension(shifted.width, shifted.height), + minWidthReached: (w - wLower).abs() < 1e-9, + maxWidthReached: wUpper.isFinite && (w - wUpper).abs() < 1e-9, + minHeightReached: effMinH > 0 && (h - effMinH).abs() < 1e-9, + maxHeightReached: constraints.maxHeight.isFinite && + (h - constraints.maxHeight).abs() < 1e-9, + largestRect: clampingRect, + handle: handle, + rotation: rotation, + boundingRect: ClampHelpers.calculateBoundingRect(shifted), + oldBoundingRect: ClampHelpers.calculateBoundingRect(initialRect), + ); + } + + static RawResizeResult _resizeRotatedSymmetric({ + required Box initialRect, + required Vector2 initialLocalPosition, + required Vector2 localPosition, + required HandlePosition handle, + required Flip initialFlip, + required Box clampingRect, + required Constraints constraints, + required double rotation, + required BindingStrategy bindingStrategy, + required bool allowFlipping, + }) { + final centerWorld = Vector2( + (initialRect.left + initialRect.right) / 2, + (initialRect.top + initialRect.bottom) / 2, + ); + final currentLocal = + ClampHelpers.worldToUnrotated(localPosition, centerWorld, rotation); + + // Desired (w, h): twice the distance from center to the dragged corner. + // Side handles only drive one axis; lock the perpendicular dimension at + // the initial value so symmetric expansion doesn't collapse it. + final bool horizontalSide = + handle.isSide && (handle.influencesLeft || handle.influencesRight); + final bool verticalSide = + handle.isSide && (handle.influencesTop || handle.influencesBottom); + final desiredW = verticalSide + ? initialRect.width + : (currentLocal.x - centerWorld.x).abs() * 2; + final desiredH = horizontalSide + ? initialRect.height + : (currentLocal.y - centerWorld.y).abs() * 2; + + final effMinW = constraints.minWidth.isFinite ? constraints.minWidth : 0.0; + final effMinH = + constraints.minHeight.isFinite ? constraints.minHeight : 0.0; + + final ineqs = _ineqScratch; + RotatedClampingSolver.buildCenterIneqsInto( + ineqs, + center: centerWorld, + theta: rotation, + clampingRect: clampingRect, + bindingStrategy: bindingStrategy, + ); + final projection = _projScratch; + RotatedClampingSolver.projectOntoFeasibleRegionFlat( + ineqs, + out: projection, + targetW: desiredW, + targetH: desiredH, + minW: effMinW, + maxW: constraints.maxWidth, + minH: effMinH, + maxH: constraints.maxHeight, + ); + if (!projection.feasible) { + return ResizeResult( + rect: initialRect, + oldRect: initialRect, + delta: localPosition - initialLocalPosition, + flip: initialFlip, + resizeMode: ResizeMode.symmetric, + rawSize: Dimension(initialRect.width, initialRect.height), + minWidthReached: false, + maxWidthReached: false, + minHeightReached: false, + maxHeightReached: false, + largestRect: clampingRect, + handle: handle, + rotation: rotation, + boundingRect: ClampHelpers.calculateBoundingRect(initialRect), + oldBoundingRect: ClampHelpers.calculateBoundingRect(initialRect), + feasible: false, + ); + } + final w = projection.w; + final h = projection.h; + + final newRect = Box.fromLTRB( + centerWorld.x - w / 2, + centerWorld.y - h / 2, + centerWorld.x + w / 2, + centerWorld.y + h / 2, + rotation: rotation, + ); + + // Symmetric flip: pointer crossed centerWorld on the handle's natural axis. + final bool xFlipped = handle.influencesRight + ? currentLocal.x < centerWorld.x + : (handle.influencesLeft ? currentLocal.x > centerWorld.x : false); + final bool yFlipped = handle.influencesBottom + ? currentLocal.y < centerWorld.y + : (handle.influencesTop ? currentLocal.y > centerWorld.y : false); + final Flip currentFlip = allowFlipping + ? Flip.fromValue(xFlipped ? -1 : 1, yFlipped ? -1 : 1) + : Flip.none; + + return ResizeResult( + rect: newRect, + oldRect: initialRect, + delta: localPosition - initialLocalPosition, + flip: currentFlip * initialFlip, + resizeMode: ResizeMode.symmetric, + rawSize: Dimension(w, h), + minWidthReached: projection.wMinHit, + maxWidthReached: projection.wMaxHit, + minHeightReached: projection.hMinHit, + maxHeightReached: projection.hMaxHit, + largestRect: clampingRect, + handle: handle, + rotation: rotation, + boundingRect: ClampHelpers.calculateBoundingRect(newRect), + oldBoundingRect: ClampHelpers.calculateBoundingRect(initialRect), + ); + } + + static RawResizeResult _resizeRotatedSymmetricScale({ + required Box initialRect, + required Vector2 initialLocalPosition, + required Vector2 localPosition, + required HandlePosition handle, + required Flip initialFlip, + required Box clampingRect, + required Constraints constraints, + required double rotation, + required BindingStrategy bindingStrategy, + required bool allowFlipping, + }) { + final centerWorld = Vector2( + (initialRect.left + initialRect.right) / 2, + (initialRect.top + initialRect.bottom) / 2, + ); + final currentLocal = + ClampHelpers.worldToUnrotated(localPosition, centerWorld, rotation); + final k = initialRect.height / initialRect.width; + final desiredW = (currentLocal.x - centerWorld.x).abs() * 2; + + final effMinW = constraints.minWidth.isFinite ? constraints.minWidth : 0.0; + final effMinH = + constraints.minHeight.isFinite ? constraints.minHeight : 0.0; + + final ineqs = _ineqScratch; + RotatedClampingSolver.buildCenterIneqsInto( + ineqs, + center: centerWorld, + theta: rotation, + clampingRect: clampingRect, + bindingStrategy: bindingStrategy, + ); + double wUpper = constraints.maxWidth; + if (constraints.maxHeight.isFinite) { + wUpper = min(wUpper, constraints.maxHeight / k); + } + double wLower = effMinW; + if (effMinH > 0) { + wLower = max(wLower, effMinH / k); + } + final ineqData = ineqs.data; + final ineqCount = ineqs.count; + for (int i = 0; i < ineqCount; i++) { + final a = ineqData[3 * i]; + final b = ineqData[3 * i + 1]; + final coef = a + b * k; + if (coef.abs() < 1e-12) continue; + final bound = ineqData[3 * i + 2] / coef; + if (coef > 0 && bound < wUpper) wUpper = bound; + if (coef < 0 && bound > wLower) wLower = bound; + } + // Sanitize: at constraint-saturation boundaries the feasible interval for + // w can degenerate to a single point (e.g. minH/k == maxW == 500). Finite + // arithmetic can leave wLower above wUpper by a few ULP; treat that case + // as the intended point. If they're separated by more than a reasonable + // epsilon, the feasible region genuinely is empty — fall back to the + // current size rather than throwing. + if (wLower > wUpper) { + if ((wLower - wUpper) <= 1e-6 * max(1.0, wUpper.abs())) { + final mid = (wLower + wUpper) / 2; + wLower = mid; + wUpper = mid; + } else { + wLower = desiredW; + wUpper = desiredW; + } + } + final w = desiredW.clamp(wLower, wUpper).toDouble(); + final h = w * k; + + final newRect = Box.fromLTRB( + centerWorld.x - w / 2, + centerWorld.y - h / 2, + centerWorld.x + w / 2, + centerWorld.y + h / 2, + rotation: rotation, + ); + // SymmetricScale flip: pointer crossed centerWorld on the handle's + // natural axis (same logic as symmetric). + final bool xFlipped = handle.influencesRight + ? currentLocal.x < centerWorld.x + : (handle.influencesLeft ? currentLocal.x > centerWorld.x : false); + final bool yFlipped = handle.influencesBottom + ? currentLocal.y < centerWorld.y + : (handle.influencesTop ? currentLocal.y > centerWorld.y : false); + final Flip currentFlip = allowFlipping + ? Flip.fromValue(xFlipped ? -1 : 1, yFlipped ? -1 : 1) + : Flip.none; + + return ResizeResult( + rect: newRect, + oldRect: initialRect, + delta: localPosition - initialLocalPosition, + flip: currentFlip * initialFlip, + resizeMode: ResizeMode.symmetricScale, + rawSize: Dimension(w, h), + minWidthReached: (w - wLower).abs() < 1e-9, + maxWidthReached: wUpper.isFinite && (w - wUpper).abs() < 1e-9, + minHeightReached: effMinH > 0 && (h - effMinH).abs() < 1e-9, + maxHeightReached: constraints.maxHeight.isFinite && + (h - constraints.maxHeight).abs() < 1e-9, + largestRect: clampingRect, + handle: handle, + rotation: rotation, + boundingRect: ClampHelpers.calculateBoundingRect(newRect), + oldBoundingRect: ClampHelpers.calculateBoundingRect(initialRect), + ); + } } diff --git a/packages/box_transform/pubspec.yaml b/packages/box_transform/pubspec.yaml index 0d2d084..e5d27be 100644 --- a/packages/box_transform/pubspec.yaml +++ b/packages/box_transform/pubspec.yaml @@ -9,13 +9,15 @@ issue_tracker: https://github.com/hyper-designed/box_transform/issues documentation: https://docs.page/hyper-designed/box_transform environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.6.0 + +resolution: workspace dependencies: vector_math: ^2.1.4 dev_dependencies: - lints: ^5.1.1 + lints: ^6.0.0 test: ^1.25.15 coverage: ^1.11.1 diff --git a/packages/box_transform/test/alternating_constraints_resizing_test.dart b/packages/box_transform/test/alternating_constraints_resizing_test.dart index 97f18cc..1dcaa23 100644 --- a/packages/box_transform/test/alternating_constraints_resizing_test.dart +++ b/packages/box_transform/test/alternating_constraints_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/available_area_clamping_test.dart b/packages/box_transform/test/available_area_clamping_test.dart index 55626fb..9dc98b6 100644 --- a/packages/box_transform/test/available_area_clamping_test.dart +++ b/packages/box_transform/test/available_area_clamping_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/box_dragging_test.dart b/packages/box_transform/test/box_dragging_test.dart index bf52fd1..f6dd888 100644 --- a/packages/box_transform/test/box_dragging_test.dart +++ b/packages/box_transform/test/box_dragging_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; void main() { test('Drag a box', () { diff --git a/packages/box_transform/test/clamp_at_saturation_move_test.dart b/packages/box_transform/test/clamp_at_saturation_move_test.dart new file mode 100644 index 0000000..b1e60ec --- /dev/null +++ b/packages/box_transform/test/clamp_at_saturation_move_test.dart @@ -0,0 +1,127 @@ +import 'dart:math' as math; +import 'dart:typed_data'; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +/// Regression: when the clamping rect is exactly the size of the rotated +/// box's bounding rect (the minimum that still contains the box), a +/// zero-delta `move()` should leave the box in place. Before this fix, the +/// per-corner `tx`/`ty` intervals were applied sequentially — at saturation +/// they degenerate to a single point, and float precision could invert the +/// order, making the sequential loop produce a `tx` that violates earlier +/// corners. Visible symptom in the playground: at the very last tick of +/// shrinking the clamping rect, the box "flicks" to an offset outside the +/// clamp before restoring when the user gives it breathing room. +void main() { + /// Quantise via Float32List to simulate the residual drift that could have + /// crept in through `Vector2` math in historical builds. + double asFloat32(double v) { + final buf = Float32List(1); + buf[0] = v; + return buf[0]; + } + + test('rotated move with clamp at exact bounding-rect saturation: no jump', + () { + const theta = math.pi / 6; + final rect = Box.fromLTWH(200, 200, 100, 100, rotation: theta); + final bounding = ClampHelpers.calculateBoundingRect(rect); + // Clamping rect exactly equal to the rotated box's bounding rect — + // the feasible tx/ty interval is a single point (0, 0). + final clamp = Box.fromLTRB( + bounding.left, + bounding.top, + bounding.right, + bounding.bottom, + ); + + final result = BoxTransformer.move( + initialRect: rect, + initialLocalPosition: Vector2(250, 250), + localPosition: Vector2(250, 250), + clampingRect: clamp, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + ); + + expect(result.rect.left, closeTo(rect.left, 1e-9), + reason: 'zero-delta move at clamp saturation must not shift left'); + expect(result.rect.top, closeTo(rect.top, 1e-9), + reason: 'zero-delta move at clamp saturation must not shift top'); + expect(result.rect.width, closeTo(rect.width, 1e-9)); + expect(result.rect.height, closeTo(rect.height, 1e-9)); + }); + + test('rotated move with infeasible clamp: no order-dependent "flick"', () { + // Reproduces the user's playground report: when the clamp shrinks to a + // size TIGHTER than the rotated box's bounding rect (even by a few + // pixels), the box "flicks" to an offset that's outside the clamp on + // one side instead of staying close to its last valid position. + // + // Root cause: the per-corner tx/ty constraints are applied sequentially + // (`tx = max(tx, leftLimit); tx = min(tx, rightLimit)` per corner), + // which is order-dependent when the global intersection is empty. Two + // opposite corners push tx in opposite directions; the LAST corner + // visited wins, producing a shift that violates earlier corners. + // + // Example values: 100x100 box at theta=pi/6 centered at (250,250). + // Clamp shrunk symmetrically by 5px on each side (10px infeasibility). + // True global intersection of tx is [5, -5] (empty); the correct fallback + // is tx=0 (midpoint of the collapsed point). Sequential max/min gives + // tx=5 (the last-visited corner's lower bound), shifting the box 5px + // outside the clamp's right edge. + const theta = math.pi / 6; + final rect = Box.fromLTWH(200, 200, 100, 100, rotation: theta); + final bounding = ClampHelpers.calculateBoundingRect(rect); + final clamp = Box.fromLTRB( + bounding.left + 5, + bounding.top + 5, + bounding.right - 5, + bounding.bottom - 5, + ); + + final result = BoxTransformer.move( + initialRect: rect, + initialLocalPosition: Vector2(250, 250), + localPosition: Vector2(250, 250), + clampingRect: clamp, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + ); + + // Correct: tx/ty should be ~0 (midpoint of the empty [+5, -5] interval). + // Current buggy sequential max/min produces tx=5 (last corner wins), + // flicking the box to the right. Assert we're within 1 px of the initial + // position — the sequential bug would shift by ~5 px. + expect(result.rect.left, closeTo(rect.left, 1.0), + reason: 'box must not flick by more than the infeasibility gap'); + expect(result.rect.top, closeTo(rect.top, 1.0)); + }); + + test('rotated move with float-drifted saturation: no throw, no jump', () { + // Same guard against Float32-ULP drift remnants — even post vector_math_64 + // migration the solver must tolerate eps-scale precision wiggles. + const theta = math.pi / 6; + final rect = Box.fromLTWH(200, 200, 100, 100, rotation: theta); + final bounding = ClampHelpers.calculateBoundingRect(rect); + final clamp = Box.fromLTRB( + asFloat32(bounding.left + 1e-6), + asFloat32(bounding.top + 1e-6), + asFloat32(bounding.right - 1e-6), + asFloat32(bounding.bottom - 1e-6), + ); + + final result = BoxTransformer.move( + initialRect: rect, + initialLocalPosition: Vector2(250, 250), + localPosition: Vector2(250, 250), + clampingRect: clamp, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + ); + expect(result.rect.left, closeTo(rect.left, 1e-3)); + expect(result.rect.top, closeTo(rect.top, 1e-3)); + }); +} diff --git a/packages/box_transform/test/clamp_invariants_test.dart b/packages/box_transform/test/clamp_invariants_test.dart new file mode 100644 index 0000000..fc0db52 --- /dev/null +++ b/packages/box_transform/test/clamp_invariants_test.dart @@ -0,0 +1,295 @@ +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +// Stress-tests for clamp containment under gestures that historically +// produced visibly wrong on-screen states: force-flip into infeasible +// regions, side handles hugging clamp edges, and gestures that the +// recorder captured as "successful" but where the resulting rect either +// leaked the clamp or changed dimensions a side handle should never touch. +// +// Each test asserts engine *invariants* — clamp containment, side-handle +// scope, constraint compliance — rather than specific recorded values, so +// the tests survive engine refinement that produces a different (but +// still correct) rect. + +void main() { + void expectInsideClamp(Box rect, Box clamp, {String? reason}) { + expect(rect.left, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: '${reason ?? ''}: rect.left=${rect.left} ' + 'clamp.left=${clamp.left}'); + expect(rect.top, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: '${reason ?? ''}: rect.top=${rect.top} ' + 'clamp.top=${clamp.top}'); + expect(rect.right, lessThanOrEqualTo(clamp.right + 1e-3), + reason: '${reason ?? ''}: rect.right=${rect.right} ' + 'clamp.right=${clamp.right}'); + expect(rect.bottom, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: '${reason ?? ''}: rect.bottom=${rect.bottom} ' + 'clamp.bottom=${clamp.bottom}'); + } + + void expectRespectsConstraints(Box rect, Constraints c, {String? reason}) { + expect(rect.width, greaterThanOrEqualTo(c.minWidth - 1e-3), + reason: '${reason ?? ''}: width=${rect.width} < ' + 'minWidth=${c.minWidth}'); + expect(rect.width, lessThanOrEqualTo(c.maxWidth + 1e-3), + reason: '${reason ?? ''}: width=${rect.width} > ' + 'maxWidth=${c.maxWidth}'); + expect(rect.height, greaterThanOrEqualTo(c.minHeight - 1e-3), + reason: '${reason ?? ''}: height=${rect.height} < ' + 'minHeight=${c.minHeight}'); + expect(rect.height, lessThanOrEqualTo(c.maxHeight + 1e-3), + reason: '${reason ?? ''}: height=${rect.height} > ' + 'maxHeight=${c.maxHeight}'); + } + + // Recorded playground scenarios that captured visibly buggy on-screen + // states. The recorder used those states as expected values; here we + // re-run the same gesture inputs and assert the engine produces output + // that respects clamp containment, side-handle scope, and constraints. + group('recorded playground scenarios — engine respects invariants', () { + final clamp = Box.fromLTWH(264, 228, 655, 440); + const constraints = Constraints( + minWidth: 100, + minHeight: 100, + maxWidth: 500, + maxHeight: 500, + ); + + test( + 'topLeft corner force-flip into infeasible diagonal stays in clamp', + () { + // Drag topLeft handle by (+313, +382). Cursor crosses bottomRight + // anchor on both axes → diagonal flip requested. Min size 100×100 + // anchored at (761, 614) facing down-right would have bottom=714, + // past clamp.bottom=668 — infeasible. Engine must NOT leak. + final result = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + initialRect: Box.fromLTWH(517, 494, 244, 120), + handle: HandlePosition.topLeft, + initialLocalPosition: Vector2(13, 14), + allowFlipping: true, + localPosition: Vector2(326, 396), + clampingRect: clamp, + constraints: constraints, + ); + expectInsideClamp(result.rect, clamp); + expectRespectsConstraints(result.rect, constraints); + }, + ); + + test( + 'left side handle past clamp.left changes only width', + () { + // Side handles must never touch the perpendicular axis. Recorded + // expected leaked top/bottom/right; engine must keep them pinned. + const initial = (left: 344.0, top: 516.0, w: 167.0, h: 118.0); + final result = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + initialRect: + Box.fromLTWH(initial.left, initial.top, initial.w, initial.h), + handle: HandlePosition.left, + initialLocalPosition: Vector2(10, 51), + allowFlipping: true, + localPosition: Vector2(-168, 126), + clampingRect: clamp, + constraints: constraints, + ); + expectInsideClamp(result.rect, clamp); + expectRespectsConstraints(result.rect, constraints); + expect(result.rect.top, closeTo(initial.top, 1e-3), + reason: 'left handle moved top axis'); + expect(result.rect.bottom, closeTo(initial.top + initial.h, 1e-3), + reason: 'left handle moved bottom axis'); + expect(result.rect.right, closeTo(initial.left + initial.w, 1e-3), + reason: 'left handle moved right axis (anchor)'); + }, + ); + + test( + 'top side handle vertical force-flip stays in clamp', + () { + // Top handle dragged DOWN past bottomCenter anchor → vertical + // flip. Recorded expected leaked clamp.bottom by 32 px; must not. + final result = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + initialRect: Box.fromLTWH(277, 498, 239, 118), + handle: HandlePosition.top, + initialLocalPosition: Vector2(103, 17), + allowFlipping: true, + localPosition: Vector2(467, 409), + clampingRect: clamp, + constraints: constraints, + ); + expectInsideClamp(result.rect, clamp); + expectRespectsConstraints(result.rect, constraints); + }, + ); + + test( + 'multi-step gesture sequence stays in clamp at every step', + () { + // Replays the original recorded sequence using the engine's actual + // output as each step's input — i.e. what the user would actually + // see frame-to-frame. The recorded values fed each step's *buggy* + // output forward as the next step's input; this version uses real + // engine output so we exercise the chain from valid intermediates. + var step = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + initialRect: Box.fromLTWH(344, 516, 167, 118), + handle: HandlePosition.left, + initialLocalPosition: Vector2(10, 51), + allowFlipping: true, + localPosition: Vector2(-168, 126), + clampingRect: clamp, + constraints: constraints, + ); + expectInsideClamp(step.rect, clamp, reason: 'step 1 (left)'); + expectRespectsConstraints(step.rect, constraints, + reason: 'step 1 (left)'); + + step = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: step.flip, + initialRect: step.rect, + handle: HandlePosition.top, + initialLocalPosition: Vector2(103, 17), + allowFlipping: true, + localPosition: Vector2(467, 409), + clampingRect: clamp, + constraints: constraints, + ); + expectInsideClamp(step.rect, clamp, reason: 'step 2 (top flip)'); + expectRespectsConstraints(step.rect, constraints, + reason: 'step 2 (top flip)'); + + step = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: step.flip, + initialRect: step.rect, + handle: HandlePosition.bottomLeft, + initialLocalPosition: Vector2(16, 12), + allowFlipping: true, + localPosition: Vector2(210, 147), + clampingRect: clamp, + constraints: constraints, + ); + expectInsideClamp(step.rect, clamp, reason: 'step 3 (bottomLeft)'); + expectRespectsConstraints(step.rect, constraints, + reason: 'step 3 (bottomLeft)'); + }, + ); + }); + + // Force-flip fallback: when the cursor is past the anchor but the + // flipped state can't fit clamp + constraints, the engine retries the + // LP with natural-direction signs. The rect then tracks the cursor by + // clamp-pinning at the natural wall — feasible=true, flip=none. The + // engine only signals feasible=false when no direction works. + group('force-flip fallback: natural direction when flip is infeasible', () { + test( + 'flip-impossible cursor reverts to natural direction (no flip, ' + 'clamp-pinned), feasible=true', + () { + const theta = 0.3; // ~17° + final result = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + initialRect: Box.fromLTWH(40, 40, 100, 100, rotation: theta), + handle: HandlePosition.topLeft, + initialLocalPosition: Vector2(40, 40), + allowFlipping: true, + // Drag topLeft cursor far past bottomRight anchor diagonally. + // Min 100×100 flipped at this rotation cannot fit clamp. + localPosition: Vector2(400, 400), + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: Box.fromLTRB(0, 0, 200, 200), + constraints: const Constraints( + minWidth: 100, + minHeight: 100, + maxWidth: 500, + maxHeight: 500, + ), + ); + // The engine falls back to the natural (un-flipped) direction. + expect(result.feasible, isTrue, + reason: 'natural-direction fallback must be feasible'); + expect(result.flip, equals(Flip.none), + reason: 'fallback rect is NOT flipped (force-flip aborted)'); + expectInsideClamp(result.rect, Box.fromLTRB(0, 0, 200, 200), + reason: 'fallback rect must stay inside clamp'); + }, + ); + + test( + 'cursor far past anchor in flip direction does NOT grow rect in ' + 'the opposite direction (regression: fallback used cursor distance ' + 'as natural-direction target, growing rect away from cursor)', + () { + // bottomRight handle, anchor = topLeft world. Drag the cursor far + // past the anchor in the flip direction (-x, -y). Force-flip is + // infeasible (would extend past clamp.left/top). Without the + // axis-zeroing fix, the natural-direction fallback would use + // |cursor - anchor| as the natural target, producing a rect that + // grows toward (+x, +y) — the OPPOSITE of where the cursor went. + const theta = 0.3; + final result = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + initialRect: Box.fromLTWH(20, 20, 80, 80, rotation: theta), + handle: HandlePosition.bottomRight, + // Cursor starts at the rotated bottomRight world position. + initialLocalPosition: Vector2(100, 100), + allowFlipping: true, + // Drag cursor far past topLeft anchor in -x, -y direction. + localPosition: Vector2(-2000, -2000), + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: Box.fromLTRB(0, 0, 200, 200), + constraints: const Constraints( + minWidth: 60, + minHeight: 60, + maxWidth: 500, + maxHeight: 500, + ), + ); + expect(result.feasible, isTrue); + expect(result.flip, equals(Flip.none)); + // The rect must NOT have grown larger than initial in the natural + // direction. With cursor far in flip territory, the fallback + // collapses each flipped axis to minimum, so the rect should be + // at most the gesture-start size on each axis (often smaller). + expect(result.rect.width, lessThanOrEqualTo(80 + 1e-3), + reason: 'rect must not grow in opposite direction of cursor'); + expect(result.rect.height, lessThanOrEqualTo(80 + 1e-3), + reason: 'rect must not grow in opposite direction of cursor'); + }, + ); + + test( + 'rotated freeform: small feasible target returns feasible=true', + () { + const theta = 0.3; + final result = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + initialRect: Box.fromLTWH(50, 50, 80, 80, rotation: theta), + handle: HandlePosition.bottomRight, + initialLocalPosition: Vector2(130, 130), + allowFlipping: true, + localPosition: Vector2(140, 140), + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: Box.fromLTRB(0, 0, 500, 500), + ); + expect(result.feasible, isTrue); + }, + ); + }); +} diff --git a/packages/box_transform/test/clamp_saturation_regression_test.dart b/packages/box_transform/test/clamp_saturation_regression_test.dart new file mode 100644 index 0000000..88ca015 --- /dev/null +++ b/packages/box_transform/test/clamp_saturation_regression_test.dart @@ -0,0 +1,119 @@ +import 'dart:math' as math; +import 'dart:typed_data'; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +/// Regression for the playground crash: +/// +/// Invalid argument(s): 500.00001525878906 +/// #0 double.clamp +/// #1 BoxTransformer._resizeRotatedScale (transformer.dart:662) +/// #2 BoxTransformer.resize (transformer.dart:146) +/// #4 TransformableBoxController.recalculateSize (controller.dart:441) +/// +/// Chain (per Codex audit): `vector_math` backs `Vector2` in a Float32List, +/// so every read/write quantises to 32-bit. Rotation helpers and corner +/// offset math round-trip through `Vector2`, drifting the returned Box's +/// edges. On the next rebuild, `recalculateSize` computes +/// `k = rect.height / rect.width` from drifted edges (so k ≠ exactly 0.2), +/// then `effMinH / k` over-shoots `maxWidth` by ~1e-5, producing an empty +/// interval [wLower > wUpper] that throws in `.clamp`. +/// +/// These tests force the scenario by constructing a rect whose edges match +/// what the Float32 pipeline produces after saturation. +void main() { + /// Rounds [v] through a Float32List to simulate Vector2's storage. + double asFloat32(double v) { + final buf = Float32List(1); + buf[0] = v; + return buf[0]; + } + + test('rotated scale at aspect-saturation: zero-delta resize does not throw', + () { + // At saturation with maxW=500 and h = minH = 100, the feasible w is a + // mathematical point at exactly 500. But a rect whose height has been + // round-tripped through Float32 will have h = Float32(100)*something or + // near-100 with drift in either direction. Here we simulate h drifting + // *below* 100 (Float32 step down), which makes k = h/w < 0.2, which in + // turn makes effMinH / k > 500 > maxWidth → wLower > wUpper. + const double maxW = 500.0; + const double minH = 100.0; + // One Float32-ULP below 100. Dart parses this as the nearest double. + final double driftedHeight = asFloat32(100.0 - 1e-5); + expect(driftedHeight < 100.0, isTrue, + reason: 'test pre-condition: need drift below exact 100'); + + final Box initialRect = Box.fromLTWH( + 0, + 0, + maxW, + driftedHeight, + rotation: math.pi / 6, + ); + final constraints = Constraints( + minWidth: 100, + minHeight: minH, + maxWidth: maxW, + maxHeight: maxW, + ); + + expect( + () => BoxTransformer.resize( + initialRect: initialRect, + initialLocalPosition: Vector2(maxW, driftedHeight), + localPosition: Vector2(maxW, driftedHeight), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.scale, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-1e6, -1e6, 1e6, 1e6), + constraints: constraints, + allowFlipping: false, + rotation: math.pi / 6, + ), + returnsNormally, + reason: 'zero-delta resize at aspect-saturation must not throw on ' + 'float-precision drift', + ); + }); + + test('rotated symmetric-scale at aspect-saturation: no throw', () { + // Same crash class exists at transformer.dart:823. + const double maxW = 500.0; + const double minH = 100.0; + final double driftedHeight = asFloat32(100.0 - 1e-5); + + final Box initialRect = Box.fromLTWH( + 0, + 0, + maxW, + driftedHeight, + rotation: math.pi / 6, + ); + final constraints = Constraints( + minWidth: 100, + minHeight: minH, + maxWidth: maxW, + maxHeight: maxW, + ); + + expect( + () => BoxTransformer.resize( + initialRect: initialRect, + initialLocalPosition: Vector2(maxW / 2, driftedHeight / 2), + localPosition: Vector2(maxW / 2, driftedHeight / 2), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.symmetricScale, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-1e6, -1e6, 1e6, 1e6), + constraints: constraints, + allowFlipping: false, + rotation: math.pi / 6, + ), + returnsNormally, + reason: 'symmetric-scale zero-delta at saturation must not throw', + ); + }); +} diff --git a/packages/box_transform/test/clamped_freeform_resizing_test.dart b/packages/box_transform/test/clamped_freeform_resizing_test.dart index abdbf22..9f34d4d 100644 --- a/packages/box_transform/test/clamped_freeform_resizing_test.dart +++ b/packages/box_transform/test/clamped_freeform_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/clamped_scaled_resizing_test.dart b/packages/box_transform/test/clamped_scaled_resizing_test.dart index 10c5143..85a827e 100644 --- a/packages/box_transform/test/clamped_scaled_resizing_test.dart +++ b/packages/box_transform/test/clamped_scaled_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/clamped_symmetric_resizing_test.dart b/packages/box_transform/test/clamped_symmetric_resizing_test.dart index f1f2cb1..606c8db 100644 --- a/packages/box_transform/test/clamped_symmetric_resizing_test.dart +++ b/packages/box_transform/test/clamped_symmetric_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/clamped_symmetrically_scaled_resizing_test.dart b/packages/box_transform/test/clamped_symmetrically_scaled_resizing_test.dart index a8488a0..eccc9c9 100644 --- a/packages/box_transform/test/clamped_symmetrically_scaled_resizing_test.dart +++ b/packages/box_transform/test/clamped_symmetrically_scaled_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/enums_test.dart b/packages/box_transform/test/enums_test.dart index c054d1a..888afe1 100644 --- a/packages/box_transform/test/enums_test.dart +++ b/packages/box_transform/test/enums_test.dart @@ -2,7 +2,7 @@ import 'dart:math'; import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; void main() { group('HandlePosition tests', () { @@ -441,4 +441,16 @@ void main() { expect(ResizeMode.symmetricScale.hasSymmetry, isTrue); }); }); + + group('BindingStrategy tests', () { + test('has two values with correct names', () { + expect(BindingStrategy.values.length, 2); + expect(BindingStrategy.values, contains(BindingStrategy.originalBox)); + expect(BindingStrategy.values, contains(BindingStrategy.boundingBox)); + }); + + test('originalBox is the documented default (first value)', () { + expect(BindingStrategy.values.first, BindingStrategy.originalBox); + }); + }); } diff --git a/packages/box_transform/test/extensions_test.dart b/packages/box_transform/test/extensions_test.dart index f9eb860..1118133 100644 --- a/packages/box_transform/test/extensions_test.dart +++ b/packages/box_transform/test/extensions_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; void main() { test('RawTransformResult extension tests', () { diff --git a/packages/box_transform/test/freeform_constrained_resizing_test.dart b/packages/box_transform/test/freeform_constrained_resizing_test.dart index 0200105..f21504c 100644 --- a/packages/box_transform/test/freeform_constrained_resizing_test.dart +++ b/packages/box_transform/test/freeform_constrained_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/freeform_resizing_test.dart b/packages/box_transform/test/freeform_resizing_test.dart index cf10695..8d8668e 100644 --- a/packages/box_transform/test/freeform_resizing_test.dart +++ b/packages/box_transform/test/freeform_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/geometry_test.dart b/packages/box_transform/test/geometry_test.dart index c04501e..abd7a86 100644 --- a/packages/box_transform/test/geometry_test.dart +++ b/packages/box_transform/test/geometry_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; void main() { group('Dimension tests', () { @@ -786,4 +786,35 @@ void main() { Box.fromLTRB(100, 100, 400, 300)); }); }); + + group('Box rotation field', () { + test('defaults to 0.0 for all constructors', () { + expect(Box.fromLTRB(0, 0, 100, 100).rotation, 0.0); + expect(Box.fromLTWH(0, 0, 100, 100).rotation, 0.0); + expect( + Box.fromCenter(center: Vector2.zero(), width: 10, height: 10) + .rotation, + 0.0); + expect(Box.fromPoints(Vector2.zero(), Vector2(10, 10)).rotation, 0.0); + expect(Box.zero.rotation, 0.0); + expect(Box.largest.rotation, 0.0); + }); + + test('can be constructed with explicit rotation', () { + final b = Box.fromLTRB(0, 0, 100, 100, rotation: 1.23); + expect(b.rotation, 1.23); + }); + + test('equality distinguishes rotation', () { + final a = Box.fromLTRB(0, 0, 100, 100); + final b = Box.fromLTRB(0, 0, 100, 100, rotation: 0.5); + expect(a, isNot(equals(b))); + expect(a.hashCode, isNot(equals(b.hashCode))); + }); + + test('translate preserves rotation', () { + final b = Box.fromLTRB(0, 0, 100, 100, rotation: 0.5); + expect(b.translate(10, 20).rotation, 0.5); + }); + }); } diff --git a/packages/box_transform/test/helpers_test.dart b/packages/box_transform/test/helpers_test.dart index 04e9d29..93a401c 100644 --- a/packages/box_transform/test/helpers_test.dart +++ b/packages/box_transform/test/helpers_test.dart @@ -1,70 +1,86 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; void main() { group('flipBox tests', () { test('flipBox test with bottom-right handle', () { final box = Box.fromLTWH(500, 500, 400, 300); - Box flipped = flipRect(box, Flip.none, HandlePosition.bottomRight); + Box flipped = + ClampHelpers.flipRect(box, Flip.none, HandlePosition.bottomRight); expect(box, flipped); - flipped = flipRect(box, Flip.horizontal, HandlePosition.bottomRight); + flipped = ClampHelpers.flipRect( + box, Flip.horizontal, HandlePosition.bottomRight); expect(flipped.topLeft, Vector2(100, 500)); - flipped = flipRect(box, Flip.vertical, HandlePosition.bottomRight); + flipped = + ClampHelpers.flipRect(box, Flip.vertical, HandlePosition.bottomRight); expect(flipped.topLeft, Vector2(500, 200)); - flipped = flipRect(box, Flip.diagonal, HandlePosition.bottomRight); + flipped = + ClampHelpers.flipRect(box, Flip.diagonal, HandlePosition.bottomRight); expect(flipped.topLeft, Vector2(100, 200)); }); test('flipBox test with top-right handle', () { final box = Box.fromLTWH(500, 500, 400, 300); - Box flipped = flipRect(box, Flip.none, HandlePosition.topRight); + Box flipped = + ClampHelpers.flipRect(box, Flip.none, HandlePosition.topRight); expect(box, flipped); - flipped = flipRect(box, Flip.horizontal, HandlePosition.topRight); + flipped = + ClampHelpers.flipRect(box, Flip.horizontal, HandlePosition.topRight); expect(flipped.topLeft, Vector2(100, 500)); - flipped = flipRect(box, Flip.vertical, HandlePosition.topRight); + flipped = + ClampHelpers.flipRect(box, Flip.vertical, HandlePosition.topRight); expect(flipped.topLeft, Vector2(500, 800)); - flipped = flipRect(box, Flip.diagonal, HandlePosition.topRight); + flipped = + ClampHelpers.flipRect(box, Flip.diagonal, HandlePosition.topRight); expect(flipped.topLeft, Vector2(100, 800)); }); test('flipBox test with top-left handle', () { final box = Box.fromLTWH(500, 500, 400, 300); - Box flipped = flipRect(box, Flip.none, HandlePosition.topLeft); + Box flipped = + ClampHelpers.flipRect(box, Flip.none, HandlePosition.topLeft); expect(box, flipped); - flipped = flipRect(box, Flip.horizontal, HandlePosition.topLeft); + flipped = + ClampHelpers.flipRect(box, Flip.horizontal, HandlePosition.topLeft); expect(flipped.topLeft, Vector2(900, 500)); - flipped = flipRect(box, Flip.vertical, HandlePosition.topLeft); + flipped = + ClampHelpers.flipRect(box, Flip.vertical, HandlePosition.topLeft); expect(flipped.topLeft, Vector2(500, 800)); - flipped = flipRect(box, Flip.diagonal, HandlePosition.topLeft); + flipped = + ClampHelpers.flipRect(box, Flip.diagonal, HandlePosition.topLeft); expect(flipped.topLeft, Vector2(900, 800)); }); test('flipBox test with bottom-left handle', () { final box = Box.fromLTWH(500, 500, 400, 300); - Box flipped = flipRect(box, Flip.none, HandlePosition.bottomLeft); + Box flipped = + ClampHelpers.flipRect(box, Flip.none, HandlePosition.bottomLeft); expect(box, flipped); - flipped = flipRect(box, Flip.horizontal, HandlePosition.bottomLeft); + flipped = ClampHelpers.flipRect( + box, Flip.horizontal, HandlePosition.bottomLeft); expect(flipped.topLeft, Vector2(900, 500)); - flipped = flipRect(box, Flip.vertical, HandlePosition.bottomLeft); + flipped = + ClampHelpers.flipRect(box, Flip.vertical, HandlePosition.bottomLeft); expect(flipped.topLeft, Vector2(500, 200)); - flipped = flipRect(box, Flip.diagonal, HandlePosition.bottomLeft); + flipped = + ClampHelpers.flipRect(box, Flip.diagonal, HandlePosition.bottomLeft); expect(flipped.topLeft, Vector2(900, 200)); }); }); @@ -73,7 +89,7 @@ void main() { test('getFlipForBox test for bottom-right handle', () { final box = Box.fromLTWH(500, 500, 400, 300); - Flip flip = getFlipForRect( + Flip flip = ClampHelpers.getFlipForRect( box, Vector2(-500, -400), HandlePosition.bottomRight, @@ -81,7 +97,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-500, 10), HandlePosition.bottomRight, @@ -89,7 +105,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(10, -400), HandlePosition.bottomRight, @@ -97,7 +113,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(10, 10), HandlePosition.bottomRight, @@ -105,7 +121,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, 500), HandlePosition.topLeft, @@ -113,7 +129,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, -10), HandlePosition.topLeft, @@ -121,7 +137,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, 500), HandlePosition.topLeft, @@ -129,7 +145,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, -10), HandlePosition.topLeft, @@ -137,7 +153,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(10, -10), HandlePosition.topRight, @@ -145,7 +161,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(10, 500), HandlePosition.topRight, @@ -153,7 +169,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-500, 500), HandlePosition.topRight, @@ -161,7 +177,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-500, -10), HandlePosition.topRight, @@ -169,7 +185,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, 10), HandlePosition.bottomLeft, @@ -177,7 +193,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, 10), HandlePosition.bottomLeft, @@ -185,7 +201,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, -500), HandlePosition.bottomLeft, @@ -193,7 +209,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, -500), HandlePosition.bottomLeft, @@ -205,7 +221,7 @@ void main() { test('getFlipForBox test for top-left handle', () { final box = Box.fromLTWH(0, 0, 400, 300); - Flip flip = getFlipForRect( + Flip flip = ClampHelpers.getFlipForRect( box, Vector2(500, 500), HandlePosition.topLeft, @@ -213,7 +229,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, -10), HandlePosition.topLeft, @@ -221,7 +237,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, 500), HandlePosition.topLeft, @@ -229,7 +245,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, -10), HandlePosition.topLeft, @@ -237,7 +253,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, -10), HandlePosition.topLeft, @@ -245,7 +261,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, 500), HandlePosition.topLeft, @@ -253,7 +269,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, -10), HandlePosition.topLeft, @@ -261,7 +277,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, 500), HandlePosition.topLeft, @@ -269,7 +285,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, -10), HandlePosition.topLeft, @@ -277,7 +293,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(300, 200), HandlePosition.topLeft, @@ -285,7 +301,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(800, -10), HandlePosition.topLeft, @@ -293,7 +309,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, 500), HandlePosition.topLeft, @@ -301,7 +317,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, -10), HandlePosition.topLeft, @@ -309,7 +325,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(800, 500), HandlePosition.topLeft, @@ -317,7 +333,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(300, 0), HandlePosition.topLeft, @@ -325,7 +341,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(0, 200), HandlePosition.topLeft, @@ -337,7 +353,7 @@ void main() { test('getFlipForBox test for top-right handle', () { final box = Box.fromLTWH(0, 0, 400, 300); - Flip flip = getFlipForRect( + Flip flip = ClampHelpers.getFlipForRect( box, Vector2(500, 500), HandlePosition.topRight, @@ -345,7 +361,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-500, 500), HandlePosition.topRight, @@ -353,7 +369,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-500, 0), HandlePosition.topRight, @@ -361,7 +377,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, -10), HandlePosition.topRight, @@ -369,7 +385,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, -10), HandlePosition.topRight, @@ -377,7 +393,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, 500), HandlePosition.topRight, @@ -385,7 +401,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-500, 500), HandlePosition.topRight, @@ -393,7 +409,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-500, 0), HandlePosition.topRight, @@ -401,7 +417,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, -10), HandlePosition.topRight, @@ -409,7 +425,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(100, 200), HandlePosition.topRight, @@ -417,7 +433,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-300, 200), HandlePosition.topRight, @@ -425,7 +441,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-500, 0), HandlePosition.topRight, @@ -433,7 +449,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-10, -10), HandlePosition.topRight, @@ -441,7 +457,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, 500), HandlePosition.topRight, @@ -449,7 +465,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-500, 0), HandlePosition.topRight, @@ -457,7 +473,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(-20, 20), HandlePosition.topRight, @@ -469,7 +485,7 @@ void main() { test('getFlipForBox test for bottom-left handle', () { final box = Box.fromLTWH(0, 0, 400, 300); - Flip flip = getFlipForRect( + Flip flip = ClampHelpers.getFlipForRect( box, Vector2(500, -400), HandlePosition.bottomLeft, @@ -477,7 +493,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, 500), HandlePosition.bottomLeft, @@ -485,7 +501,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(0, -400), HandlePosition.bottomLeft, @@ -493,7 +509,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(20, -20), HandlePosition.bottomLeft, @@ -501,7 +517,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(20, -20), HandlePosition.bottomLeft, @@ -509,7 +525,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, -400), HandlePosition.bottomLeft, @@ -517,7 +533,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(500, 500), HandlePosition.bottomLeft, @@ -525,7 +541,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(0, -400), HandlePosition.bottomLeft, @@ -533,7 +549,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(20, -20), HandlePosition.bottomLeft, @@ -541,7 +557,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(300, -200), HandlePosition.bottomLeft, @@ -549,7 +565,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(800, 500), HandlePosition.bottomLeft, @@ -557,7 +573,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(0, -200), HandlePosition.bottomLeft, @@ -565,7 +581,7 @@ void main() { ); expect(flip, Flip.vertical); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(20, -20), HandlePosition.bottomLeft, @@ -573,7 +589,7 @@ void main() { ); expect(flip, Flip.none); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(300, -200), HandlePosition.bottomLeft, @@ -581,7 +597,7 @@ void main() { ); expect(flip, Flip.diagonal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(800, 500), HandlePosition.bottomLeft, @@ -589,7 +605,7 @@ void main() { ); expect(flip, Flip.horizontal); - flip = getFlipForRect( + flip = ClampHelpers.getFlipForRect( box, Vector2(0, -200), HandlePosition.bottomLeft, @@ -604,7 +620,7 @@ void main() { final Box rect = Box.fromLTRB(400, 600, 400, 300); expect( - getAvailableAreaForHandle( + ClampHelpers.getAvailableAreaForHandle( rect: rect, clampingRect: clampingRect, handle: HandlePosition.bottomRight), @@ -612,7 +628,7 @@ void main() { ); expect( - getAvailableAreaForHandle( + ClampHelpers.getAvailableAreaForHandle( rect: rect, clampingRect: clampingRect, handle: HandlePosition.topLeft), @@ -620,7 +636,7 @@ void main() { ); expect( - getAvailableAreaForHandle( + ClampHelpers.getAvailableAreaForHandle( rect: rect, clampingRect: clampingRect, handle: HandlePosition.bottomLeft), @@ -629,7 +645,7 @@ void main() { ); expect( - getAvailableAreaForHandle( + ClampHelpers.getAvailableAreaForHandle( rect: rect, clampingRect: clampingRect, handle: HandlePosition.topRight), @@ -638,7 +654,7 @@ void main() { ); expect( - getAvailableAreaForHandle( + ClampHelpers.getAvailableAreaForHandle( rect: rect, clampingRect: clampingRect, handle: HandlePosition.bottom), @@ -647,14 +663,14 @@ void main() { ); expect( - getAvailableAreaForHandle( + ClampHelpers.getAvailableAreaForHandle( rect: rect, clampingRect: clampingRect, handle: HandlePosition.right), Box.fromLTRB( rect.left, clampingRect.top, clampingRect.right, clampingRect.bottom), ); expect( - getAvailableAreaForHandle( + ClampHelpers.getAvailableAreaForHandle( rect: rect, clampingRect: clampingRect, handle: HandlePosition.left), Box.fromLTRB( clampingRect.left, clampingRect.top, rect.right, clampingRect.bottom), @@ -665,21 +681,26 @@ void main() { Box rect = Box.fromLTWH(200, 300, 400, 300); Box clampingRect = Box.fromLTWH(100, 100, 1000, 1000); - expect(getClosestEdge(rect, clampingRect), HandlePosition.left); + expect( + ClampHelpers.getClosestEdge(rect, clampingRect), HandlePosition.left); rect = Box.fromLTWH(200, 150, 400, 300); - expect(getClosestEdge(rect, clampingRect), HandlePosition.top); + expect(ClampHelpers.getClosestEdge(rect, clampingRect), HandlePosition.top); rect = Box.fromLTWH(200, 900, 400, 300); - expect(getClosestEdge(rect, clampingRect), HandlePosition.bottom); + expect( + ClampHelpers.getClosestEdge(rect, clampingRect), HandlePosition.bottom); rect = Box.fromLTWH(900, 300, 400, 300); - expect(getClosestEdge(rect, clampingRect), HandlePosition.right); + expect( + ClampHelpers.getClosestEdge(rect, clampingRect), HandlePosition.right); rect = Box.fromLTWH(900, 900, 400, 300); - expect(getClosestEdge(rect, clampingRect), HandlePosition.right); + expect( + ClampHelpers.getClosestEdge(rect, clampingRect), HandlePosition.right); rect = Box.fromLTWH(900, 150, 400, 300); - expect(getClosestEdge(rect, clampingRect), HandlePosition.right); + expect( + ClampHelpers.getClosestEdge(rect, clampingRect), HandlePosition.right); }); } diff --git a/packages/box_transform/test/lp_inspect.dart b/packages/box_transform/test/lp_inspect.dart new file mode 100644 index 0000000..6f51ada --- /dev/null +++ b/packages/box_transform/test/lp_inspect.dart @@ -0,0 +1,185 @@ +// Test-only inspection helpers for the rotated-clamping LP. +// +// Production callers use the flat-buffer hot path directly: +// * `IneqBuffer` + `RotatedClampingSolver.buildCornerIneqsInto` / +// `RotatedClampingSolver.buildSideHandleIneqsInto` / +// `RotatedClampingSolver.buildCenterIneqsInto` to build inequalities +// into a reused buffer. +// * `FlatProjection` + `RotatedClampingSolver.projectOntoFeasibleRegionFlat` +// to project a target (w, h) onto the feasible region without +// allocation. +// +// Tests want an inspectable, allocation-friendly view: a list of +// `LinearInequality` triples and a `ProjectionResult` value type. +// Those representations live here, never in `lib/`. + +import 'package:box_transform/box_transform.dart'; +import 'package:vector_math/vector_math_64.dart'; + +/// A linear inequality of the form `a*w + b*h <= c`. +class LinearInequality { + /// Coefficient of `w`. + final double a; + + /// Coefficient of `h`. + final double b; + + /// Upper bound. + final double c; + + /// Creates a [LinearInequality] `a*w + b*h <= c`. + const LinearInequality({required this.a, required this.b, required this.c}); + + /// Evaluates `a*w + b*h`. + double evaluate(double w, double h) => a * w + b * h; + + /// Returns true iff `a*w + b*h <= c` (with a small epsilon tolerance). + bool isSatisfied(double w, double h, {double epsilon = 1e-9}) => + evaluate(w, h) <= c + epsilon; + + /// True if this inequality depends only on `w`. + bool get isWOnly => b.abs() < 1e-12 && a.abs() > 1e-12; + + /// True if this inequality depends only on `h`. + bool get isHOnly => a.abs() < 1e-12 && b.abs() > 1e-12; + + /// True if this inequality couples `w` and `h` (both coefficients nonzero). + bool get isCoupled => a.abs() > 1e-12 && b.abs() > 1e-12; + + @override + String toString() => 'LinearInequality(${a}w + ${b}h <= $c)'; +} + +/// Output of [projectOntoFeasibleRegion]: a feasible `(w, h)` pair, plus +/// flags indicating whether each dimension hit a min or max bound. +class ProjectionResult { + /// Feasible unrotated width. + final double w; + + /// Feasible unrotated height. + final double h; + + /// True if [w] was pinned to the minimum-width bound. + final bool wMinHit; + + /// True if [w] was pinned to the maximum-width bound. + final bool wMaxHit; + + /// True if [h] was pinned to the minimum-height bound. + final bool hMinHit; + + /// True if [h] was pinned to the maximum-height bound. + final bool hMaxHit; + + /// Creates a [ProjectionResult]. + const ProjectionResult({ + required this.w, + required this.h, + required this.wMinHit, + required this.wMaxHit, + required this.hMinHit, + required this.hMaxHit, + }); +} + +/// Snapshots an [IneqBuffer] into a `List` so tests can +/// inspect coefficient triples directly. +List bufToList(IneqBuffer buf) { + final data = buf.data; + final n = buf.count; + return List.generate( + n, + (i) => LinearInequality( + a: data[3 * i], + b: data[3 * i + 1], + c: data[3 * i + 2], + ), + ); +} + +/// Test-side wrapper around +/// [RotatedClampingSolver.buildCornerIneqsInto]. +List buildCornerInequalities({ + required Vector2 anchor, + required double theta, + required Box clampingRect, + required BindingStrategy bindingStrategy, + double widthSign = 1.0, + double heightSign = 1.0, +}) { + final buf = IneqBuffer(); + RotatedClampingSolver.buildCornerIneqsInto( + buf, + anchor: anchor, + theta: theta, + clampingRect: clampingRect, + bindingStrategy: bindingStrategy, + widthSign: widthSign, + heightSign: heightSign, + ); + return bufToList(buf); +} + +/// Test-side wrapper around +/// [RotatedClampingSolver.buildCenterIneqsInto]. +List buildCenterInequalities({ + required Vector2 center, + required double theta, + required Box clampingRect, + required BindingStrategy bindingStrategy, +}) { + final buf = IneqBuffer(); + RotatedClampingSolver.buildCenterIneqsInto( + buf, + center: center, + theta: theta, + clampingRect: clampingRect, + bindingStrategy: bindingStrategy, + ); + return bufToList(buf); +} + +/// Test-side wrapper around +/// [RotatedClampingSolver.projectOntoFeasibleRegionFlat]. +ProjectionResult projectOntoFeasibleRegion( + List inequalities, { + required double targetW, + required double targetH, + required double minW, + required double maxW, + required double minH, + required double maxH, +}) { + final buf = IneqBuffer(); + final n = inequalities.length <= buf.data.length ~/ 3 + ? inequalities.length + : buf.data.length ~/ 3; + final data = buf.data; + for (int i = 0; i < n; i++) { + final ineq = inequalities[i]; + data[3 * i] = ineq.a; + data[3 * i + 1] = ineq.b; + data[3 * i + 2] = ineq.c; + } + buf.count = n; + + final out = FlatProjection(); + RotatedClampingSolver.projectOntoFeasibleRegionFlat( + buf, + out: out, + targetW: targetW, + targetH: targetH, + minW: minW, + maxW: maxW, + minH: minH, + maxH: maxH, + ); + return ProjectionResult( + w: out.w, + h: out.h, + wMinHit: out.wMinHit, + wMaxHit: out.wMaxHit, + hMinHit: out.hMinHit, + hMaxHit: out.hMaxHit, + ); +} diff --git a/packages/box_transform/test/no_flip_constrained_resizing_test.dart b/packages/box_transform/test/no_flip_constrained_resizing_test.dart index 312eee6..fc7e38c 100644 --- a/packages/box_transform/test/no_flip_constrained_resizing_test.dart +++ b/packages/box_transform/test/no_flip_constrained_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/no_flip_resizing_test.dart b/packages/box_transform/test/no_flip_resizing_test.dart index af2121a..0c3c1ca 100644 --- a/packages/box_transform/test/no_flip_resizing_test.dart +++ b/packages/box_transform/test/no_flip_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/portrait_constrained_resizing_test.dart b/packages/box_transform/test/portrait_constrained_resizing_test.dart index 1257b3c..d51dbf0 100644 --- a/packages/box_transform/test/portrait_constrained_resizing_test.dart +++ b/packages/box_transform/test/portrait_constrained_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/portrait_test.dart b/packages/box_transform/test/portrait_test.dart index c718214..d104647 100644 --- a/packages/box_transform/test/portrait_test.dart +++ b/packages/box_transform/test/portrait_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/recorded_force_flip_fallback_test.dart b/packages/box_transform/test/recorded_force_flip_fallback_test.dart new file mode 100644 index 0000000..8f58a29 --- /dev/null +++ b/packages/box_transform/test/recorded_force_flip_fallback_test.dart @@ -0,0 +1,129 @@ +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +// Regression coverage for two scenarios captured by the playground's test +// recorder while reproducing the "rotated force-flip leaks the clamp" bug. +// +// Both gestures drag a topLeft corner past the bottomRight anchor under +// non-trivial rotation with min/max constraints. The pre-fix engine would +// return a flipped rect that leaked the clamp by tens of pixels; the +// post-fix engine signals the flipped state is infeasible and falls back +// to the natural (un-flipped) direction so the rect stays inside the clamp. +// +// Asserted invariants per gesture: +// * result.rect stays inside clampingRect +// * result.rect respects min/max constraints +// * result.flip == Flip.none (force-flip aborted because flipped state +// was infeasible — the engine fell back rather than emitting a leaky +// diagonal flip) +// +// File kept under a recorder-style name to mark its origin; the assertions +// describe the *intended* behavior, not the buggy state the recorder once +// captured. + +void main() { + void expectInsideClamp(Box rect, Box clamp, {String? reason}) { + expect(rect.left, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: '${reason ?? ''}: rect.left=${rect.left} ' + 'clamp.left=${clamp.left}'); + expect(rect.top, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: '${reason ?? ''}: rect.top=${rect.top} ' + 'clamp.top=${clamp.top}'); + expect(rect.right, lessThanOrEqualTo(clamp.right + 1e-3), + reason: '${reason ?? ''}: rect.right=${rect.right} ' + 'clamp.right=${clamp.right}'); + expect(rect.bottom, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: '${reason ?? ''}: rect.bottom=${rect.bottom} ' + 'clamp.bottom=${clamp.bottom}'); + } + + void expectRespectsConstraints(Box rect, Constraints c, {String? reason}) { + expect(rect.width, greaterThanOrEqualTo(c.minWidth - 1e-3), + reason: '${reason ?? ''}: width=${rect.width} ' + '< minWidth=${c.minWidth}'); + expect(rect.width, lessThanOrEqualTo(c.maxWidth + 1e-3), + reason: '${reason ?? ''}: width=${rect.width} ' + '> maxWidth=${c.maxWidth}'); + expect(rect.height, greaterThanOrEqualTo(c.minHeight - 1e-3), + reason: '${reason ?? ''}: height=${rect.height} ' + '< minHeight=${c.minHeight}'); + expect(rect.height, lessThanOrEqualTo(c.maxHeight + 1e-3), + reason: '${reason ?? ''}: height=${rect.height} ' + '> maxHeight=${c.maxHeight}'); + } + + group('Recorded force-flip fallback regressions', () { + const constraints = Constraints( + minWidth: 100, + minHeight: 100, + maxWidth: 500, + maxHeight: 500, + ); + + test('topLeft drag past anchor at theta=0.59 stays inside clamp', () { + final clamp = Box.fromLTWH(208.74, 182.10, 713.90, 517.23); + final result = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + initialRect: + Box.fromLTWH(289.67, 579.95, 100.00, 100.00, rotation: 0.5910843), + handle: HandlePosition.topLeft, + initialLocalPosition: Vector2(16.08, 13.30), + allowFlipping: true, + rotation: 0.5910843, + bindingStrategy: BindingStrategy.boundingBox, + localPosition: Vector2(69.20, 240.04), + clampingRect: clamp, + constraints: constraints, + ); + expect(result.flip, equals(Flip.none), + reason: 'force-flip aborted (fallback engaged)'); + expectInsideClamp(result.rect, clamp); + expectRespectsConstraints(result.rect, constraints); + }); + + test('two-step gesture at theta=0.35: each tick stays inside clamp', () { + // Step 1: small pull that grows the rect inside the clamp (feasible). + final clamp = Box.fromLTWH(144.46, 139.27, 787.62, 556.81); + var step = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + initialRect: + Box.fromLTWH(351.89, 412.78, 400.00, 224.73, rotation: 0.3510944), + handle: HandlePosition.topLeft, + initialLocalPosition: Vector2(10.58, 17.55), + allowFlipping: true, + rotation: 0.3510944, + bindingStrategy: BindingStrategy.boundingBox, + localPosition: Vector2(103.86, 53.10), + clampingRect: clamp, + constraints: constraints, + ); + expect(step.flip, equals(Flip.none)); + expectInsideClamp(step.rect, clamp, reason: 'step 1'); + expectRespectsConstraints(step.rect, constraints, reason: 'step 1'); + + // Step 2: from the step-1 rect, drag past the bottomRight anchor. + // Under boundingBox with these min/max constraints the flipped state + // does not fit — the engine must fall back to natural direction. + step = BoxTransformer.resize( + resizeMode: ResizeMode.freeform, + initialFlip: step.flip, + initialRect: step.rect, + handle: HandlePosition.topLeft, + initialLocalPosition: Vector2(12.75, 19.64), + allowFlipping: true, + rotation: 0.3510944, + bindingStrategy: BindingStrategy.boundingBox, + localPosition: Vector2(239.31, 427.13), + clampingRect: clamp, + constraints: constraints, + ); + expect(step.flip, equals(Flip.none), + reason: 'force-flip aborted (fallback engaged)'); + expectInsideClamp(step.rect, clamp, reason: 'step 2'); + expectRespectsConstraints(step.rect, constraints, reason: 'step 2'); + }); + }); +} diff --git a/packages/box_transform/test/rect_result_test.dart b/packages/box_transform/test/rect_result_test.dart index e44c16e..029e319 100644 --- a/packages/box_transform/test/rect_result_test.dart +++ b/packages/box_transform/test/rect_result_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; void main() { test('RawTransformResult equality tests', () { @@ -118,4 +118,52 @@ void main() { expect(result1.hashCode, result2.hashCode); expect(result1 == result2, isTrue); }); + + group('TransformResult rotation/boundingRect fields', () { + test('default rotation is 0.0 and boundingRect equals rect for theta=0', + () { + final r = Box.fromLTWH(0, 0, 100, 100); + final result = ResizeResult( + rect: r, + oldRect: r, + delta: Vector2.zero(), + flip: Flip.none, + resizeMode: ResizeMode.freeform, + rawSize: Dimension(100, 100), + minWidthReached: false, + maxWidthReached: false, + minHeightReached: false, + maxHeightReached: false, + largestRect: r, + handle: HandlePosition.bottomRight, + ); + expect(result.rotation, 0.0); + expect(result.boundingRect, equals(r)); + expect(result.oldBoundingRect, equals(r)); + }); + + test('boundingRect is exposed when explicitly provided', () { + final r = Box.fromLTWH(0, 0, 100, 100, rotation: 0.5); + final bounding = Box.fromLTWH(-10, -10, 120, 120); + final result = ResizeResult( + rect: r, + oldRect: r, + delta: Vector2.zero(), + flip: Flip.none, + resizeMode: ResizeMode.freeform, + rawSize: Dimension(100, 100), + minWidthReached: false, + maxWidthReached: false, + minHeightReached: false, + maxHeightReached: false, + largestRect: r, + handle: HandlePosition.bottomRight, + rotation: 0.5, + boundingRect: bounding, + oldBoundingRect: bounding, + ); + expect(result.rotation, 0.5); + expect(result.boundingRect, equals(bounding)); + }); + }); } diff --git a/packages/box_transform/test/rotate_entry_test.dart b/packages/box_transform/test/rotate_entry_test.dart new file mode 100644 index 0000000..ad3929b --- /dev/null +++ b/packages/box_transform/test/rotate_entry_test.dart @@ -0,0 +1,33 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + group('BoxTransformer.rotate', () { + test('drag pointer quarter-turn produces +pi/2 rotation', () { + final initial = Box.fromLTWH(-50, -50, 100, 100); + // Center = (0,0). Initial pointer at (100,0), drag to (0,100). + // Angle from +X to +Y is +pi/2 in screen coords (y-down). + final result = BoxTransformer.rotate( + initialRect: initial, + initialLocalPosition: Vector2(100, 0), + localPosition: Vector2(0, 100), + initialRotation: 0.0, + ); + expect(result.rotation, closeTo(math.pi / 2, 1e-6)); + }); + + test('initialRotation is preserved additively', () { + final initial = Box.fromLTWH(-50, -50, 100, 100, rotation: 0.3); + final result = BoxTransformer.rotate( + initialRect: initial, + initialLocalPosition: Vector2(100, 0), + localPosition: Vector2(100, 0), // no delta + initialRotation: 0.3, + ); + expect(result.rotation, closeTo(0.3, 1e-6)); + }); + }); +} diff --git a/packages/box_transform/test/rotated_bounding_box_clamp_semantic_test.dart b/packages/box_transform/test/rotated_bounding_box_clamp_semantic_test.dart new file mode 100644 index 0000000..bd67147 --- /dev/null +++ b/packages/box_transform/test/rotated_bounding_box_clamp_semantic_test.dart @@ -0,0 +1,119 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +// `BindingStrategy.boundingBox` must constrain the rendered axis-aligned +// bounding box of the rotated rect, NOT the unrotated stored rect's +// corners. For stretched rotated rects the unrotated rect can extend +// further than the rotated AABB on one axis (W·|cos θ| + H·|sin θ| can be +// less than W when H is much smaller than W, and vice versa); enforcing +// both makes the unrotated rect the binding constraint and steals slack +// the rendered footprint genuinely has. +// +// Reproduces the playground report: a slim/tall rotated box flush with +// the clamp's top edge could not move down even though the rotated AABB +// had ~30 px of slack from the clamp. + +void main() { + group('boundingBox: rendered AABB is the binding constraint', () { + test( + 'stretched (100×500) rotated rect can move into rotated-AABB slack ' + 'past the unrotated rect bound', + () { + // Geometry: 100×500 slim-tall rect at θ=π/4. Stored bounds are + // flush with clamp.top and clamp.bottom; the rotated AABB has + // ~38 px of slack on each side. + final initial = Box.fromLTWH(450, 0, 100, 500, rotation: math.pi / 4); + final clamp = Box.fromLTRB(0, 0, 1000, 500); + // Pre-checks: rotated AABB has slack to clamp.top/bottom. + final aabb = ClampHelpers.calculateBoundingRect(initial); + expect(aabb.top, greaterThan(clamp.top + 30), + reason: 'rotated AABB must have meaningful slack to clamp.top ' + '(setup invariant)'); + expect(aabb.bottom, lessThan(clamp.bottom - 30), + reason: 'rotated AABB must have meaningful slack to clamp.bottom ' + '(setup invariant)'); + // The unrotated rect is flush with the clamp by construction. + expect(initial.top, closeTo(clamp.top, 1e-9)); + expect(initial.bottom, closeTo(clamp.bottom, 1e-9)); + + final result = BoxTransformer.move( + initialRect: initial, + initialLocalPosition: Vector2(500, 250), + // Request 30 px down. Easily inside the AABB's vertical slack. + localPosition: Vector2(500, 280), + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + ); + + expect(result.delta.y, closeTo(30, 1e-3), + reason: 'boundingBox must let the rect move into the rotated ' + 'AABB slack (this is the user-reported regression)'); + // And the rotated AABB after the move must stay inside the clamp. + final movedAabb = ClampHelpers.calculateBoundingRect(result.rect); + expect(movedAabb.top, greaterThanOrEqualTo(clamp.top - 1e-3)); + expect(movedAabb.bottom, lessThanOrEqualTo(clamp.bottom + 1e-3)); + }, + ); + + test( + 'wide (500×100) rotated rect can move into rotated-AABB slack ' + 'past the unrotated rect bound (x-axis variant)', + () { + // Mirror scenario, swapped axes: 500×100 wide-flat rect at θ=π/4. + // Stored bounds flush with clamp.left/right; rotated AABB has + // slack on the x-axis. + final initial = Box.fromLTWH(0, 450, 500, 100, rotation: math.pi / 4); + final clamp = Box.fromLTRB(0, 0, 500, 1000); + final aabb = ClampHelpers.calculateBoundingRect(initial); + expect(aabb.left, greaterThan(clamp.left + 30)); + expect(aabb.right, lessThan(clamp.right - 30)); + expect(initial.left, closeTo(clamp.left, 1e-9)); + expect(initial.right, closeTo(clamp.right, 1e-9)); + + final result = BoxTransformer.move( + initialRect: initial, + initialLocalPosition: Vector2(250, 500), + localPosition: Vector2(280, 500), + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + ); + + expect(result.delta.x, closeTo(30, 1e-3), + reason: 'boundingBox must let the rect move into the rotated ' + 'AABB slack on the x-axis'); + final movedAabb = ClampHelpers.calculateBoundingRect(result.rect); + expect(movedAabb.left, greaterThanOrEqualTo(clamp.left - 1e-3)); + expect(movedAabb.right, lessThanOrEqualTo(clamp.right + 1e-3)); + }, + ); + + test( + 'originalBox keeps its semantic: stretched rotated rect cannot move ' + 'past the unrotated rect bound', + () { + // Same setup as the first test, but originalBox enforces the + // unrotated rect. The rect IS flush with the clamp on the + // unrotated bounds, so it cannot move at all on y. + final initial = Box.fromLTWH(450, 0, 100, 500, rotation: math.pi / 4); + final clamp = Box.fromLTRB(0, 0, 1000, 500); + final result = BoxTransformer.move( + initialRect: initial, + initialLocalPosition: Vector2(500, 250), + localPosition: Vector2(500, 280), + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.originalBox, + clampingRect: clamp, + ); + expect(result.delta.y, closeTo(0, 1e-3), + reason: 'originalBox must keep the unrotated rect inside the ' + 'clamp; with rect flush to clamp.bottom no movement is ' + 'allowed'); + }, + ); + }); +} diff --git a/packages/box_transform/test/rotated_clamping_solver_test.dart b/packages/box_transform/test/rotated_clamping_solver_test.dart new file mode 100644 index 0000000..512aea0 --- /dev/null +++ b/packages/box_transform/test/rotated_clamping_solver_test.dart @@ -0,0 +1,275 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +import 'lp_inspect.dart'; + +void main() { + group('LinearInequality', () { + test('evaluates aw + bh <= c correctly', () { + final ineq = LinearInequality(a: 1, b: 2, c: 10); + expect(ineq.evaluate(3, 2), 7); // 3 + 4 = 7 + expect(ineq.isSatisfied(3, 2), isTrue); + expect(ineq.isSatisfied(5, 3), isFalse); // 11 > 10 + }); + }); + + group('buildCornerInequalities (originalBox)', () { + test('theta=0 with anchor topLeft at origin produces w <= 200 ineq', () { + final ineqs = buildCornerInequalities( + anchor: Vector2(0, 0), + theta: 0.0, + clampingRect: Box.fromLTRB(-50, -50, 200, 200), + bindingStrategy: BindingStrategy.originalBox, + ); + // Locate the w-only upper-bound inequality. + final wUpper = ineqs + .firstWhere((i) => i.a.abs() > 0 && i.b.abs() < 1e-12 && i.a > 0); + expect(wUpper.c / wUpper.a, closeTo(200, 1e-9)); + }); + + test('all inequalities satisfied when (w,h) fits clamp', () { + final ineqs = buildCornerInequalities( + anchor: Vector2(50, 50), + theta: math.pi / 4, + clampingRect: Box.fromLTRB(0, 0, 300, 300), + bindingStrategy: BindingStrategy.originalBox, + ); + for (final i in ineqs) { + expect(i.isSatisfied(10, 10), isTrue, + reason: 'Inequality $i violated at (10,10)'); + } + }); + }); + + group('projectOntoFeasibleRegion', () { + test('returns target unchanged when inside feasible region', () { + final ineqs = buildCornerInequalities( + anchor: Vector2(0, 0), + theta: 0.0, + clampingRect: Box.fromLTRB(-10, -10, 500, 500), + bindingStrategy: BindingStrategy.originalBox, + ); + final result = projectOntoFeasibleRegion( + ineqs, + targetW: 100, + targetH: 50, + minW: 1, + minH: 1, + maxW: 1e9, + maxH: 1e9, + ); + expect(result.w, closeTo(100, 1e-9)); + expect(result.h, closeTo(50, 1e-9)); + }); + + test('clamps w when upper bound binds (theta=0)', () { + final ineqs = buildCornerInequalities( + anchor: Vector2(0, 0), + theta: 0.0, + clampingRect: Box.fromLTRB(-10, -10, 200, 500), + bindingStrategy: BindingStrategy.originalBox, + ); + final result = projectOntoFeasibleRegion( + ineqs, + targetW: 500, + targetH: 50, + minW: 1, + minH: 1, + maxW: 1e9, + maxH: 1e9, + ); + expect(result.w, closeTo(200, 1e-9)); + expect(result.h, closeTo(50, 1e-9)); + }); + + test('min constraint prevents shrinking past minimum', () { + final ineqs = buildCornerInequalities( + anchor: Vector2(0, 0), + theta: 0.0, + clampingRect: Box.fromLTRB(-10, -10, 500, 500), + bindingStrategy: BindingStrategy.originalBox, + ); + final result = projectOntoFeasibleRegion( + ineqs, + targetW: 5, + targetH: 5, + minW: 20, + minH: 20, + maxW: 1e9, + maxH: 1e9, + ); + expect(result.w, closeTo(20, 1e-9)); + expect(result.h, closeTo(20, 1e-9)); + }); + + test('coupled inequality at theta=pi/4 stays feasible', () { + final ineqs = buildCornerInequalities( + anchor: Vector2(0, 0), + theta: math.pi / 4, + clampingRect: Box.fromLTRB(-200, -200, 141.42, 500), + bindingStrategy: BindingStrategy.originalBox, + ); + final result = projectOntoFeasibleRegion( + ineqs, + targetW: 500, + targetH: 50, + minW: 1, + minH: 1, + maxW: 1e9, + maxH: 1e9, + ); + for (final i in ineqs) { + expect(i.isSatisfied(result.w, result.h), isTrue, + reason: 'Inequality violated: $i at (${result.w}, ${result.h})'); + } + }); + }); + + group('buildCornerInequalities (boundingBox)', () { + test( + 'boundingBox strategy produces feasible ineqs when small box fits ' + 'clamp with room around the anchor', () { + // Anchor well inside clamp so rotated corners can extend in any + // direction without violating the clamp. + final ineqs = buildCornerInequalities( + anchor: Vector2(50, 50), + theta: math.pi / 4, + clampingRect: Box.fromLTRB(-200, -200, 200, 200), + bindingStrategy: BindingStrategy.boundingBox, + ); + for (final i in ineqs) { + expect(i.isSatisfied(10, 10), isTrue, + reason: 'Small box should be feasible at pi/4: $i'); + } + }); + + test( + 'boundingBox clamping marks oversized rotated boxes infeasible ' + '(corner ineqs suffice since they already enforce AABB extent)', () { + final ineqs = buildCornerInequalities( + anchor: Vector2(0, 0), + theta: math.pi / 4, + clampingRect: Box.fromLTRB(-100, -100, 100, 100), + bindingStrategy: BindingStrategy.boundingBox, + ); + // (200, 200) at pi/4 has corners at roughly ±141, well outside clamp. + final someViolated = ineqs.any((i) => !i.isSatisfied(200, 200)); + expect(someViolated, isTrue); + }); + }); + + group('originalBox vs boundingBox coefficients diverge at nonzero theta', () { + // Verifies the Phase 2 semantic fix: the two strategies produce + // different linear-coefficient tables for corner-anchored inequalities + // whenever theta != 0. (They coincide at theta = 0 because cos=1, sin=0 + // collapses the unrotated-corner formula onto the rotated-corner one.) + test( + 'corner-anchored: at theta != 0 the strategies emit different ' + 'inequality sets', + () { + // boundingBox enforces the rotated quad's four corners (the + // rendered footprint stays in the clamp). originalBox enforces + // the unrotated rect's four axis-aligned corners (the logical + // stored rect stays in the clamp; rotated corners may extend + // outside). At theta != 0 these are different geometries with + // different coefficients; at theta == 0 they collapse onto the + // same axis-aligned constraints. + final common = { + 'anchor': Vector2(0, 0), + 'theta': math.pi / 6, + 'clampingRect': Box.fromLTRB(-100, -100, 200, 200), + }; + final original = buildCornerInequalities( + anchor: common['anchor'] as Vector2, + theta: common['theta'] as double, + clampingRect: common['clampingRect'] as Box, + bindingStrategy: BindingStrategy.originalBox, + ); + final bounding = buildCornerInequalities( + anchor: common['anchor'] as Vector2, + theta: common['theta'] as double, + clampingRect: common['clampingRect'] as Box, + bindingStrategy: BindingStrategy.boundingBox, + ); + expect(original, isNotEmpty); + expect(bounding, isNotEmpty); + bool same(LinearInequality a, LinearInequality b) => + (a.a - b.a).abs() < 1e-9 && + (a.b - b.b).abs() < 1e-9 && + (a.c - b.c).abs() < 1e-9; + // The unrotated corners (originalBox) and the rotated quad + // corners (boundingBox) at theta=π/6 are geometrically distinct + // axes — every row in one must NOT appear in the other. + for (final o in original) { + expect(bounding.any((b) => same(o, b)), isFalse, + reason: 'originalBox row $o must not appear in boundingBox ' + 'at theta != 0; the strategies enforce different ' + 'corners.'); + } + }, + ); + + test('corner-anchored: at theta=0 both strategies coincide', () { + // Sanity: theta=0 collapses both formulas to axis-aligned corners, + // so the projection solutions for any feasible target must match. + final ineqsO = buildCornerInequalities( + anchor: Vector2(0, 0), + theta: 0.0, + clampingRect: Box.fromLTRB(-10, -10, 200, 200), + bindingStrategy: BindingStrategy.originalBox, + ); + final ineqsB = buildCornerInequalities( + anchor: Vector2(0, 0), + theta: 0.0, + clampingRect: Box.fromLTRB(-10, -10, 200, 200), + bindingStrategy: BindingStrategy.boundingBox, + ); + final resO = projectOntoFeasibleRegion( + ineqsO, + targetW: 100, + targetH: 50, + minW: 1, + minH: 1, + maxW: 1e9, + maxH: 1e9, + ); + final resB = projectOntoFeasibleRegion( + ineqsB, + targetW: 100, + targetH: 50, + minW: 1, + minH: 1, + maxW: 1e9, + maxH: 1e9, + ); + expect(resO.w, closeTo(resB.w, 1e-9)); + expect(resO.h, closeTo(resB.h, 1e-9)); + }); + + test('center-anchored: originalBox at nonzero theta is angle-independent', + () { + // originalBox center-anchored coefficients must equal theta=0 case. + final ineqsRotated = buildCenterInequalities( + center: Vector2(0, 0), + theta: math.pi / 3, + clampingRect: Box.fromLTRB(-50, -50, 50, 50), + bindingStrategy: BindingStrategy.originalBox, + ); + final ineqsZero = buildCenterInequalities( + center: Vector2(0, 0), + theta: 0.0, + clampingRect: Box.fromLTRB(-50, -50, 50, 50), + bindingStrategy: BindingStrategy.originalBox, + ); + expect(ineqsRotated.length, ineqsZero.length); + for (int i = 0; i < ineqsRotated.length; i++) { + expect(ineqsRotated[i].a, closeTo(ineqsZero[i].a, 1e-9)); + expect(ineqsRotated[i].b, closeTo(ineqsZero[i].b, 1e-9)); + expect(ineqsRotated[i].c, closeTo(ineqsZero[i].c, 1e-9)); + } + }); + }); +} diff --git a/packages/box_transform/test/rotated_clamping_strategy_divergence_test.dart b/packages/box_transform/test/rotated_clamping_strategy_divergence_test.dart new file mode 100644 index 0000000..467726b --- /dev/null +++ b/packages/box_transform/test/rotated_clamping_strategy_divergence_test.dart @@ -0,0 +1,200 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +import 'lp_inspect.dart'; + +/// Cross-strategy divergence tests. These prove that `BindingStrategy. +/// originalBox` and `BindingStrategy.boundingBox` produce materially +/// different resize results at non-zero rotation — i.e. Phase 2's semantic +/// fix is active. Each test picks a geometry where the two modes MUST +/// disagree and asserts the specific direction of the difference. +void main() { + group('Divergence: corner-anchored feasibility region at pi/6', () { + test('projections diverge for a tight clamp and nonzero theta', () { + // Solver-level proof: build corner ineqs under each strategy, project + // the same target onto both feasible regions, assert different (w, h). + // Geometry: anchor at origin, theta = pi/6, clamp = asymmetric rect + // that binds differently for rotated vs unrotated corners. + const theta = math.pi / 6; + final anchor = Vector2(0, 0); + final clamp = Box.fromLTRB(-50, -50, 150, 150); + + final ineqO = buildCornerInequalities( + anchor: anchor, + theta: theta, + clampingRect: clamp, + bindingStrategy: BindingStrategy.originalBox, + ); + final ineqB = buildCornerInequalities( + anchor: anchor, + theta: theta, + clampingRect: clamp, + bindingStrategy: BindingStrategy.boundingBox, + ); + + final resO = projectOntoFeasibleRegion( + ineqO, + targetW: 300, + targetH: 100, + minW: 1, + minH: 1, + maxW: 1e9, + maxH: 1e9, + ); + final resB = projectOntoFeasibleRegion( + ineqB, + targetW: 300, + targetH: 100, + minW: 1, + minH: 1, + maxW: 1e9, + maxH: 1e9, + ); + + // Both strategies must produce feasible (w, h) under their own ineqs. + for (final i in ineqO) { + expect(i.isSatisfied(resO.w, resO.h), isTrue, + reason: 'originalBox projection violates $i'); + } + for (final i in ineqB) { + expect(i.isSatisfied(resB.w, resB.h), isTrue, + reason: 'boundingBox projection violates $i'); + } + // The two projections must differ measurably. If the coefficient + // tables were identical (pre-fix state) these would match exactly. + final dw = (resO.w - resB.w).abs(); + final dh = (resO.h - resB.h).abs(); + expect(dw + dh, greaterThan(1.0), + reason: 'projections should diverge when strategies differ; ' + 'got original=(${resO.w}, ${resO.h}) ' + 'bounding=(${resB.w}, ${resB.h})'); + }); + }); + + group('Divergence: center-anchored feasibility region at pi/6', () { + test('projections diverge for symmetric geometry at nonzero theta', () { + // Analogous to the corner-anchored case, but using the center-anchored + // builder. Same target, same clamp, different bindingStrategy. + const theta = math.pi / 6; + final center = Vector2(0, 0); + final clamp = Box.fromLTRB(-80, -80, 80, 80); + + final ineqO = buildCenterInequalities( + center: center, + theta: theta, + clampingRect: clamp, + bindingStrategy: BindingStrategy.originalBox, + ); + final ineqB = buildCenterInequalities( + center: center, + theta: theta, + clampingRect: clamp, + bindingStrategy: BindingStrategy.boundingBox, + ); + + final resO = projectOntoFeasibleRegion( + ineqO, + targetW: 200, + targetH: 80, + minW: 1, + minH: 1, + maxW: 1e9, + maxH: 1e9, + ); + final resB = projectOntoFeasibleRegion( + ineqB, + targetW: 200, + targetH: 80, + minW: 1, + minH: 1, + maxW: 1e9, + maxH: 1e9, + ); + + for (final i in ineqO) { + expect(i.isSatisfied(resO.w, resO.h), isTrue, + reason: 'originalBox projection violates $i'); + } + for (final i in ineqB) { + expect(i.isSatisfied(resB.w, resB.h), isTrue, + reason: 'boundingBox projection violates $i'); + } + final dw = (resO.w - resB.w).abs(); + final dh = (resO.h - resB.h).abs(); + expect(dw + dh, greaterThan(1.0), + reason: 'center-anchored projections should diverge; ' + 'got original=(${resO.w}, ${resO.h}) ' + 'bounding=(${resB.w}, ${resB.h})'); + }); + }); + + group('Divergence: scale-aspect resize at pi/4', () { + test('originalBox allows scale to grow past the boundingBox cap', () { + // Scale mode preserves aspect — exercises the scalable engine's + // `h = k*w` reduction and sanity-check that Phase 2 ripples through + // the aspect-preserving path too. + final initial = Box.fromLTWH(0, 0, 100, 100, rotation: math.pi / 4); + final half = 100 * math.sqrt2 / 2; + final clamp = Box.fromLTRB(50 - half, 50 - half, 50 + half, 50 + half); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + + final resO = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(500, 500), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.scale, + initialFlip: Flip.none, + clampingRect: clamp, + constraints: const Constraints.unconstrained(), + allowFlipping: false, + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.originalBox, + ); + final resB = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(500, 500), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.scale, + initialFlip: Flip.none, + clampingRect: clamp, + constraints: const Constraints.unconstrained(), + allowFlipping: false, + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.boundingBox, + ); + + // Aspect ratio preserved in both. + expect(resO.rect.width, closeTo(resO.rect.height, 1e-4)); + expect(resB.rect.width, closeTo(resB.rect.height, 1e-4)); + // Divergence. + expect(resB.rect.width, closeTo(100, 1.0)); + expect(resO.rect.width, greaterThan(resB.rect.width + 5.0)); + }); + }); +} + +/// Test helper: world position of a specific corner of a rotated [box]. +Vector2 _worldCorner(Box box, HandlePosition handle) { + final cx = (box.left + box.right) / 2; + final cy = (box.top + box.bottom) / 2; + final center = Vector2(cx, cy); + late final Vector2 unrotated; + switch (handle) { + case HandlePosition.topLeft: + unrotated = Vector2(box.left, box.top); + case HandlePosition.topRight: + unrotated = Vector2(box.right, box.top); + case HandlePosition.bottomRight: + unrotated = Vector2(box.right, box.bottom); + case HandlePosition.bottomLeft: + unrotated = Vector2(box.left, box.bottom); + default: + throw UnsupportedError('handle $handle not supported'); + } + return ClampHelpers.rotatePointAround(unrotated, center, box.rotation); +} diff --git a/packages/box_transform/test/rotated_flip_test.dart b/packages/box_transform/test/rotated_flip_test.dart new file mode 100644 index 0000000..f1d543e --- /dev/null +++ b/packages/box_transform/test/rotated_flip_test.dart @@ -0,0 +1,228 @@ +// Tests for flip-state computation under rotation. +// +// Bug: when the box has nonzero rotation and the user drags a handle past +// its opposite anchor (in the un-rotated frame), the rect repositions to +// the other side correctly but `result.flip` stays at `initialFlip`. The +// AA path computes `currentFlip * initialFlip` via `getFlipForRect`; the +// rotated path skipped that step entirely, so the playground's content +// mirroring (which keys off `controller.flip`) never engages under rotation. + +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + group('Rotated freeform resize updates flip state', () { + test( + 'dragging bottomRight past topLeft anchor (in un-rotated frame) ' + 'produces Flip.diagonal at rotation=π/6', + () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.freeform, + // Un-rotated target (100, 100) is past anchor (150, 150) on both + // axes → diagonal flip. + unrotatedTarget: Vector2(100, 100), + ); + expect(result.flip, equals(Flip.diagonal)); + }, + ); + + test( + 'dragging bottomRight past anchor on x only produces Flip.horizontal', + () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.freeform, + // Un-rotated target (100, 250): past anchor on x, still below it + // on y → horizontal flip only. + unrotatedTarget: Vector2(100, 250), + ); + expect(result.flip, equals(Flip.horizontal)); + }, + ); + + test( + 'dragging bottomRight past anchor on y only produces Flip.vertical', + () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.freeform, + unrotatedTarget: Vector2(250, 100), + ); + expect(result.flip, equals(Flip.vertical)); + }, + ); + + test('dragging within bounds keeps Flip.none', () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.freeform, + unrotatedTarget: Vector2(220, 220), + ); + expect(result.flip, equals(Flip.none)); + }); + + test( + 'initialFlip=horizontal + new horizontal flip during gesture cancels ' + 'to Flip.none', + () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.freeform, + unrotatedTarget: Vector2(100, 250), + initialFlip: Flip.horizontal, + ); + expect(result.flip, equals(Flip.none)); + }, + ); + }); + + group('Rotated scale resize updates flip state', () { + test( + 'dragging bottomRight past anchor diagonally produces Flip.diagonal', + () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.scale, + unrotatedTarget: Vector2(100, 100), + ); + expect(result.flip, equals(Flip.diagonal)); + }, + ); + }); + + group('Rotated symmetric resize updates flip state', () { + test( + 'pulling bottomRight past center produces Flip.diagonal', + () { + // Symmetric: anchor is the center (200, 200). Crossing center on + // both axes is a diagonal flip. + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.symmetric, + unrotatedTarget: Vector2(150, 150), + ); + expect(result.flip, equals(Flip.diagonal)); + }, + ); + }); + + group('allowFlipping=false under rotation', () { + test( + 'freeform: allowFlipping=false suppresses flip even when pointer ' + 'crosses anchor', + () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.freeform, + // Same target as the diagonal-flip test — would normally produce + // Flip.diagonal. + unrotatedTarget: Vector2(100, 100), + allowFlipping: false, + ); + expect( + result.flip, + equals(Flip.none), + reason: 'AA path returns Flip.none when allowFlipping=false; ' + 'rotated path must do the same.', + ); + }, + ); + + test( + 'symmetric: allowFlipping=false suppresses flip even when pointer ' + 'crosses center', + () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.symmetric, + unrotatedTarget: Vector2(150, 150), + allowFlipping: false, + ); + expect(result.flip, equals(Flip.none)); + }, + ); + }); + + group('Symmetric boundary at exact center', () { + test('pointer exactly at center stays Flip.none (symmetric)', () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.symmetric, + // Exactly the center of the test rect (200, 200). Strict `<` + // boundary in the flip math means this is *not* a flip transition. + unrotatedTarget: Vector2(200, 200), + ); + expect(result.flip, equals(Flip.none)); + }); + + test('pointer exactly at center stays Flip.none (symmetricScale)', () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.symmetricScale, + unrotatedTarget: Vector2(200, 200), + ); + expect(result.flip, equals(Flip.none)); + }); + }); + + group('Rotated symmetricScale resize updates flip state', () { + test( + 'pulling bottomRight past center produces Flip.diagonal', + () { + final result = _resizeRotated( + handle: HandlePosition.bottomRight, + mode: ResizeMode.symmetricScale, + unrotatedTarget: Vector2(150, 150), + ); + expect(result.flip, equals(Flip.diagonal)); + }, + ); + }); +} + +/// Test helper: drives `BoxTransformer.resize` at rotation π/6 with a target +/// expressed in the box's un-rotated frame. +/// +/// The box is fixed at `Box.fromLTWH(150, 150, 100, 100)` with rotation +/// π/6 — center (200, 200), corners (150, 150), (250, 150), (250, 250), +/// (150, 250). Pointer positions are constructed by rotating the supplied +/// un-rotated coordinates back into world space, mirroring how a real +/// gesture's world-frame pointer would un-rotate inside the resize math. +RawResizeResult _resizeRotated({ + required HandlePosition handle, + required ResizeMode mode, + required Vector2 unrotatedTarget, + Flip initialFlip = Flip.none, + bool allowFlipping = true, +}) { + const theta = math.pi / 6; + final initial = Box.fromLTWH(150, 150, 100, 100, rotation: theta); + final center = Vector2(200, 200); + final initialPointerLocal = switch (handle) { + HandlePosition.topLeft => Vector2(initial.left, initial.top), + HandlePosition.topRight => Vector2(initial.right, initial.top), + HandlePosition.bottomRight => Vector2(initial.right, initial.bottom), + HandlePosition.bottomLeft => Vector2(initial.left, initial.bottom), + _ => throw UnsupportedError('handle $handle not used in this suite'), + }; + final initialPointerWorld = + ClampHelpers.rotatePointAround(initialPointerLocal, center, theta); + final targetPointerWorld = + ClampHelpers.rotatePointAround(unrotatedTarget, center, theta); + + return BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: handle, + resizeMode: mode, + initialFlip: initialFlip, + rotation: theta, + bindingStrategy: BindingStrategy.originalBox, + allowFlipping: allowFlipping, + ); +} diff --git a/packages/box_transform/test/rotated_freeform_test.dart b/packages/box_transform/test/rotated_freeform_test.dart new file mode 100644 index 0000000..3c1f57e --- /dev/null +++ b/packages/box_transform/test/rotated_freeform_test.dart @@ -0,0 +1,141 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + group('resize() accepts rotation and bindingStrategy parameters', () { + test('theta=0 call with new params produces same result as old call', () { + final initial = Box.fromLTWH(0, 0, 100, 100); + final clamp = Box.fromLTRB(-500, -500, 500, 500); + final oldResult = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: Vector2(100, 100), + localPosition: Vector2(150, 120), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + clampingRect: clamp, + constraints: const Constraints.unconstrained(), + allowFlipping: true, + ); + final newResult = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: Vector2(100, 100), + localPosition: Vector2(150, 120), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + clampingRect: clamp, + constraints: const Constraints.unconstrained(), + allowFlipping: true, + rotation: 0.0, + bindingStrategy: BindingStrategy.originalBox, + ); + expect(newResult.rect, equals(oldResult.rect)); + expect(newResult.flip, equals(oldResult.flip)); + expect(newResult.rotation, 0.0); + }); + }); + + group('Freeform resize with rotation', () { + test('theta=pi/4 bottomRight drag stays within clamp rect (boundingBox)', + () { + final initial = Box.fromLTWH(0, 0, 100, 100, rotation: math.pi / 4); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(300, 300), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-200, -200, 200, 200), + constraints: const Constraints.unconstrained(), + allowFlipping: false, + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.boundingBox, + ); + final corners = _allWorldCorners(result.rect); + for (final c in corners) { + expect(c.x, greaterThanOrEqualTo(-200 - 1e-4)); + expect(c.x, lessThanOrEqualTo(200 + 1e-4)); + expect(c.y, greaterThanOrEqualTo(-200 - 1e-4)); + expect(c.y, lessThanOrEqualTo(200 + 1e-4)); + } + expect(result.rect.rotation, closeTo(math.pi / 4, 1e-12)); + }); + + test('anchor (opposite corner) world position is preserved', () { + final initial = Box.fromLTWH(0, 0, 100, 100, rotation: math.pi / 6); + final initialAnchor = _worldCorner(initial, HandlePosition.topLeft); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(50, 150), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-500, -500, 500, 500), + constraints: const Constraints.unconstrained(), + allowFlipping: false, + rotation: math.pi / 6, + ); + final anchorAfter = _worldCorner(result.rect, HandlePosition.topLeft); + expect(anchorAfter.x, closeTo(initialAnchor.x, 1e-4)); + expect(anchorAfter.y, closeTo(initialAnchor.y, 1e-4)); + }); + + test('minWidth respected under rotation', () { + final initial = Box.fromLTWH(0, 0, 100, 100, rotation: math.pi / 4); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(0, 0), // try to shrink past zero + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-500, -500, 500, 500), + constraints: const Constraints(minWidth: 30, minHeight: 30), + allowFlipping: false, + rotation: math.pi / 4, + ); + expect(result.rect.width, greaterThanOrEqualTo(30 - 1e-4)); + expect(result.rect.height, greaterThanOrEqualTo(30 - 1e-4)); + }); + }); +} + +/// Test helper: world position of a specific corner of a rotated [box]. +Vector2 _worldCorner(Box box, HandlePosition handle) { + final cx = (box.left + box.right) / 2; + final cy = (box.top + box.bottom) / 2; + final center = Vector2(cx, cy); + late final Vector2 unrotated; + switch (handle) { + case HandlePosition.topLeft: + unrotated = Vector2(box.left, box.top); + case HandlePosition.topRight: + unrotated = Vector2(box.right, box.top); + case HandlePosition.bottomRight: + unrotated = Vector2(box.right, box.bottom); + case HandlePosition.bottomLeft: + unrotated = Vector2(box.left, box.bottom); + default: + throw UnsupportedError('handle $handle not supported'); + } + return ClampHelpers.rotatePointAround(unrotated, center, box.rotation); +} + +/// Test helper: all four world-space rotated corners of [box]. +List _allWorldCorners(Box box) { + return [ + HandlePosition.topLeft, + HandlePosition.topRight, + HandlePosition.bottomRight, + HandlePosition.bottomLeft, + ].map((h) => _worldCorner(box, h)).toList(); +} diff --git a/packages/box_transform/test/rotated_move_strategy_divergence_test.dart b/packages/box_transform/test/rotated_move_strategy_divergence_test.dart new file mode 100644 index 0000000..d898d95 --- /dev/null +++ b/packages/box_transform/test/rotated_move_strategy_divergence_test.dart @@ -0,0 +1,79 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +/// Cross-strategy divergence tests for BoxTransformer.move at nonzero +/// rotation. Proves that `originalBox` and `boundingBox` produce materially +/// different translation results — the Phase 2 move() fix is active. +void main() { + group('Divergence: move() at nonzero theta', () { + test( + 'translation beyond rotated bounding is allowed in originalBox ' + 'but blocked in boundingBox', () { + // 100x100 box at pi/4 centered at (50, 50). Rotated bounding spans + // ~(−20.71, −20.71, 120.71, 120.71). Clamp sized exactly to that + // bounding so boundingBox has zero slack; originalBox sees the + // unrotated rect (0, 0, 100, 100) which has 20.71px slack on the + // right edge (120.71 − 100) before the unrotated-corner hits clamp. + final initial = Box.fromLTWH(0, 0, 100, 100, rotation: math.pi / 4); + final half = 100 * math.sqrt2 / 2; + final clamp = Box.fromLTRB(50 - half, 50 - half, 50 + half, 50 + half); + + // User wants to translate rightward by 50px. + final resB = BoxTransformer.move( + initialRect: initial, + initialLocalPosition: Vector2(0, 0), + localPosition: Vector2(50, 0), + clampingRect: clamp, + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.boundingBox, + ); + final resO = BoxTransformer.move( + initialRect: initial, + initialLocalPosition: Vector2(0, 0), + localPosition: Vector2(50, 0), + clampingRect: clamp, + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.originalBox, + ); + + // boundingBox: rotated bounding already at clamp edge, no slack. + expect(resB.delta.x, closeTo(0, 0.5), + reason: 'boundingBox must block translation — saturated'); + // originalBox: unrotated rect (0,0,100,100) has ~20.71 slack before + // the right unrotated edge (x=100) hits clamp.right (120.71). + expect(resO.delta.x, greaterThan(10), + reason: 'originalBox must allow at least some translation'); + // And the two deltas must differ measurably. + expect((resO.delta.x - resB.delta.x).abs(), greaterThan(5), + reason: 'originalBox and boundingBox must diverge on translation'); + }); + + test('at theta=0 the two strategies produce identical translation', () { + // Sanity: rotation=0 takes the non-rotated branch and strategy is + // moot. Both modes must match. + final initial = Box.fromLTWH(0, 0, 100, 100); + final clamp = Box.fromLTRB(-100, -100, 200, 200); + final resB = BoxTransformer.move( + initialRect: initial, + initialLocalPosition: Vector2(50, 50), + localPosition: Vector2(150, 150), + clampingRect: clamp, + rotation: 0.0, + bindingStrategy: BindingStrategy.boundingBox, + ); + final resO = BoxTransformer.move( + initialRect: initial, + initialLocalPosition: Vector2(50, 50), + localPosition: Vector2(150, 150), + clampingRect: clamp, + rotation: 0.0, + bindingStrategy: BindingStrategy.originalBox, + ); + expect(resO.rect.left, closeTo(resB.rect.left, 1e-9)); + expect(resO.rect.top, closeTo(resB.rect.top, 1e-9)); + }); + }); +} diff --git a/packages/box_transform/test/rotated_move_test.dart b/packages/box_transform/test/rotated_move_test.dart new file mode 100644 index 0000000..2a965ba --- /dev/null +++ b/packages/box_transform/test/rotated_move_test.dart @@ -0,0 +1,47 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + group('Rotation-aware move', () { + test('rotated box translation keeps all corners in clamp', () { + final initial = Box.fromLTWH(0, 0, 100, 100, rotation: math.pi / 4); + final result = BoxTransformer.move( + initialRect: initial, + initialLocalPosition: Vector2(50, 50), + localPosition: Vector2(300, 300), + clampingRect: Box.fromLTRB(-100, -100, 200, 200), + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.boundingBox, + ); + final cx = (result.rect.left + result.rect.right) / 2; + final cy = (result.rect.top + result.rect.bottom) / 2; + final corners = [ + Vector2(result.rect.left, result.rect.top), + Vector2(result.rect.right, result.rect.top), + Vector2(result.rect.right, result.rect.bottom), + Vector2(result.rect.left, result.rect.bottom), + ].map((p) => + ClampHelpers.rotatePointAround(p, Vector2(cx, cy), math.pi / 4)); + for (final c in corners) { + expect(c.x, inInclusiveRange(-100 - 1e-4, 200 + 1e-4)); + expect(c.y, inInclusiveRange(-100 - 1e-4, 200 + 1e-4)); + } + expect(result.rect.rotation, closeTo(math.pi / 4, 1e-12)); + }); + + test('theta=0 move is unchanged from existing behavior', () { + final initial = Box.fromLTWH(0, 0, 100, 100); + final result = BoxTransformer.move( + initialRect: initial, + initialLocalPosition: Vector2(50, 50), + localPosition: Vector2(70, 80), + clampingRect: Box.fromLTRB(-500, -500, 500, 500), + ); + expect(result.rect.left, closeTo(20, 1e-9)); + expect(result.rect.top, closeTo(30, 1e-9)); + }); + }); +} diff --git a/packages/box_transform/test/rotated_scale_test.dart b/packages/box_transform/test/rotated_scale_test.dart new file mode 100644 index 0000000..8b5a7fa --- /dev/null +++ b/packages/box_transform/test/rotated_scale_test.dart @@ -0,0 +1,84 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + group('Scale resize with rotation', () { + test('preserves aspect ratio under rotation', () { + final initial = Box.fromLTWH(0, 0, 200, 100, rotation: math.pi / 6); + final initialAspect = initial.width / initial.height; + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(400, 300), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.scale, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-500, -500, 500, 500), + constraints: const Constraints(), + allowFlipping: false, + rotation: math.pi / 6, + ); + expect( + result.rect.width / result.rect.height, closeTo(initialAspect, 1e-4)); + }); + + test( + 'clamps rotated corners within bounds while preserving aspect ' + '(boundingBox)', () { + final initial = Box.fromLTWH(0, 0, 100, 100, rotation: math.pi / 4); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(1000, 1000), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.scale, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-100, -100, 100, 100), + constraints: const Constraints(), + allowFlipping: false, + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.boundingBox, + ); + expect(result.rect.width, closeTo(result.rect.height, 1e-4)); + final corners = _allWorldCorners(result.rect); + for (final c in corners) { + expect(c.x, inInclusiveRange(-100 - 1e-4, 100 + 1e-4)); + expect(c.y, inInclusiveRange(-100 - 1e-4, 100 + 1e-4)); + } + }); + }); +} + +Vector2 _worldCorner(Box box, HandlePosition handle) { + final cx = (box.left + box.right) / 2; + final cy = (box.top + box.bottom) / 2; + final center = Vector2(cx, cy); + late final Vector2 unrotated; + switch (handle) { + case HandlePosition.topLeft: + unrotated = Vector2(box.left, box.top); + case HandlePosition.topRight: + unrotated = Vector2(box.right, box.top); + case HandlePosition.bottomRight: + unrotated = Vector2(box.right, box.bottom); + case HandlePosition.bottomLeft: + unrotated = Vector2(box.left, box.bottom); + default: + throw UnsupportedError('handle $handle not supported'); + } + return ClampHelpers.rotatePointAround(unrotated, center, box.rotation); +} + +List _allWorldCorners(Box box) { + return [ + HandlePosition.topLeft, + HandlePosition.topRight, + HandlePosition.bottomRight, + HandlePosition.bottomLeft, + ].map((h) => _worldCorner(box, h)).toList(); +} diff --git a/packages/box_transform/test/rotated_side_handle_test.dart b/packages/box_transform/test/rotated_side_handle_test.dart new file mode 100644 index 0000000..da87fec --- /dev/null +++ b/packages/box_transform/test/rotated_side_handle_test.dart @@ -0,0 +1,1462 @@ +// Tests for side-handle resize under rotation. +// +// Bug: side handles (top/right/bottom/left) are gated to rotation == 0 in +// the Flutter widget layer because the rotated resize methods' rect +// reconstruction assumes `anchorLocal` is a corner. For side handles the +// anchor is the midpoint of the opposite side, so the existing math +// produces a translated rect with the right dimensions on the wrong axis +// position. +// +// Required behavior under rotation, by handle: +// - right: width grows/shrinks. Height unchanged. centerLeft (world) +// preserved. +// - left: width grows/shrinks from the other side. centerRight preserved. +// - bottom: height grows/shrinks. Width unchanged. topCenter preserved. +// - top: height grows/shrinks from the other side. bottomCenter preserved. +// +// All under any rotation. The handle's anchor (the midpoint of the opposite +// side) must hold its world-space position across the gesture, mirroring the +// corner-anchor invariant. + +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + const theta = math.pi / 6; + + group('Right side handle under rotation', () { + test('drag outward: width grows, height fixed, centerLeft preserved', () { + // 100×100 box at (200, 200), rotated π/6. Drag right handle 50 px + // outward in the unrotated frame. + final initial = Box.fromLTWH(200, 200, 100, 100, rotation: theta); + final result = _resize( + initial: initial, + handle: HandlePosition.right, + // initial pointer at the right-edge midpoint (in unrotated frame) + initialUnrotated: Vector2(300, 250), + // target pointer 50 px further along local +x + targetUnrotated: Vector2(350, 250), + ); + + expect(result.rect.width, closeTo(150, 1e-9)); + expect(result.rect.height, closeTo(100, 1e-9)); + expect(result.rect.rotation, closeTo(theta, 1e-12)); + _expectAnchorPreserved(initial, result.rect, HandlePosition.right); + }); + }); + + group('Left side handle under rotation', () { + test('drag outward: width grows, height fixed, centerRight preserved', () { + final initial = Box.fromLTWH(200, 200, 100, 100, rotation: theta); + final result = _resize( + initial: initial, + handle: HandlePosition.left, + initialUnrotated: Vector2(200, 250), + targetUnrotated: Vector2(150, 250), + ); + + expect(result.rect.width, closeTo(150, 1e-9)); + expect(result.rect.height, closeTo(100, 1e-9)); + expect(result.rect.rotation, closeTo(theta, 1e-12)); + _expectAnchorPreserved(initial, result.rect, HandlePosition.left); + }); + }); + + group('Bottom side handle under rotation', () { + test('drag outward: height grows, width fixed, topCenter preserved', () { + final initial = Box.fromLTWH(200, 200, 100, 100, rotation: theta); + final result = _resize( + initial: initial, + handle: HandlePosition.bottom, + initialUnrotated: Vector2(250, 300), + targetUnrotated: Vector2(250, 350), + ); + + expect(result.rect.width, closeTo(100, 1e-9)); + expect(result.rect.height, closeTo(150, 1e-9)); + expect(result.rect.rotation, closeTo(theta, 1e-12)); + _expectAnchorPreserved(initial, result.rect, HandlePosition.bottom); + }); + }); + + group('Top side handle under rotation', () { + test('drag outward: height grows, width fixed, bottomCenter preserved', () { + final initial = Box.fromLTWH(200, 200, 100, 100, rotation: theta); + final result = _resize( + initial: initial, + handle: HandlePosition.top, + initialUnrotated: Vector2(250, 200), + targetUnrotated: Vector2(250, 150), + ); + + expect(result.rect.width, closeTo(100, 1e-9)); + expect(result.rect.height, closeTo(150, 1e-9)); + expect(result.rect.rotation, closeTo(theta, 1e-12)); + _expectAnchorPreserved(initial, result.rect, HandlePosition.top); + }); + }); + + group('Right side handle under rotation — scale mode', () { + test('aspect ratio preserved, anchor (centerLeft) world-fixed', () { + // Aspect ratio is 1:1 here, so width and height grow equally. + final initial = Box.fromLTWH(200, 200, 100, 100, rotation: theta); + final result = _resize( + initial: initial, + handle: HandlePosition.right, + initialUnrotated: Vector2(300, 250), + targetUnrotated: Vector2(350, 250), + mode: ResizeMode.scale, + ); + + expect(result.rect.width, closeTo(150, 1e-9)); + expect(result.rect.height, closeTo(150, 1e-9)); + _expectAnchorPreserved(initial, result.rect, HandlePosition.right); + }); + }); + + group('Right side handle under rotation — symmetric mode', () { + test('width grows symmetrically about center, height fixed', () { + final initial = Box.fromLTWH(200, 200, 100, 100, rotation: theta); + final result = _resize( + initial: initial, + handle: HandlePosition.right, + initialUnrotated: Vector2(300, 250), + targetUnrotated: Vector2(325, 250), + mode: ResizeMode.symmetric, + ); + + // Pointer moved 25 px outward → both sides extend 25 px → width 150. + expect(result.rect.width, closeTo(150, 1e-9)); + expect(result.rect.height, closeTo(100, 1e-9)); + // Center stays at the rotated rect center (preserved across symmetric + // resizes). + final initCenter = Vector2( + (initial.left + initial.right) / 2, + (initial.top + initial.bottom) / 2, + ); + final resCenter = Vector2( + (result.rect.left + result.rect.right) / 2, + (result.rect.top + result.rect.bottom) / 2, + ); + expect(resCenter.x, closeTo(initCenter.x, 1e-6)); + expect(resCenter.y, closeTo(initCenter.y, 1e-6)); + }); + }); + + group('Side handles respect clampingRect under rotation', () { + test( + 'bottom handle drag past clamp: rotated AABB stays inside clamp', + () { + // Slight rotation, plenty of room above, very little below. Bottom + // handle dragged way past the clamp's bottom edge: the rect must + // grow only as far as the clamp allows; it must NOT extend past + // the clamp on the opposite (top) side. + const theta = math.pi / 12; + final initial = Box.fromLTWH(150, 150, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final result = _resize( + initial: initial, + handle: HandlePosition.bottom, + initialUnrotated: Vector2(200, 250), + // Pointer dragged way down to attempt extreme growth. + targetUnrotated: Vector2(200, 5000), + mode: ResizeMode.freeform, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + ); + + // Compute rotated AABB of result.rect. + final res = result.rect; + final aabb = ClampHelpers.calculateBoundingRect(res); + expect( + aabb.left, + greaterThanOrEqualTo(clamp.left - 1e-6), + reason: 'rect leaked past clamp.left', + ); + expect( + aabb.top, + greaterThanOrEqualTo(clamp.top - 1e-6), + reason: 'rect leaked past clamp.top', + ); + expect( + aabb.right, + lessThanOrEqualTo(clamp.right + 1e-6), + reason: 'rect leaked past clamp.right', + ); + expect( + aabb.bottom, + lessThanOrEqualTo(clamp.bottom + 1e-6), + reason: 'rect leaked past clamp.bottom', + ); + }, + ); + }); + + group('Corner handle: vertical cursor drag does not shrink width', () { + test( + 'bottomRight handle, slight rotation: dragging cursor straight down ' + 'past clamp.bottom keeps width = initial width', + () { + // User reports: bottomRight corner under slight rotation, dragging + // cursor straight down past clamp.bottom — the rect's WIDTH changes + // even though cursor only moves vertically. + const theta = math.pi / 12; + final initial = Box.fromLTWH(50, 50, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 200); + final center = Vector2(100, 100); + // Pointer starts at the rotated bottomRight corner. + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(150, 150), + center, + theta, + ); + // Sweep cursor straight down (in screen / world coords) past clamp. + for (int i = 1; i <= 50; i++) { + // Pure vertical screen motion. + final targetPointerWorld = Vector2( + initialPointerWorld.x, + initialPointerWorld.y + i * 5.0, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: false, + ); + // With pure vertical cursor motion, width should equal the + // un-rotated cursor projection onto the box's local x-axis. For + // bottomRight, that means width *can* grow (because the rotated + // cursor delta has a positive box-local x component) — but it + // must NOT shrink below the initial width. + expect( + result.rect.width, + greaterThanOrEqualTo(initial.width - 1e-6), + reason: 'tick $i: width shrank below initial ' + '(${result.rect.width} < ${initial.width})', + ); + } + }, + ); + }); + + group('Corner handle: monotonic LP projection at constraint corner', () { + test( + 'bottomRight cursor sweep past constraint corner — both axes stay ' + 'monotonic (regression for the old two-step LP non-monotonicity)', + () { + const theta = math.pi / 12; + final initial = Box.fromLTWH(50, 50, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 800, 200); + final center = Vector2(100, 100); + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(150, 150), + center, + theta, + ); + // Phase 1: cursor goes straight down past clamp.bottom. + // Phase 2: cursor sweeps right (cursor still below clamp.bottom). + final widths = []; + final heights = []; + for (int i = 0; i <= 60; i++) { + // For i ≤ 30, drag straight down; for i > 30, drag right. + final downPart = i <= 30 ? i * 5.0 : 150.0; + final rightPart = i > 30 ? (i - 30) * 5.0 : 0.0; + final targetPointerWorld = Vector2( + initialPointerWorld.x + rightPart, + initialPointerWorld.y + downPart, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: false, + ); + widths.add(result.rect.width); + heights.add(result.rect.height); + } + // Width must be monotonic non-decreasing across the whole sweep + // (cursor never moves left). Tolerance accommodates float precision + // along the L2 projection's constraint line. + for (int i = 1; i < widths.length; i++) { + expect( + widths[i], + greaterThanOrEqualTo(widths[i - 1] - 1e-6), + reason: 'tick $i: width regressed ' + '(${widths[i - 1]} → ${widths[i]})', + ); + } + // Height during phase 1 (cursor going down) must be non-decreasing. + for (int i = 1; i <= 30; i++) { + expect( + heights[i], + greaterThanOrEqualTo(heights[i - 1] - 1e-6), + reason: 'tick $i (phase 1): height regressed ' + '(${heights[i - 1]} → ${heights[i]})', + ); + } + }, + ); + }); + + group('Side handle: tight clamp at every tick of a sweep', () { + test( + 'right handle: rect close to clamp.bottom — drag tick-by-tick keeps ' + 'all rotated corners inside clamp', + () { + // Position the box so the rotated bottom-right corner is already + // close to clamp.bottom. Drag right handle outward in tiny ticks. + // At every tick, all rotated corners must stay inside clamp. + const theta = math.pi / 12; + final initial = Box.fromLTWH(50, 200, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 320); + final center = Vector2(100, 250); + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(150, 250), + center, + theta, + ); + + for (int i = 0; i <= 60; i++) { + // Tiny 0.5 px ticks. + final targetUnrotated = Vector2(150 + i * 0.5, 250); + final targetPointerWorld = ClampHelpers.rotatePointAround( + targetUnrotated, + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.right, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: false, + ); + final r = result.rect; + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map( + (p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + final c = corners[k]; + expect( + c.x, + greaterThanOrEqualTo(clamp.left - 1e-4), + reason: 'tick $i corner $k: x=${c.x} leaked past clamp.left', + ); + expect( + c.y, + greaterThanOrEqualTo(clamp.top - 1e-4), + reason: 'tick $i corner $k: y=${c.y} leaked past clamp.top', + ); + expect( + c.x, + lessThanOrEqualTo(clamp.right + 1e-4), + reason: 'tick $i corner $k: x=${c.x} leaked past clamp.right', + ); + expect( + c.y, + lessThanOrEqualTo(clamp.bottom + 1e-4), + reason: 'tick $i corner $k: y=${c.y} leaked past clamp.bottom', + ); + } + } + }, + ); + }); + + group('Force-flip during rotated resize keeps rect inside clamp', () { + test( + 'bottomRight handle: drag pointer past topLeft anchor and beyond ' + 'clamp.left — rotated rect stays inside clamp', + () { + // User drags the bottomRight corner of a rotated rect past the + // topLeft anchor (force-flipping the rect to the LEFT of anchor), + // and continues dragging past the clamp's left edge. + const theta = math.pi / 12; + final initial = Box.fromLTWH(150, 100, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(200, 150); + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(250, 200), + center, + theta, + ); + // Drag pointer far to the left + down to force a horizontal flip + // past the clamp. + final targetUnrotated = Vector2(-200, 200); + final targetPointerWorld = ClampHelpers.rotatePointAround( + targetUnrotated, + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + // The resulting rect's rotated AABB must stay entirely inside + // the clamp despite the flip. + final r = result.rect; + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map((p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-4), + reason: 'corner $k leaked past clamp.left'); + expect(corners[k].y, greaterThanOrEqualTo(clamp.top - 1e-4), + reason: 'corner $k leaked past clamp.top'); + expect(corners[k].x, lessThanOrEqualTo(clamp.right + 1e-4), + reason: 'corner $k leaked past clamp.right'); + expect(corners[k].y, lessThanOrEqualTo(clamp.bottom + 1e-4), + reason: 'corner $k leaked past clamp.bottom'); + } + }, + ); + }); + + group('Force-flip multi-tick: clamp respected throughout', () { + test( + 'sweep cursor across anchor and past clamp.left — every tick stays ' + 'inside clamp', + () { + const theta = math.pi / 12; + final initial = Box.fromLTWH(150, 100, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(200, 150); + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(250, 200), + center, + theta, + ); + // Sweep from right of anchor past anchor past clamp.left. + for (int i = 0; i <= 80; i++) { + // Cursor goes from x=250 to x=-200 in unrotated frame (across + // anchor at x=150, then past clamp.left at x=0). + final unrotatedX = 250.0 - i * 6.0; + final targetUnrotated = Vector2(unrotatedX, 200); + final targetPointerWorld = ClampHelpers.rotatePointAround( + targetUnrotated, + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + final r = result.rect; + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map( + (p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: 'tick $i corner $k: x=${corners[k].x} ' + 'leaked past clamp.left'); + expect(corners[k].y, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: 'tick $i corner $k: y=${corners[k].y} ' + 'leaked past clamp.top'); + expect(corners[k].x, lessThanOrEqualTo(clamp.right + 1e-3), + reason: 'tick $i corner $k: x=${corners[k].x} ' + 'leaked past clamp.right'); + expect(corners[k].y, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: 'tick $i corner $k: y=${corners[k].y} ' + 'leaked past clamp.bottom'); + } + } + }, + ); + }); + + group('Force-flip at large rotation: clamp respected', () { + test( + 'theta=π/4, drag past anchor in extreme amounts — no leak', + () { + const theta = math.pi / 4; + final initial = Box.fromLTWH(150, 150, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(200, 200); + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(250, 250), + center, + theta, + ); + // Sweep cursor in many directions, including past anchor and past + // clamp. + for (final pair in const [ + [-300, 250], // far left + [250, -300], // far up + [-300, -300], // diagonal up-left (far) + [600, 600], // diagonal far down-right + [-100, 250], // mild left flip + [50, 50], // past anchor diagonally, modest amount + [50, 250], // past anchor x only + [250, 50], // past anchor y only + ]) { + final targetUnrotated = + Vector2(pair[0].toDouble(), pair[1].toDouble()); + final targetPointerWorld = ClampHelpers.rotatePointAround( + targetUnrotated, + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + final r = result.rect; + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map( + (p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: 'pair=$pair corner $k: leaked clamp.left ' + '(x=${corners[k].x})'); + expect(corners[k].y, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: 'pair=$pair corner $k: leaked clamp.top ' + '(y=${corners[k].y})'); + expect(corners[k].x, lessThanOrEqualTo(clamp.right + 1e-3), + reason: 'pair=$pair corner $k: leaked clamp.right'); + expect(corners[k].y, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: 'pair=$pair corner $k: leaked clamp.bottom'); + } + } + }, + ); + }); + + group('Side-handle force-flip near clamp edge', () { + test( + 'right handle, box near clamp.left: drag past anchor + past clamp ' + '— rotated polygon stays in clamp', + () { + // Box near clamp.left. anchor for right handle = centerLeft. + // Drag pointer far to the left, past anchor (force x-flip) AND + // past clamp.left=0. With widthSign aware of the flip, the LP + // should constrain the actually-flipped rect's rendered polygon + // to stay in clamp. Note: the unrotated stored bounds may extend + // past the clamp on stretched/flipped geometries — that's + // expected under boundingBox semantics ("rendered AABB stays + // in the clamp"); the stored rect is invisible storage. + const theta = math.pi / 12; + final initial = Box.fromLTWH(40, 200, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(90, 250); + // Pointer starts at the rotated right-edge midpoint (centerRight). + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(140, 250), + center, + theta, + ); + // Drag pointer way past anchor on the left, past clamp.left. + final targetPointerWorld = ClampHelpers.rotatePointAround( + Vector2(-200, 250), + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.right, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + final r = result.rect; + // Rotated polygon corners in clamp (the boundingBox contract). + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map((p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: 'rotated corner $k leaked clamp.left ' + '(x=${corners[k].x})'); + expect(corners[k].x, lessThanOrEqualTo(clamp.right + 1e-3), + reason: 'rotated corner $k leaked clamp.right ' + '(x=${corners[k].x})'); + expect(corners[k].y, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: 'rotated corner $k leaked clamp.top ' + '(y=${corners[k].y})'); + expect(corners[k].y, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: 'rotated corner $k leaked clamp.bottom ' + '(y=${corners[k].y})'); + } + }, + ); + + test( + 'top handle, box near clamp.bottom: drag past anchor + past clamp ' + '— rotated polygon stays in clamp', + () { + // Symmetric scenario for vertical-axis flip with top side handle. + const theta = math.pi / 12; + final initial = Box.fromLTWH(150, 280, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(200, 330); + // Initial pointer at rotated topCenter. + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(200, 280), + center, + theta, + ); + // Drag pointer way down past anchor (bottomCenter at y=380) and + // past clamp.bottom=400. + final targetPointerWorld = ClampHelpers.rotatePointAround( + Vector2(200, 600), + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.top, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + final r = result.rect; + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map((p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + expect(corners[k].y, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: 'rotated corner $k leaked clamp.top'); + expect(corners[k].y, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: 'rotated corner $k leaked clamp.bottom'); + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-3)); + expect(corners[k].x, lessThanOrEqualTo(clamp.right + 1e-3)); + } + }, + ); + }); + + group('User screenshot: 45° box near top clamp, drag bottomRight up', () { + test( + 'box rotated π/4 near clamp.top, drag bottomRight cursor far up past ' + 'clamp.top — flipped rect must stay inside clamp', + () { + // Clamping rect ≈ a thin band at the top (matches the screenshot). + // Box rotated 45° centered just below the clamp band. User grabs + // the bottomRight corner and drags cursor far up past clamp.top. + const theta = math.pi / 4; + final initial = Box.fromLTWH(100, 50, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(150, 100); + // Initial pointer = rotated bottomRight in world. + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(200, 150), + center, + theta, + ); + // Drag cursor far upward past clamp.top=0 — force diagonal flip + // past topLeft anchor and past the clamping rect top edge. + final targetPointerWorld = ClampHelpers.rotatePointAround( + Vector2(50, -300), + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + final r = result.rect; + // ignore: avoid_print + print('User scenario result rect: $r'); + // ignore: avoid_print + print('User scenario result flip: ${result.flip}'); + // Rotated quad corners must be inside clamp (boundingBox contract). + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map((p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + // ignore: avoid_print + print('Rotated corner $k: ${corners[k]}'); + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: 'rotated corner $k leaked clamp.left'); + expect(corners[k].y, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: 'rotated corner $k leaked clamp.top ' + '(y=${corners[k].y})'); + expect(corners[k].x, lessThanOrEqualTo(clamp.right + 1e-3), + reason: 'rotated corner $k leaked clamp.right'); + expect(corners[k].y, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: 'rotated corner $k leaked clamp.bottom'); + } + }, + ); + }); + + group('User screenshot: harsh-delta force-flip outside clamp', () { + // Sweep over many drag directions and corner handles, asserting that + // every result keeps the box inside the clamp. + test( + 'all 4 corner handles × 6 drag directions × 2 rotation angles — ' + 'no leak', + () { + final clamp = Box.fromLTRB(0, 0, 400, 400); + final dragsUnrotated = const >[ + [-300, 250], // far left + [250, -300], // far up + [-300, -300], // far up-left (diagonal) + [600, 250], // far right + [250, 600], // far down + [600, 600], // far down-right + ]; + final corners = const [ + HandlePosition.topLeft, + HandlePosition.topRight, + HandlePosition.bottomLeft, + HandlePosition.bottomRight, + ]; + // Use a few rotation angles, including 45° (matches screenshot). + final thetas = [math.pi / 12, math.pi / 4, -math.pi / 4]; + for (final theta in thetas) { + // Position near various corners of clamp. + final positions = const [ + [50, 50], // near top-left + [250, 50], // near top-right + [50, 250], // near bottom-left + [250, 250], // near bottom-right + ]; + for (final pos in positions) { + final initial = Box.fromLTWH( + pos[0].toDouble(), + pos[1].toDouble(), + 100, + 100, + rotation: theta, + ); + final center = Vector2(pos[0] + 50, pos[1] + 50); + for (final handle in corners) { + final local = handle.anchor(initial); // OPPOSITE corner + // The handle's position (in unrotated frame) is the corner + // OPPOSITE the anchor. + final initialPointerLocal = Vector2( + local.x == initial.left ? initial.right : initial.left, + local.y == initial.top ? initial.bottom : initial.top, + ); + final initialPointerWorld = ClampHelpers.rotatePointAround( + initialPointerLocal, center, theta); + for (final drag in dragsUnrotated) { + final targetPointerWorld = ClampHelpers.rotatePointAround( + Vector2(drag[0], drag[1]), + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: handle, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + final r = result.rect; + final scenario = + 'theta=$theta pos=$pos handle=$handle drag=$drag'; + final rcenter = + Vector2((r.left + r.right) / 2, (r.top + r.bottom) / 2); + final rotatedCorners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map((p) => + ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + expect(rotatedCorners[k].x, + greaterThanOrEqualTo(clamp.left - 1e-3), + reason: '$scenario: rot corner $k.x leaked'); + expect(rotatedCorners[k].y, + greaterThanOrEqualTo(clamp.top - 1e-3), + reason: '$scenario: rot corner $k.y leaked'); + expect(rotatedCorners[k].x, + lessThanOrEqualTo(clamp.right + 1e-3), + reason: '$scenario: rot corner $k.x leaked'); + expect(rotatedCorners[k].y, + lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: '$scenario: rot corner $k.y leaked'); + } + } + } + } + } + }, + ); + }); + + group('Thin clamping rect: harsh-delta resize stays inside', () { + // Mirrors the screenshot setup: clamping rect is a thin band, box + // sitting partly inside it, user drags corner far outside. + test( + 'thin horizontal clamp + various rotations + force-flip drags ' + '— rect stays inside clamp', + () { + final clamp = Box.fromLTRB(0, 0, 800, 150); // thin strip + final thetas = [ + math.pi / 12, + math.pi / 6, // ≈ 30°, matches screenshot + math.pi / 4, + -math.pi / 6, + ]; + // Drag targets in the unrotated frame — far outside the strip. + final targets = const >[ + [400, -300], // far up + [400, 600], // far down + [-300, 75], // far left + [1100, 75], // far right + [-300, 600], // far down-left + [1100, 600], // far down-right + [-300, -300], // far up-left + [1100, -300], // far up-right + ]; + // Use a small box so its rotated AABB fits inside the thin clamp + // for all tested rotations. 50×50 → max AABB 50*√2 ≈ 70.7 px. + const boxSize = 50.0; + final corners = const [ + HandlePosition.topLeft, + HandlePosition.topRight, + HandlePosition.bottomLeft, + HandlePosition.bottomRight, + ]; + for (final theta in thetas) { + final rect = Box.fromLTWH( + 375, + 50, + boxSize, + boxSize, + rotation: theta, + ); + final center = Vector2( + (rect.left + rect.right) / 2, + (rect.top + rect.bottom) / 2, + ); + for (final handle in corners) { + final localCorner = handle.anchor(rect); + // The dragged corner is OPPOSITE to the anchor. + final draggedLocal = Vector2( + localCorner.x == rect.left ? rect.right : rect.left, + localCorner.y == rect.top ? rect.bottom : rect.top, + ); + final initialPointerWorld = ClampHelpers.rotatePointAround( + draggedLocal, + center, + theta, + ); + for (final target in targets) { + final targetPointerWorld = ClampHelpers.rotatePointAround( + Vector2(target[0], target[1]), + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: rect, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: handle, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + final r = result.rect; + final scenario = 'theta=${theta.toStringAsFixed(4)} ' + 'handle=$handle target=$target'; + // Rotated polygon corners must stay inside clamp; the + // unrotated stored bounds may extend past on stretched/ + // flipped geometries (boundingBox = "rendered AABB inside", + // not "stored bounds inside"). + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map((p) => + ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: '$scenario: rotated corner $k leaked clamp.left'); + expect(corners[k].x, lessThanOrEqualTo(clamp.right + 1e-3), + reason: '$scenario: rotated corner $k leaked clamp.right'); + expect(corners[k].y, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: '$scenario: rotated corner $k leaked clamp.top'); + expect(corners[k].y, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: '$scenario: rotated corner $k leaked clamp.bottom'); + } + } + } + } + }, + ); + }); + + group('Force-flip via topLeft handle past bottomRight anchor', () { + test( + 'box near clamp.right; drag topLeft cursor past bottomRight to ' + 'force x-flip — rect extends past clamp.right?', + () { + // Box near clamp.right edge. Drag topLeft cursor far to the right + // (past anchor at bottomRight, past clamp.right). + const theta = math.pi / 12; + final initial = Box.fromLTWH(250, 100, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(300, 150); + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(250, 100), + center, + theta, + ); + // Drag topLeft cursor far to right past bottomRight. + final targetPointerWorld = ClampHelpers.rotatePointAround( + Vector2(800, 100), + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.topLeft, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + // ignore: avoid_print + print('topLeft flip result rect: ${result.rect}'); + // ignore: avoid_print + print('topLeft flip result flip: ${result.flip}'); + final r = result.rect; + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map((p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + // ignore: avoid_print + print('Corner $k: ${corners[k]}'); + } + for (int k = 0; k < 4; k++) { + expect(corners[k].x, lessThanOrEqualTo(clamp.right + 1e-3), + reason: 'corner $k leaked clamp.right (x=${corners[k].x})'); + expect(corners[k].y, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: 'corner $k leaked clamp.top (y=${corners[k].y})'); + expect(corners[k].y, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: 'corner $k leaked clamp.bottom (y=${corners[k].y})'); + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: 'corner $k leaked clamp.left'); + } + }, + ); + }); + + group('Force-flip near clamp edge (user scenario)', () { + test( + 'box near clamp.right; drag bottomRight outwards to right past ' + 'clamp.right then flip — stays in clamp', + () { + // Box right edge is 20px from clamp.right. Drag bottomRight cursor + // far to the right past clamp.right (no flip needed yet, just + // clamping). Then continue dragging far enough to flip past anchor. + const theta = math.pi / 12; + final initial = Box.fromLTWH(280, 200, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(330, 250); + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(380, 300), + center, + theta, + ); + // Drag cursor far up-and-left to force diagonal flip. + final targetPointerWorld = ClampHelpers.rotatePointAround( + Vector2(-200, -200), + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + // Print diagnostic + // ignore: avoid_print + print('Result rect: ${result.rect}'); + // ignore: avoid_print + print('Result flip: ${result.flip}'); + final r = result.rect; + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map((p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + // ignore: avoid_print + for (int k = 0; k < 4; k++) { + // ignore: avoid_print + print('Corner $k: ${corners[k]}'); + } + for (int k = 0; k < 4; k++) { + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: 'corner $k leaked clamp.left'); + expect(corners[k].y, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: 'corner $k leaked clamp.top'); + } + }, + ); + + test( + 'box near clamp.left; drag bottomRight INNER corner outwards (right) ' + 'far enough to flip past anchor on the right side', + () { + // Box near LEFT edge. inner-most corner from a left-near box is + // the bottomRight (or topRight). User drags it AWAY from anchor + // = far to the LEFT past the topLeft anchor. The flipped rect + // would extend to the LEFT of anchor, possibly past clamp.left. + const theta = math.pi / 12; + final initial = Box.fromLTWH(20, 200, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(70, 250); + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(120, 300), + center, + theta, + ); + // Drag cursor far left (past anchor at x=20, past clamp.left=0). + final targetPointerWorld = ClampHelpers.rotatePointAround( + Vector2(-300, 250), + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: true, + ); + // ignore: avoid_print + print('Left-edge box result rect: ${result.rect}'); + // ignore: avoid_print + print('Left-edge box result flip: ${result.flip}'); + final r = result.rect; + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map((p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + // ignore: avoid_print + print('Corner $k: ${corners[k]}'); + } + for (int k = 0; k < 4; k++) { + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: 'corner $k leaked clamp.left'); + } + }, + ); + }); + + group('Force-flip with constraints: clamp respected', () { + test( + 'diagonal flip with min/max constraints stays inside clamp', + () { + const theta = math.pi / 12; + final initial = Box.fromLTWH(150, 150, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(200, 200); + final constraints = const Constraints( + minWidth: 50, + maxWidth: 400, + minHeight: 50, + maxHeight: 400, + ); + final initialPointerWorld = ClampHelpers.rotatePointAround( + Vector2(250, 250), + center, + theta, + ); + // Drag bottomRight cursor past topLeft anchor on BOTH axes + // (force diagonal flip), then keep dragging past clamp.left and + // clamp.top. + for (int i = 0; i <= 80; i++) { + final ux = 250.0 - i * 7.0; + final uy = 250.0 - i * 7.0; + final targetPointerWorld = ClampHelpers.rotatePointAround( + Vector2(ux, uy), + center, + theta, + ); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + constraints: constraints, + allowFlipping: true, + ); + final r = result.rect; + final rcenter = Vector2( + (r.left + r.right) / 2, + (r.top + r.bottom) / 2, + ); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map( + (p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (int k = 0; k < 4; k++) { + expect(corners[k].x, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: 'tick $i corner $k: leaked past clamp.left'); + expect(corners[k].y, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: 'tick $i corner $k: leaked past clamp.top'); + expect(corners[k].x, lessThanOrEqualTo(clamp.right + 1e-3), + reason: 'tick $i corner $k: leaked past clamp.right'); + expect(corners[k].y, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: 'tick $i corner $k: leaked past clamp.bottom'); + } + } + }, + ); + }); + + group('Side handle clamp leak: monotonic projection at boundary', () { + test( + 'right handle: tiny outward deltas near clamp give monotonic width', + () { + // The user reports: dragging the right side handle in tiny ticks, + // when the rotated bottom-right corner intersects clamp.bottom, + // the width briefly *decreases* (or grows backward) before + // settling. Symptom of a non-monotonic projection at the + // feasibility boundary. + const theta = math.pi / 12; + // Position the rect so the bottom-right corner is close to the + // clamp's bottom edge at the initial size, ready to bind. + final initial = Box.fromLTWH(150, 250, 100, 100, rotation: theta); + final clamp = Box.fromLTRB(0, 0, 400, 400); + final center = Vector2(200, 300); + // Sweep pointer rightward in 5 px ticks past the cap. + const startUnrotatedX = 250.0; // initial right edge midpoint.x + final pointerYUnrotated = 300.0; // anchor.y in unrotated + final widths = []; + for (int i = 0; i <= 20; i++) { + final targetUnrotatedX = startUnrotatedX + i * 5.0; + final targetUnrotated = Vector2(targetUnrotatedX, pointerYUnrotated); + final initialUnrotated = Vector2(startUnrotatedX, pointerYUnrotated); + final initialPointerWorld = + ClampHelpers.rotatePointAround(initialUnrotated, center, theta); + final targetPointerWorld = + ClampHelpers.rotatePointAround(targetUnrotated, center, theta); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: HandlePosition.right, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + clampingRect: clamp, + allowFlipping: false, + ); + widths.add(result.rect.width); + // At every tick, the 4 rotated corners must stay in clamp. + final r = result.rect; + final rcx = (r.left + r.right) / 2; + final rcy = (r.top + r.bottom) / 2; + final rcenter = Vector2(rcx, rcy); + final corners = [ + Vector2(r.left, r.top), + Vector2(r.right, r.top), + Vector2(r.right, r.bottom), + Vector2(r.left, r.bottom), + ] + .map( + (p) => ClampHelpers.rotatePointAround(p, rcenter, r.rotation)) + .toList(); + for (final c in corners) { + expect( + c.x, + greaterThanOrEqualTo(clamp.left - 1e-4), + reason: 'tick $i: corner.x leaked left of clamp', + ); + expect( + c.y, + greaterThanOrEqualTo(clamp.top - 1e-4), + reason: 'tick $i: corner.y leaked above clamp', + ); + expect( + c.x, + lessThanOrEqualTo(clamp.right + 1e-4), + reason: 'tick $i: corner.x leaked right of clamp', + ); + expect( + c.y, + lessThanOrEqualTo(clamp.bottom + 1e-4), + reason: 'tick $i: corner.y leaked below clamp', + ); + } + } + // Width must be non-decreasing across the sweep. + for (int i = 1; i < widths.length; i++) { + expect( + widths[i], + greaterThanOrEqualTo(widths[i - 1] - 1e-6), + reason: + 'width regressed at tick $i: ${widths[i - 1]} → ${widths[i]}', + ); + } + }, + ); + }); + + group('Right side handle under rotation — symmetricScale mode', () { + test( + 'aspect ratio preserved + symmetric about center (both axes extend)', + () { + final initial = Box.fromLTWH(200, 200, 100, 100, rotation: theta); + final result = _resize( + initial: initial, + handle: HandlePosition.right, + initialUnrotated: Vector2(300, 250), + targetUnrotated: Vector2(325, 250), + mode: ResizeMode.symmetricScale, + ); + + // Width grew 50 → height also grew 50 (1:1 aspect) → 150×150. + expect(result.rect.width, closeTo(150, 1e-9)); + expect(result.rect.height, closeTo(150, 1e-9)); + }, + ); + }); +} + +RawResizeResult _resize({ + required Box initial, + required HandlePosition handle, + required Vector2 initialUnrotated, + required Vector2 targetUnrotated, + ResizeMode mode = ResizeMode.freeform, + BindingStrategy bindingStrategy = BindingStrategy.originalBox, + Box? clampingRect, +}) { + final center = Vector2( + (initial.left + initial.right) / 2, + (initial.top + initial.bottom) / 2, + ); + final initialPointerWorld = ClampHelpers.rotatePointAround( + initialUnrotated, center, initial.rotation); + final targetPointerWorld = + ClampHelpers.rotatePointAround(targetUnrotated, center, initial.rotation); + + return BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialPointerWorld, + localPosition: targetPointerWorld, + handle: handle, + resizeMode: mode, + initialFlip: Flip.none, + rotation: initial.rotation, + bindingStrategy: bindingStrategy, + clampingRect: clampingRect ?? Box.largest, + allowFlipping: true, + ); +} + +/// Asserts that [handle]'s anchor (midpoint of the OPPOSITE side) is at +/// the same world-space point in [initial] and [result]. +void _expectAnchorPreserved(Box initial, Box result, HandlePosition handle) { + final initCenter = Vector2( + (initial.left + initial.right) / 2, + (initial.top + initial.bottom) / 2, + ); + final resCenter = Vector2( + (result.left + result.right) / 2, + (result.top + result.bottom) / 2, + ); + final initialAnchorLocal = handle.anchor(initial); + final resultAnchorLocal = handle.anchor(result); + final initialAnchorWorld = ClampHelpers.rotatePointAround( + initialAnchorLocal, initCenter, initial.rotation); + final resultAnchorWorld = ClampHelpers.rotatePointAround( + resultAnchorLocal, resCenter, result.rotation); + expect(resultAnchorWorld.x, closeTo(initialAnchorWorld.x, 1e-6)); + expect(resultAnchorWorld.y, closeTo(initialAnchorWorld.y, 1e-6)); +} diff --git a/packages/box_transform/test/rotated_symmetric_scale_test.dart b/packages/box_transform/test/rotated_symmetric_scale_test.dart new file mode 100644 index 0000000..0b18c8d --- /dev/null +++ b/packages/box_transform/test/rotated_symmetric_scale_test.dart @@ -0,0 +1,35 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + group('Symmetric-scale resize with rotation', () { + test('preserves aspect ratio and grows from center', () { + final initial = Box.fromLTWH(0, 0, 200, 100, rotation: math.pi / 5); + final initialAspect = initial.width / initial.height; + final initialCenter = Vector2(100, 50); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: Vector2(200, 100), + localPosition: Vector2(300, 200), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.symmetricScale, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-1000, -1000, 1000, 1000), + constraints: const Constraints(), + allowFlipping: false, + rotation: math.pi / 5, + ); + expect( + result.rect.width / result.rect.height, closeTo(initialAspect, 1e-4)); + final resultCenter = Vector2( + (result.rect.left + result.rect.right) / 2, + (result.rect.top + result.rect.bottom) / 2, + ); + expect(resultCenter.x, closeTo(initialCenter.x, 1e-4)); + expect(resultCenter.y, closeTo(initialCenter.y, 1e-4)); + }); + }); +} diff --git a/packages/box_transform/test/rotated_symmetric_test.dart b/packages/box_transform/test/rotated_symmetric_test.dart new file mode 100644 index 0000000..ef3506f --- /dev/null +++ b/packages/box_transform/test/rotated_symmetric_test.dart @@ -0,0 +1,62 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + group('Symmetric resize with rotation', () { + test('grows symmetrically around center', () { + final initial = Box.fromLTWH(0, 0, 100, 100, rotation: math.pi / 6); + final initialCenter = Vector2(50, 50); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: Vector2(100, 100), + localPosition: Vector2(150, 150), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.symmetric, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-500, -500, 500, 500), + constraints: const Constraints(), + allowFlipping: false, + rotation: math.pi / 6, + ); + final resultCenter = Vector2( + (result.rect.left + result.rect.right) / 2, + (result.rect.top + result.rect.bottom) / 2, + ); + expect(resultCenter.x, closeTo(initialCenter.x, 1e-4)); + expect(resultCenter.y, closeTo(initialCenter.y, 1e-4)); + }); + + test('clamp rect constrains symmetric growth under rotation', () { + final initial = Box.fromLTWH(0, 0, 50, 50, rotation: math.pi / 4); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: Vector2(50, 50), + localPosition: Vector2(500, 500), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.symmetric, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-100, -100, 100, 100), + constraints: const Constraints(), + allowFlipping: false, + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.boundingBox, + ); + final cx = (result.rect.left + result.rect.right) / 2; + final cy = (result.rect.top + result.rect.bottom) / 2; + final corners = [ + Vector2(result.rect.left, result.rect.top), + Vector2(result.rect.right, result.rect.top), + Vector2(result.rect.right, result.rect.bottom), + Vector2(result.rect.left, result.rect.bottom), + ].map((p) => ClampHelpers.rotatePointAround( + p, Vector2(cx, cy), result.rect.rotation)); + for (final c in corners) { + expect(c.x, inInclusiveRange(-100 - 1e-4, 100 + 1e-4)); + expect(c.y, inInclusiveRange(-100 - 1e-4, 100 + 1e-4)); + } + }); + }); +} diff --git a/packages/box_transform/test/rotation_clamp_test.dart b/packages/box_transform/test/rotation_clamp_test.dart new file mode 100644 index 0000000..40d5a6b --- /dev/null +++ b/packages/box_transform/test/rotation_clamp_test.dart @@ -0,0 +1,215 @@ +// Tests for rotation that respects the clamping rect. +// +// Bug: BoxTransformer.rotate() does not take a clampingRect, so the rotated +// AABB can extend beyond the clamp. The user's symptom: rotating a box +// flush against a clamp boundary leaks the rendered footprint outside, and +// the next move() call snaps it back in. The fix is to make rotation aware +// of the clamp via slide-then-freeze: +// +// 1. If the rotated rect can be translated such that all relevant corners +// fit in the clamp (per bindingStrategy), slide to the closest such +// position. Rotation is accepted, `feasible` is true. +// 2. If no translation can satisfy the clamp at the desired rotation, +// reject the rotation entirely: return `rotation == initialRotation`, +// `rect == initialRect`, `feasible == false`. The controller skips +// its state update in this case, freezing rotation at the cap. + +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + group('BoxTransformer.rotate respects clampingRect', () { + test('slides box into clamp when rotation has slack room', () { + // 100×100 box flush against the top-left corner of a 200×200 clamp. + // Rotating by π/12 inflates the AABB beyond the box, poking out by + // ~11 px on each axis. The box must slide into the clamp. + final initial = Box.fromLTWH(0, 0, 100, 100); + final clamp = Box.fromLTRB(0, 0, 200, 200); + const theta = math.pi / 12; + final center = Vector2(50, 50); + // Pointer moves from east of center (angle 0) to angle +theta. + final initialPointer = Vector2(center.x + 50, center.y); + final targetPointer = Vector2( + center.x + 50 * math.cos(theta), + center.y + 50 * math.sin(theta), + ); + + final result = BoxTransformer.rotate( + initialRect: initial, + initialLocalPosition: initialPointer, + localPosition: targetPointer, + initialRotation: 0.0, + clampingRect: clamp, + bindingStrategy: BindingStrategy.boundingBox, + ); + + expect( + result.feasible, + isTrue, + reason: 'There is room to slide the box into the clamp.', + ); + expect(result.rotation, closeTo(theta, 1e-9)); + // The rotated AABB must fit entirely inside the clamp. + final aabb = ClampHelpers.calculateBoundingRect(result.rect); + expect(aabb.left, greaterThanOrEqualTo(clamp.left - 1e-6)); + expect(aabb.top, greaterThanOrEqualTo(clamp.top - 1e-6)); + expect(aabb.right, lessThanOrEqualTo(clamp.right + 1e-6)); + expect(aabb.bottom, lessThanOrEqualTo(clamp.bottom + 1e-6)); + }); + + test('rejects rotation when clamp is too tight to fit any translation', () { + // 100×100 box exactly filling a 100×100 clamp — at θ=π/4 the rotated + // AABB needs ~141×141, which cannot fit even with translation. + final initial = Box.fromLTWH(0, 0, 100, 100); + final clamp = Box.fromLTRB(0, 0, 100, 100); + const theta = math.pi / 4; + final center = Vector2(50, 50); + final initialPointer = Vector2(center.x + 50, center.y); + final targetPointer = Vector2( + center.x + 50 * math.cos(theta), + center.y + 50 * math.sin(theta), + ); + + final result = BoxTransformer.rotate( + initialRect: initial, + initialLocalPosition: initialPointer, + localPosition: targetPointer, + initialRotation: 0.0, + clampingRect: clamp, + bindingStrategy: BindingStrategy.boundingBox, + ); + + expect(result.feasible, isFalse); + expect(result.rotation, equals(0.0), + reason: 'Rejected rotation must report initialRotation.'); + expect(result.rect, equals(initial), + reason: 'Rejected rotation must leave rect unchanged.'); + }); + + test('rejected rotation reports the attempted delta, not zero', () { + // R3: delta on infeasible should reflect the user's gesture motion + // so consumers (telemetry, UI) can read it without first checking + // `feasible`. Mirrors how `move()` reports clamped delta. + final initial = Box.fromLTWH(0, 0, 100, 100); + final clamp = Box.fromLTRB(0, 0, 100, 100); // tight + const theta = math.pi / 4; + final center = Vector2(50, 50); + final initialPointer = Vector2(center.x + 50, center.y); + final targetPointer = Vector2( + center.x + 50 * math.cos(theta), + center.y + 50 * math.sin(theta), + ); + + final result = BoxTransformer.rotate( + initialRect: initial, + initialLocalPosition: initialPointer, + localPosition: targetPointer, + initialRotation: 0.0, + clampingRect: clamp, + bindingStrategy: BindingStrategy.boundingBox, + ); + + expect(result.feasible, isFalse); + final expected = targetPointer - initialPointer; + expect(result.delta.x, closeTo(expected.x, 1e-9)); + expect(result.delta.y, closeTo(expected.y, 1e-9)); + }); + + test( + 'originalBox keeps unrotated rect inside clamp; rotated corners may ' + 'extend outside', + () { + // R4: originalBox lets the rotated quad poke out as long as the + // unrotated rect stays in clamp. With a 100×100 box exactly filling + // a 100×100 clamp, originalBox should *accept* π/4 rotation (the + // unrotated corners are still at clamp corners) but the rotated + // AABB extends beyond — that's by design. + final initial = Box.fromLTWH(0, 0, 100, 100); + final clamp = Box.fromLTRB(0, 0, 100, 100); + const theta = math.pi / 4; + final center = Vector2(50, 50); + final initialPointer = Vector2(center.x + 50, center.y); + final targetPointer = Vector2( + center.x + 50 * math.cos(theta), + center.y + 50 * math.sin(theta), + ); + + final result = BoxTransformer.rotate( + initialRect: initial, + initialLocalPosition: initialPointer, + localPosition: targetPointer, + initialRotation: 0.0, + clampingRect: clamp, + bindingStrategy: BindingStrategy.originalBox, + ); + + expect(result.feasible, isTrue); + expect(result.rotation, closeTo(theta, 1e-9)); + // Rotated AABB at π/4 needs ~141×141 — must extend beyond the clamp. + final aabb = ClampHelpers.calculateBoundingRect(result.rect); + expect(aabb.width, greaterThan(clamp.width + 1.0)); + }, + ); + + test('negative rotation is symmetric to positive', () { + // R5: rotation cap should kick in at the same magnitude regardless + // of sign. Use a small negative rotation that fits with sliding. + final initial = Box.fromLTWH(0, 0, 100, 100); + final clamp = Box.fromLTRB(0, 0, 200, 200); + const theta = -math.pi / 12; + final center = Vector2(50, 50); + final initialPointer = Vector2(center.x + 50, center.y); + final targetPointer = Vector2( + center.x + 50 * math.cos(theta), + center.y + 50 * math.sin(theta), + ); + + final result = BoxTransformer.rotate( + initialRect: initial, + initialLocalPosition: initialPointer, + localPosition: targetPointer, + initialRotation: 0.0, + clampingRect: clamp, + bindingStrategy: BindingStrategy.boundingBox, + ); + + expect(result.feasible, isTrue); + expect(result.rotation, closeTo(theta, 1e-9)); + final aabb = ClampHelpers.calculateBoundingRect(result.rect); + expect(aabb.left, greaterThanOrEqualTo(clamp.left - 1e-6)); + expect(aabb.top, greaterThanOrEqualTo(clamp.top - 1e-6)); + expect(aabb.right, lessThanOrEqualTo(clamp.right + 1e-6)); + expect(aabb.bottom, lessThanOrEqualTo(clamp.bottom + 1e-6)); + }); + + test('default behavior (no clampingRect) is unchanged', () { + // Pre-fix call sites that omit clampingRect/bindingStrategy must see + // the same rotation/rect they used to get. + final initial = Box.fromLTWH(0, 0, 100, 100); + const theta = math.pi / 6; + final center = Vector2(50, 50); + final initialPointer = Vector2(center.x + 50, center.y); + final targetPointer = Vector2( + center.x + 50 * math.cos(theta), + center.y + 50 * math.sin(theta), + ); + + final result = BoxTransformer.rotate( + initialRect: initial, + initialLocalPosition: initialPointer, + localPosition: targetPointer, + initialRotation: 0.0, + ); + + expect(result.feasible, isTrue); + expect(result.rotation, closeTo(theta, 1e-9)); + // Position unchanged (Box.largest leaves tx/ty interval unconstrained, + // so 0 is feasible and the slide is a no-op). + expect(result.rect.left, closeTo(initial.left, 1e-9)); + expect(result.rect.top, closeTo(initial.top, 1e-9)); + }); + }); +} diff --git a/packages/box_transform/test/rotation_integration_test.dart b/packages/box_transform/test/rotation_integration_test.dart new file mode 100644 index 0000000..6717722 --- /dev/null +++ b/packages/box_transform/test/rotation_integration_test.dart @@ -0,0 +1,167 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + const theta = math.pi / 4; + + group('Figma-parity behaviors at rotation=pi/4', () { + test('1. Aspect-ratio lock (ResizeMode.scale) preserves aspect', () { + final initial = Box.fromLTWH(0, 0, 200, 100, rotation: theta); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(200, 200), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.scale, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-500, -500, 500, 500), + constraints: const Constraints(), + allowFlipping: false, + rotation: theta, + ); + expect(result.rect.width / result.rect.height, closeTo(2.0, 1e-4)); + }); + + test('2. Symmetric resize grows from center', () { + final initial = Box.fromLTWH(0, 0, 100, 100, rotation: theta); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(120, 120), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.symmetric, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-500, -500, 500, 500), + constraints: const Constraints(), + allowFlipping: false, + rotation: theta, + ); + final cx = (result.rect.left + result.rect.right) / 2; + final cy = (result.rect.top + result.rect.bottom) / 2; + expect(cx, closeTo(50, 1e-4)); + expect(cy, closeTo(50, 1e-4)); + }); + + test('3. Symmetric-scale combines both', () { + final initial = Box.fromLTWH(0, 0, 100, 50, rotation: theta); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(150, 75), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.symmetricScale, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-500, -500, 500, 500), + constraints: const Constraints(), + allowFlipping: false, + rotation: theta, + ); + expect(result.rect.width / result.rect.height, closeTo(2.0, 1e-4)); + final cx = (result.rect.left + result.rect.right) / 2; + expect(cx, closeTo(50, 1e-4)); + }); + + test('4. clamp rect constrains the rotated rect (all four corners in)', () { + final initial = Box.fromLTWH(0, 0, 50, 50, rotation: theta); + final clamp = Box.fromLTRB(-100, -100, 100, 100); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(1000, 1000), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + clampingRect: clamp, + constraints: const Constraints(), + allowFlipping: false, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + ); + final corners = _allWorldCorners(result.rect); + for (final c in corners) { + expect(c.x, inInclusiveRange(-100 - 1e-4, 100 + 1e-4)); + expect(c.y, inInclusiveRange(-100 - 1e-4, 100 + 1e-4)); + } + }); + + test('5. min/max constraints honored under rotation', () { + final initial = Box.fromLTWH(0, 0, 100, 100, rotation: theta); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(0, 0), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + clampingRect: Box.fromLTRB(-500, -500, 500, 500), + constraints: const Constraints( + minWidth: 20, minHeight: 20, maxWidth: 200, maxHeight: 200), + allowFlipping: false, + rotation: theta, + ); + expect(result.rect.width, greaterThanOrEqualTo(20 - 1e-4)); + expect(result.rect.height, greaterThanOrEqualTo(20 - 1e-4)); + }); + + test('6. BindingStrategy.boundingBox constrains AABB extent', () { + final initial = Box.fromLTWH(0, 0, 50, 50, rotation: theta); + final clamp = Box.fromLTRB(-70.71, -70.71, 70.71, 70.71); + final initialCorner = _worldCorner(initial, HandlePosition.bottomRight); + final result = BoxTransformer.resize( + initialRect: initial, + initialLocalPosition: initialCorner, + localPosition: Vector2(1000, 1000), + handle: HandlePosition.bottomRight, + resizeMode: ResizeMode.freeform, + initialFlip: Flip.none, + clampingRect: clamp, + constraints: const Constraints(), + allowFlipping: false, + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + ); + expect(result.boundingRect.left, greaterThanOrEqualTo(clamp.left - 1e-4)); + expect(result.boundingRect.right, lessThanOrEqualTo(clamp.right + 1e-4)); + expect(result.boundingRect.top, greaterThanOrEqualTo(clamp.top - 1e-4)); + expect( + result.boundingRect.bottom, lessThanOrEqualTo(clamp.bottom + 1e-4)); + }); + }); +} + +Vector2 _worldCorner(Box box, HandlePosition handle) { + final cx = (box.left + box.right) / 2; + final cy = (box.top + box.bottom) / 2; + final center = Vector2(cx, cy); + late final Vector2 unrotated; + switch (handle) { + case HandlePosition.topLeft: + unrotated = Vector2(box.left, box.top); + case HandlePosition.topRight: + unrotated = Vector2(box.right, box.top); + case HandlePosition.bottomRight: + unrotated = Vector2(box.right, box.bottom); + case HandlePosition.bottomLeft: + unrotated = Vector2(box.left, box.bottom); + default: + throw UnsupportedError('handle $handle not supported'); + } + return ClampHelpers.rotatePointAround(unrotated, center, box.rotation); +} + +List _allWorldCorners(Box box) { + return [ + HandlePosition.topLeft, + HandlePosition.topRight, + HandlePosition.bottomRight, + HandlePosition.bottomLeft, + ].map((h) => _worldCorner(box, h)).toList(); +} diff --git a/packages/box_transform/test/rotation_primitives_test.dart b/packages/box_transform/test/rotation_primitives_test.dart new file mode 100644 index 0000000..07e85dc --- /dev/null +++ b/packages/box_transform/test/rotation_primitives_test.dart @@ -0,0 +1,80 @@ +import 'dart:math' as math; + +import 'package:box_transform/box_transform.dart'; +import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; + +void main() { + group('rotatePointAround', () { + test('identity at theta=0', () { + final p = Vector2(10, 5); + final result = ClampHelpers.rotatePointAround(p, Vector2.zero(), 0.0); + expect(result.x, closeTo(10, 1e-12)); + expect(result.y, closeTo(5, 1e-12)); + }); + + test('rotates pi/2 around origin maps (1,0) -> (0,1)', () { + final result = ClampHelpers.rotatePointAround( + Vector2(1, 0), Vector2.zero(), math.pi / 2); + expect(result.x, closeTo(0, 1e-12)); + expect(result.y, closeTo(1, 1e-12)); + }); + + test('rotates around a non-origin pivot', () { + // Rotate (2,0) by pi around pivot (1,0). Expected: (0,0). + final result = + ClampHelpers.rotatePointAround(Vector2(2, 0), Vector2(1, 0), math.pi); + expect(result.x, closeTo(0, 1e-12)); + expect(result.y, closeTo(0, 1e-12)); + }); + }); + + group('worldToUnrotated / unrotatedToWorld round-trip', () { + test('round-trips at arbitrary theta', () { + // vector_math_64 gives full double precision; tolerance ~1e-12. + final pivot = Vector2(5, 7); + const theta = 0.6435; + final original = Vector2(42, -3); + final local = ClampHelpers.worldToUnrotated(original, pivot, theta); + final back = ClampHelpers.unrotatedToWorld(local, pivot, theta); + expect(back.x, closeTo(original.x, 1e-12)); + expect(back.y, closeTo(original.y, 1e-12)); + }); + + test('identity at theta=0', () { + final pivot = Vector2(5, 7); + final p = Vector2(1, 2); + expect(ClampHelpers.worldToUnrotated(p, pivot, 0.0).x, closeTo(1, 1e-12)); + expect(ClampHelpers.worldToUnrotated(p, pivot, 0.0).y, closeTo(2, 1e-12)); + }); + }); + + group('calculateBoundingRect', () { + test('equals rect when theta=0', () { + final r = Box.fromLTWH(10, 20, 100, 50); + final bounding = ClampHelpers.calculateBoundingRect(r); + expect(bounding.left, closeTo(10, 1e-12)); + expect(bounding.top, closeTo(20, 1e-12)); + expect(bounding.right, closeTo(110, 1e-12)); + expect(bounding.bottom, closeTo(70, 1e-12)); + }); + + test('100x100 rotated pi/4 has bounding ~141x141 centered at box center', + () { + final r = Box.fromLTWH(0, 0, 100, 100, rotation: math.pi / 4); + final bounding = ClampHelpers.calculateBoundingRect(r); + final expectedSide = 100 * math.sqrt(2); + expect(bounding.width, closeTo(expectedSide, 1e-9)); + expect(bounding.height, closeTo(expectedSide, 1e-9)); + expect((bounding.left + bounding.right) / 2, closeTo(50, 1e-9)); + expect((bounding.top + bounding.bottom) / 2, closeTo(50, 1e-9)); + }); + + test('rotation pi/2 swaps width/height', () { + final r = Box.fromLTWH(0, 0, 200, 50, rotation: math.pi / 2); + final bounding = ClampHelpers.calculateBoundingRect(r); + expect(bounding.width, closeTo(50, 1e-9)); + expect(bounding.height, closeTo(200, 1e-9)); + }); + }); +} diff --git a/packages/box_transform/test/scaled_constrained_resizing_test.dart b/packages/box_transform/test/scaled_constrained_resizing_test.dart index 8369869..97c5f64 100644 --- a/packages/box_transform/test/scaled_constrained_resizing_test.dart +++ b/packages/box_transform/test/scaled_constrained_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/scaled_resizing_test.dart b/packages/box_transform/test/scaled_resizing_test.dart index 8882111..9372343 100644 --- a/packages/box_transform/test/scaled_resizing_test.dart +++ b/packages/box_transform/test/scaled_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/symmetric_constrained_resizing_test.dart b/packages/box_transform/test/symmetric_constrained_resizing_test.dart index 5182d44..e8d1a49 100644 --- a/packages/box_transform/test/symmetric_constrained_resizing_test.dart +++ b/packages/box_transform/test/symmetric_constrained_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/symmetric_resizing_test.dart b/packages/box_transform/test/symmetric_resizing_test.dart index 0c6e909..8d443cc 100644 --- a/packages/box_transform/test/symmetric_resizing_test.dart +++ b/packages/box_transform/test/symmetric_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/symmetrically_scaled_constrained_resizing_test.dart b/packages/box_transform/test/symmetrically_scaled_constrained_resizing_test.dart index ed90ac3..6ca8f3c 100644 --- a/packages/box_transform/test/symmetrically_scaled_constrained_resizing_test.dart +++ b/packages/box_transform/test/symmetrically_scaled_constrained_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/box_transform/test/symmetrically_scaled_resizing_test.dart b/packages/box_transform/test/symmetrically_scaled_resizing_test.dart index 0a83738..360b3c2 100644 --- a/packages/box_transform/test/symmetrically_scaled_resizing_test.dart +++ b/packages/box_transform/test/symmetrically_scaled_resizing_test.dart @@ -1,6 +1,6 @@ import 'package:box_transform/box_transform.dart'; import 'package:test/test.dart'; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'utils.dart'; diff --git a/packages/flutter_box_transform/CHANGELOG.md b/packages/flutter_box_transform/CHANGELOG.md index a0c2ce2..185863a 100644 --- a/packages/flutter_box_transform/CHANGELOG.md +++ b/packages/flutter_box_transform/CHANGELOG.md @@ -1,3 +1,31 @@ +## Unreleased + +- **[BREAKING]** `defaultResizeModeResolver()` is now `TransformableBoxController.defaultResizeModeResolver()`. The top-level function has been removed; consumers that referenced it directly (e.g. as a default for `resizeModeResolver`) must update to the qualified static. +- **[BREAKING]** Top-level rotated-layout helpers are now static methods on `RotatedLayout`: + - `rotateOffsetAround(...)` → `RotatedLayout.rotateOffsetAround(...)` + - `handleCornerInParent(...)` → `RotatedLayout.handleCornerInParent(...)` + - `rotatedCornerInWorld(...)` → `RotatedLayout.rotatedCornerInWorld(...)` + - `anchorInHandle(...)` → `RotatedLayout.anchorInHandle(...)` + - `handleTopLeftInWorld(...)` → `RotatedLayout.handleTopLeftInWorld(...)` + - `sideHandleRectInWorld(...)` → `RotatedLayout.sideHandleRectInWorld(...)` + - `computeEffectiveContainmentRect(...)` (formerly in `extensions.dart`) → `RotatedLayout.computeEffectiveContainmentRect(...)` +- **[BREAKING]** Default handle builders moved from file-private functions to public statics on `HandleBuilders`. Use `HandleBuilders.defaultCorner` / `HandleBuilders.defaultSide` if you need to reference them explicitly. +- Add `rotation`, `rotatable`, and `bindingStrategy` parameters on `TransformableBox`. +- **[BREAKING]** Default `bindingStrategy` flipped from `originalBox` to `boundingBox` on `TransformableBox`, `TransformableBoxController`, and `UIBoxTransform.move/resize/rotate`. Existing apps that relied on the unrotated-logical-rect semantic must pass `BindingStrategy.originalBox` explicitly. +- Add per-corner rotation gesture: an outer ring around each corner-handle captures rotation when `rotatable: true`. Size via `rotationHandleGestureSize` (default 64 px). New rotation callbacks: `onRotationStart` / `onRotationUpdate` / `onRotationEnd` / `onRotationCancel`. +- `TransformableBoxController` adds `rotation`, `initialRotation`, `bindingStrategy`, and rotation lifecycle methods (`onRotateStart` / `onRotateUpdate` / `onRotateEnd` / `onRotateCancel`). +- `onResizeUpdate` and `onRotateUpdate` skip state writes when `result.feasible == false` and override `result.rect` / `result.rotation` to the controller's last feasible value. Consumers binding their visible state via callbacks (`box.rect = result.rect`) now stay clamp-pinned at the last feasible position rather than snapping back to gesture-start when a gesture exceeds what clamp + constraints permit. +- Side handles render rotated under non-zero rotation; gesture coordinates are translated into the box's un-rotated frame so resize tracks the cursor visually. +- Hit-testing gates corner taps to the rotated polygon (not the AABB) so rotated boxes don't capture clicks in their AABB wedges. +- Playground gains a rotation slider, a `bindingStrategy` toggle, debug overlays for rotated/unrotated bounds, and a tick-by-tick test recorder that captures full gesture sequences (rotation + bindingStrategy aware) for regression replay. +- Bumps `box_transform` dependency to the rotation-aware release. +- **[BREAKING]** The rotated-clamping LP entry points re-exported from `box_transform` were relocated into `RotatedClampingSolver` (static surface). Apps that called these directly must qualify the names: + - `buildCornerIneqsInto(...)` → `RotatedClampingSolver.buildCornerIneqsInto(...)` + - `buildSideHandleIneqsInto(...)` → `RotatedClampingSolver.buildSideHandleIneqsInto(...)` + - `buildCenterIneqsInto(...)` → `RotatedClampingSolver.buildCenterIneqsInto(...)` + - `projectOntoFeasibleRegionFlat(...)` → `RotatedClampingSolver.projectOntoFeasibleRegionFlat(...)` +- **[BREAKING]** Re-exported clamp/handle/flip/line-geometry helpers from `box_transform` are now `static` members of `ClampHelpers` instead of top-level functions. See the `box_transform` CHANGELOG for the full rename list. Migration is mechanical: prepend `ClampHelpers.` to each call (e.g. `flipRect(...)` → `ClampHelpers.flipRect(...)`). + ## 0.4.7 - Fix taps should pass through when onTap is not set. [Issue#31](https://github.com/hyper-designed/box_transform/issues/31) diff --git a/packages/flutter_box_transform/README.md b/packages/flutter_box_transform/README.md index 349522d..e01bad6 100644 --- a/packages/flutter_box_transform/README.md +++ b/packages/flutter_box_transform/README.md @@ -2,7 +2,7 @@ # Flutter Box Transform -[![melos](https://img.shields.io/badge/maintained%20with-melos-f700ff.svg?style=flat-square)](https://github.com/invertase/melos) [![Build](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml/badge.svg)](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml) [![Pub Version](https://img.shields.io/pub/v/box_transform?label=Pub)](https://pub.dev/packages/box_transform) +[![Build](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml/badge.svg)](https://github.com/hyper-designed/box_transform/actions/workflows/build.yml) [![Pub Version](https://img.shields.io/pub/v/box_transform?label=Pub)](https://pub.dev/packages/box_transform) [Flutter Box Transform](https://github.com/hyper-designed/box_transform) is a [Flutter](https://flutter.dev) package that allows you to programmatically handle box resizing and dragging using Flutter widgets. It provides highly @@ -20,6 +20,13 @@ This package uses [Box Transform](https://pub.dev/packages/box_transform) APIs i resized. * 📍 **Customizable Anchor Points:** Define resizing corner-handles to anchor different parts of the box when resizing. * 🎨 **Customizable Handles:** Use default resizing handles or define your own custom handles. +* 🌀 **Rotation Support:** `TransformableBox.rotation` rotates the rendered box around its center. Set + `rotatable: true` to enable per-corner rotation gestures (an outer ring around each corner-handle captures + rotation; size with `rotationHandleGestureSize`). Wire `onRotationStart` / `onRotationUpdate` / `onRotationEnd` + callbacks to react. `bindingStrategy` (`BindingStrategy.originalBox` vs `BindingStrategy.boundingBox`) chooses + whether the unrotated logical rect or the rendered AABB stays in the clamp. The controller does slide-then-freeze + on rotation and natural-direction fallback on rotated force-flip, holding the last feasible state instead of + snapping back to gesture-start when a gesture exceeds what clamp + constraints permit. * 🚀 **Easy Integration:** Integrate Box Transform into your Flutter project with ease using widgets. ## Getting started diff --git a/packages/flutter_box_transform/example/.gitignore b/packages/flutter_box_transform/example/.gitignore index 24476c5..6c31954 100644 --- a/packages/flutter_box_transform/example/.gitignore +++ b/packages/flutter_box_transform/example/.gitignore @@ -5,9 +5,11 @@ *.swp .DS_Store .atom/ +.build/ .buildlog/ .history .svn/ +.swiftpm/ migrate_working_dir/ # IntelliJ related diff --git a/packages/flutter_box_transform/example/macos/Podfile b/packages/flutter_box_transform/example/macos/Podfile index c795730..b52666a 100644 --- a/packages/flutter_box_transform/example/macos/Podfile +++ b/packages/flutter_box_transform/example/macos/Podfile @@ -1,4 +1,4 @@ -platform :osx, '10.14' +platform :osx, '10.15' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/packages/flutter_box_transform/example/macos/Runner.xcodeproj/project.pbxproj b/packages/flutter_box_transform/example/macos/Runner.xcodeproj/project.pbxproj index ab0b554..0ee97bb 100644 --- a/packages/flutter_box_transform/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/flutter_box_transform/example/macos/Runner.xcodeproj/project.pbxproj @@ -535,7 +535,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -614,7 +614,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -661,7 +661,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/packages/flutter_box_transform/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/flutter_box_transform/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 15368ec..ac78810 100644 --- a/packages/flutter_box_transform/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/flutter_box_transform/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -59,6 +59,7 @@ ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" debugServiceExtension = "internal" + enableGPUValidationMode = "1" allowLocationSimulation = "YES"> diff --git a/packages/flutter_box_transform/example/macos/Runner/AppDelegate.swift b/packages/flutter_box_transform/example/macos/Runner/AppDelegate.swift index d53ef64..b3c1761 100644 --- a/packages/flutter_box_transform/example/macos/Runner/AppDelegate.swift +++ b/packages/flutter_box_transform/example/macos/Runner/AppDelegate.swift @@ -1,9 +1,13 @@ import Cocoa import FlutterMacOS -@NSApplicationMain +@main class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true } + + override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { + return true + } } diff --git a/packages/flutter_box_transform/example/pubspec.yaml b/packages/flutter_box_transform/example/pubspec.yaml index 3244ae8..a287b9e 100644 --- a/packages/flutter_box_transform/example/pubspec.yaml +++ b/packages/flutter_box_transform/example/pubspec.yaml @@ -5,8 +5,10 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' - flutter: '>=3.10.0' + sdk: ^3.6.0 + flutter: '>=3.27.0' + +resolution: workspace dependencies: flutter: @@ -17,7 +19,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^5.0.0 + flutter_lints: ^6.0.0 flutter: uses-material-design: true diff --git a/packages/flutter_box_transform/lib/flutter_box_transform.dart b/packages/flutter_box_transform/lib/flutter_box_transform.dart index dfcb577..8036549 100644 --- a/packages/flutter_box_transform/lib/flutter_box_transform.dart +++ b/packages/flutter_box_transform/lib/flutter_box_transform.dart @@ -1,9 +1,14 @@ +/// Flutter widgets for [box_transform](https://pub.dev/packages/box_transform): +/// rotation-aware drag, resize, flip, and rotate of axis-aligned rectangles +/// with corner and side handles, plus optional clamping bounds. library; export 'package:box_transform/box_transform.dart'; export 'src/extensions.dart'; +export 'src/handle_builders.dart'; export 'src/handles.dart'; +export 'src/rotated_layout.dart'; export 'src/transformable_box.dart'; export 'src/transformable_box_controller.dart'; export 'src/typedefs.dart'; diff --git a/packages/flutter_box_transform/lib/src/extensions.dart b/packages/flutter_box_transform/lib/src/extensions.dart index afd4b32..d21ee63 100644 --- a/packages/flutter_box_transform/lib/src/extensions.dart +++ b/packages/flutter_box_transform/lib/src/extensions.dart @@ -2,7 +2,7 @@ import 'dart:ui'; import 'package:box_transform/box_transform.dart'; import 'package:flutter/rendering.dart' as widgets; -import 'package:vector_math/vector_math.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'ui_result.dart'; @@ -26,7 +26,6 @@ extension ResizeResultExt on RawResizeResult { /// Converts a `ResizeResult` from `rect_resizer` to a `UIResizeResult` UIResizeResult toUI() { return UIResizeResult( - /// Creates a new `UIResizeResult` instance with the converted data rect: rect.toRect(), oldRect: oldRect.toRect(), flip: flip, @@ -39,6 +38,10 @@ extension ResizeResultExt on RawResizeResult { maxHeightReached: maxHeightReached, largestRect: largestRect.toRect(), handle: handle, + rotation: rotation, + boundingRect: boundingRect.toRect(), + oldBoundingRect: oldBoundingRect.toRect(), + feasible: feasible, ); } } @@ -48,12 +51,32 @@ extension MoveResultExt on RawMoveResult { /// Converts a `MoveResult` from `rect_resizer` to a `UIMoveResult` UIMoveResult toUI() { return UIMoveResult( - /// Creates a new `UIMoveResult` instance with the converted data rect: rect.toRect(), oldRect: oldRect.toRect(), delta: delta.toOffset(), rawSize: rawSize.toSize(), largestRect: largestRect.toRect(), + rotation: rotation, + boundingRect: boundingRect.toRect(), + oldBoundingRect: oldBoundingRect.toRect(), + ); + } +} + +/// Provides convenient methods for [RawRotateResult]. +extension RotateResultExt on RawRotateResult { + /// Converts a `RotateResult` from `box_transform` to a `UIRotateResult`. + UIRotateResult toUI() { + return UIRotateResult( + rect: rect.toRect(), + oldRect: oldRect.toRect(), + delta: delta.toOffset(), + rawSize: rawSize.toSize(), + largestRect: largestRect.toRect(), + rotation: rotation, + boundingRect: boundingRect.toRect(), + oldBoundingRect: oldBoundingRect.toRect(), + feasible: feasible, ); } } @@ -66,8 +89,10 @@ extension BoxExt on Box { /// Provides convenient methods for [Rect]. extension RectExt on Rect { - /// Converts a `Rect` to a `Box` from `rect_resizer` - Box toBox() => Box.fromLTRB(left, top, right, bottom); + /// Converts a `Rect` to a `Box`. Optionally pass a [rotation] (radians) + /// to construct a rotated [Box]. + Box toBox({double rotation = 0.0}) => + Box.fromLTRB(left, top, right, bottom, rotation: rotation); } /// Provides convenient methods for [Vector2]. diff --git a/packages/flutter_box_transform/lib/src/handle_builders.dart b/packages/flutter_box_transform/lib/src/handle_builders.dart index ae776d6..6f64e9f 100644 --- a/packages/flutter_box_transform/lib/src/handle_builders.dart +++ b/packages/flutter_box_transform/lib/src/handle_builders.dart @@ -1,13 +1,41 @@ +import 'dart:math' as math; import 'dart:ui'; import 'package:box_transform/box_transform.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'handles.dart'; import 'typedefs.dart'; +/// Default [HandleBuilder] implementations used by `TransformableBox` when +/// the consumer does not supply their own. +abstract final class HandleBuilders { + const HandleBuilders._(); + + /// A default implementation of the corner [HandleBuilder] callback. + /// Renders a [DefaultCornerHandle] for the given [handle] position. + static Widget defaultCorner( + BuildContext context, + HandlePosition handle, + ) => + DefaultCornerHandle(handle: handle); + + /// A default implementation of the side [HandleBuilder] callback. + /// Renders a [DefaultSideHandle] for the given [handle] position. + static Widget defaultSide( + BuildContext context, + HandlePosition handle, + ) => + DefaultSideHandle(handle: handle); +} + /// Creates a new corner handle widget, with its appropriate gesture splash /// zone. +/// +/// When [rotatable] is true, the corner exposes an outer rotation-capture +/// ring of size [rotationHandleGestureSize] surrounding the inner resize zone +/// of size [handleTapSize]. @protected class CornerHandleWidget extends StatelessWidget { /// The position of the handle. @@ -16,30 +44,61 @@ class CornerHandleWidget extends StatelessWidget { /// The builder that is used to build the handle widget. final HandleBuilder builder; - /// The size of the handle's gesture response area. + /// The size of the resize gesture response area (inner). final double handleTapSize; + /// The size of the rotation gesture response ring (outer). Ignored when + /// [rotatable] is false. + final double rotationHandleGestureSize; + + /// Whether the handle should also capture rotation gestures (in the outer + /// ring around the resize zone). + final bool rotatable; + + /// The current rotation angle of the parent box (radians). Used by the + /// rotation indicator painter so the visible arc points outward from the + /// box regardless of rotation. + final double rotation; + /// The kind of devices that are allowed to be recognized. final Set supportedDevices; - /// Called when the handle dragging starts. + /// Called when the handle resize dragging starts. final GestureDragStartCallback? onPanStart; - /// Called when the handle dragging is updated. + /// Called when the handle resize dragging is updated. final GestureDragUpdateCallback? onPanUpdate; - /// Called when the handle dragging ends. + /// Called when the handle resize dragging ends. final GestureDragEndCallback? onPanEnd; - /// Called when the handle dragging is canceled. + /// Called when the handle resize dragging is canceled. final GestureDragCancelCallback? onPanCancel; + /// Called when a rotation gesture starts on the outer ring. + final GestureDragStartCallback? onRotationStart; + + /// Called when a rotation gesture is updated. + final GestureDragUpdateCallback? onRotationUpdate; + + /// Called when a rotation gesture ends. + final GestureDragEndCallback? onRotationEnd; + + /// Called when a rotation gesture is canceled. + final GestureDragCancelCallback? onRotationCancel; + /// Whether the handle is resizable. final bool enabled; /// Whether the handle is visible. final bool visible; + /// Optional override for the [MouseCursor] shown over this handle's gesture + /// zones. Receives the [HandlePosition] and a [HandleCursorKind] indicating + /// whether the resize zone or the rotation ring is being queried. Return + /// `null` from the resolver to fall back to the package defaults. + final HandleCursorResolver? cursorResolver; + /// Whether to paint the handle's bounds for debugging purposes. final bool debugPaintHandleBounds; @@ -50,55 +109,117 @@ class CornerHandleWidget extends StatelessWidget { required this.handleTapSize, required this.supportedDevices, required this.builder, + this.rotationHandleGestureSize = 64.0, + this.rotatable = false, + this.rotation = 0.0, this.onPanStart, this.onPanUpdate, this.onPanEnd, this.onPanCancel, + this.onRotationStart, + this.onRotationUpdate, + this.onRotationEnd, + this.onRotationCancel, this.enabled = true, this.visible = true, + this.cursorResolver, this.debugPaintHandleBounds = false, - }) : assert(handlePosition.isDiagonal, 'A corner handle must be diagonal.'); + }) : assert(handlePosition.isDiagonal, 'A corner handle must be diagonal.'), + assert(rotationHandleGestureSize >= handleTapSize, + 'rotationHandleGestureSize must be >= handleTapSize.'); @override Widget build(BuildContext context) { - Widget child = + Widget visual = visible ? builder(context, handlePosition) : const SizedBox.shrink(); - if (enabled) { - child = GestureDetector( + final double outerSize = + rotatable ? rotationHandleGestureSize : handleTapSize; + final double gestureGap = (outerSize - handleTapSize) / 2; + + // Resize zone: concentric inner square of size [handleTapSize], centered + // on the box corner (which coincides with the centre of the outer zone + // when handleAlignment == center). + Widget resizeInner = enabled + ? GestureDetector( + behavior: HitTestBehavior.opaque, + supportedDevices: supportedDevices, + onPanStart: onPanStart, + onPanUpdate: onPanUpdate, + onPanEnd: onPanEnd, + onPanCancel: onPanCancel, + child: MouseRegion( + cursor: getResizeCursorForHandle(handlePosition), + child: visual, + ), + ) + : visual; + + if (kDebugMode && debugPaintHandleBounds) { + resizeInner = ColoredBox( + color: Colors.orange.withValues(alpha: 0.5), + child: resizeInner, + ); + } + + // Centered resize zone (EdgeInsets.all so the visible handle icon lands + // exactly on the box corner). + Widget resizeZone = Padding( + padding: EdgeInsets.all(gestureGap), + child: resizeInner, + ); + + // Outer rotation ring fills the entire outer zone as the bottom layer; + // resize sits on top. Hit testing: clicks on the inner resize area go to + // resize (top of stack); clicks outside it fall through to rotation. + Widget outer = resizeZone; + if (rotatable && enabled) { + Widget rotationGesture = GestureDetector( behavior: HitTestBehavior.opaque, supportedDevices: supportedDevices, - onPanStart: onPanStart, - onPanUpdate: onPanUpdate, - onPanEnd: onPanEnd, - onPanCancel: onPanCancel, + onPanStart: onRotationStart, + onPanUpdate: onRotationUpdate, + onPanEnd: onRotationEnd, + onPanCancel: onRotationCancel, child: MouseRegion( - cursor: getCursorForHandle(handlePosition), - child: child, + cursor: getRotationCursorForHandle(handlePosition), + child: CustomPaint( + painter: _RotationIndicatorPainter( + handle: handlePosition, + rotation: rotation, + ), + child: const SizedBox.expand(), + ), ), ); - } - - if (kDebugMode && debugPaintHandleBounds) { - child = ColoredBox( - color: Colors.orange.withValues(alpha: 0.5), - child: child, + if (kDebugMode && debugPaintHandleBounds) { + rotationGesture = ColoredBox( + color: Colors.blue.withValues(alpha: 0.35), + child: rotationGesture, + ); + } + outer = Stack( + fit: StackFit.expand, + children: [ + rotationGesture, // bottom: catches everything + resizeZone, // top: wins only in the center + ], ); } - return Positioned( - left: handlePosition.influencesLeft ? 0 : null, - right: handlePosition.influencesRight ? 0 : null, - top: handlePosition.influencesTop ? 0 : null, - bottom: handlePosition.influencesBottom ? 0 : null, - width: handleTapSize, - height: handleTapSize, - child: child, - ); + // Return a fixed-size box; positioning is the caller's responsibility. + return SizedBox(width: outerSize, height: outerSize, child: outer); } - /// Returns the cursor for the given handle position. - MouseCursor getCursorForHandle(HandlePosition handle) { + /// Returns the resize cursor for the given handle position. + /// + /// If a [cursorResolver] was supplied and returns non-null for this handle, + /// that value is used; otherwise the appropriate diagonal + /// `SystemMouseCursors.resize*` constant is returned. + MouseCursor getResizeCursorForHandle(HandlePosition handle) { + final MouseCursor? overridden = + cursorResolver?.call(handle, HandleCursorKind.resize); + if (overridden != null) return overridden; switch (handle) { case HandlePosition.topLeft: case HandlePosition.bottomRight: @@ -110,6 +231,31 @@ class CornerHandleWidget extends StatelessWidget { throw Exception('Invalid handle position.'); } } + + /// Returns the cursor shown over the rotation ring for the given handle. + /// + /// Flutter's [SystemMouseCursors] has no rotation cursor and there is no + /// open Flutter issue tracking one — confirmed against the Flutter API + /// docs. As a default we reuse the diagonal resize cursor so the gesture + /// zone still feels actionable. + /// + /// If you want a real rotate glyph, supply a [cursorResolver] that returns + /// a custom [MouseCursor] for [HandleCursorKind.rotation]. The + /// [`custom_mouse_cursor`](https://pub.dev/packages/custom_mouse_cursor) + /// package can build a native, DPR-aware [MouseCursor] from an asset, icon, + /// or `ui.Image` (works on Windows, macOS, Linux, and web). Returning + /// `null` from the resolver falls back to this default. + MouseCursor getRotationCursorForHandle(HandlePosition handle) { + final MouseCursor? overridden = + cursorResolver?.call(handle, HandleCursorKind.rotation); + if (overridden != null) return overridden; + return getResizeCursorForHandle(handle); + } + + /// Deprecated; use [getResizeCursorForHandle]. Kept for backward-compat + /// with any callers that use the legacy name. + MouseCursor getCursorForHandle(HandlePosition handle) => + getResizeCursorForHandle(handle); } /// Creates a new cardinal handle widget, with its appropriate gesture splash @@ -146,6 +292,12 @@ class SideHandleWidget extends StatelessWidget { /// Whether the handle is visible. final bool visible; + /// Optional override for the [MouseCursor] shown over this handle. Side + /// handles only have a resize zone, so the resolver is always called with + /// [HandleCursorKind.resize]. Return `null` to fall back to the package + /// default. + final HandleCursorResolver? cursorResolver; + /// Whether to paint the handle's bounds for debugging purposes. final bool debugPaintHandleBounds; @@ -162,6 +314,7 @@ class SideHandleWidget extends StatelessWidget { this.onPanCancel, this.enabled = true, this.visible = true, + this.cursorResolver, this.debugPaintHandleBounds = false, }) : assert(handlePosition.isSide, 'A cardinal handle must be cardinal.'); @@ -192,35 +345,20 @@ class SideHandleWidget extends StatelessWidget { ); } - return Positioned( - left: handlePosition.isVertical - ? handleTapSize - : handlePosition.influencesLeft - ? 0 - : null, - right: handlePosition.isVertical - ? handleTapSize - : handlePosition.influencesRight - ? 0 - : null, - top: handlePosition.isHorizontal - ? handleTapSize - : handlePosition.influencesTop - ? 0 - : null, - bottom: handlePosition.isHorizontal - ? handleTapSize - : handlePosition.influencesBottom - ? 0 - : null, - width: handlePosition.isHorizontal ? handleTapSize : null, - height: handlePosition.isVertical ? handleTapSize : null, - child: child, - ); + // SideHandleWidget now returns just its interactive child; positioning + // is the caller's responsibility (see TransformableBox build). + return child; } /// Returns the cursor for the given handle position. + /// + /// If a [cursorResolver] was supplied and returns non-null for this handle, + /// that value is used; otherwise the appropriate cardinal + /// `SystemMouseCursors.resize*` constant is returned. MouseCursor getCursorForHandle(HandlePosition handle) { + final MouseCursor? overridden = + cursorResolver?.call(handle, HandleCursorKind.resize); + if (overridden != null) return overridden; switch (handle) { case HandlePosition.left: case HandlePosition.right: @@ -233,3 +371,60 @@ class SideHandleWidget extends StatelessWidget { } } } + +/// Paints a subtle arc in the outer rotation ring of a corner handle so +/// users can see where to grab for rotation. Arc spans the quadrant of the +/// ring that sits outside the box corner (accounting for rotation so the +/// indicator always points away from the box's visual centre). +class _RotationIndicatorPainter extends CustomPainter { + final HandlePosition handle; + final double rotation; + + const _RotationIndicatorPainter({ + required this.handle, + this.rotation = 0.0, + }); + + @override + void paint(Canvas canvas, Size size) { + // Centre the arc on the handle widget itself; the handle is axis-aligned + // so the arc's geometric centre is just (size.width/2, size.height/2). + final Offset centre = Offset(size.width / 2, size.height / 2); + final double radius = math.min(size.width, size.height) * 0.4; + // Base start angle selects the quadrant that would be outward when + // rotation == 0 (the "outside-the-box" direction from the corner). + final double baseStartAngle; + switch (handle) { + case HandlePosition.topLeft: + baseStartAngle = math.pi; + case HandlePosition.topRight: + baseStartAngle = math.pi * 1.5; + case HandlePosition.bottomRight: + baseStartAngle = 0; + case HandlePosition.bottomLeft: + baseStartAngle = math.pi * 0.5; + default: + return; + } + // Since this handle widget is now axis-aligned in world frame but placed + // at the visually-rotated corner of the box, add [rotation] so the arc + // still points outward relative to the box's current orientation. + final double startAngle = baseStartAngle + rotation; + final paint = Paint() + ..color = const Color(0x554B9EF4) + ..style = PaintingStyle.stroke + ..strokeWidth = 1.2 + ..strokeCap = StrokeCap.round; + canvas.drawArc( + Rect.fromCircle(center: centre, radius: radius), + startAngle, + math.pi / 2, + false, + paint, + ); + } + + @override + bool shouldRepaint(covariant _RotationIndicatorPainter oldDelegate) => + oldDelegate.handle != handle || oldDelegate.rotation != rotation; +} diff --git a/packages/flutter_box_transform/lib/src/handles.dart b/packages/flutter_box_transform/lib/src/handles.dart index 6f6ef48..4d4348d 100644 --- a/packages/flutter_box_transform/lib/src/handles.dart +++ b/packages/flutter_box_transform/lib/src/handles.dart @@ -6,7 +6,7 @@ import 'package:flutter/material.dart'; import 'transformable_box.dart'; /// Default width of the border of the handles. -const kDefaultHandleBorderWidth = 1.5; +const _kDefaultHandleBorderWidth = 1.5; /// Alignment of the handle. enum HandleAlignment { @@ -83,7 +83,7 @@ class DefaultCornerHandle extends StatelessWidget { shape: BoxShape.circle, border: Border.all( color: Theme.of(context).colorScheme.primary, - width: kDefaultHandleBorderWidth, + width: _kDefaultHandleBorderWidth, ), ); } @@ -145,7 +145,7 @@ class DefaultSideHandle extends StatelessWidget { shape: StadiumBorder( side: BorderSide( color: Theme.of(context).colorScheme.primary, - width: kDefaultHandleBorderWidth, + width: _kDefaultHandleBorderWidth, ), ), ); diff --git a/packages/flutter_box_transform/lib/src/rotated_hit_gate.dart b/packages/flutter_box_transform/lib/src/rotated_hit_gate.dart new file mode 100644 index 0000000..a48944c --- /dev/null +++ b/packages/flutter_box_transform/lib/src/rotated_hit_gate.dart @@ -0,0 +1,115 @@ +import 'dart:math' as math; + +import 'package:flutter/rendering.dart'; +import 'package:flutter/widgets.dart'; + +/// A render object that filters pointer hits to the rotated rectangle +/// defined by [unrotatedRectInWorld] rotated by [rotation] radians about +/// its center. Hits in this render box's layout bounds but outside the +/// rotated polygon are rejected; hits inside the polygon fall through to +/// [RenderProxyBox.hitTest] so the child's gesture tree handles them. +/// +/// The render box itself is axis-aligned, so its child's gesture +/// coordinates are unaffected. [hitBoxTopLeftInWorld] converts the hit-test +/// local position into the world/parent frame for the containment check. +class RotatedHitGate extends SingleChildRenderObjectWidget { + /// Creates a hit-gate that lets pointer hits through only when they fall + /// inside the rotated rectangle defined by [unrotatedRectInWorld] and + /// [rotation]. + const RotatedHitGate({ + super.key, + required this.unrotatedRectInWorld, + required this.rotation, + required this.hitBoxTopLeftInWorld, + required Widget super.child, + }); + + /// The unrotated rect in world/parent frame that defines the polygon + /// when rotated by [rotation] about its center. + final Rect unrotatedRectInWorld; + + /// Rotation angle in radians, clockwise about [unrotatedRectInWorld]'s + /// center (matches the library's clockwise-positive convention). + final double rotation; + + /// This render box's top-left in the world/parent frame. Used to convert + /// the hit-test local position into world coords before containment. + final Offset hitBoxTopLeftInWorld; + + @override + RotatedHitGateRender createRenderObject(BuildContext context) { + return RotatedHitGateRender( + unrotatedRectInWorld: unrotatedRectInWorld, + rotation: rotation, + hitBoxTopLeftInWorld: hitBoxTopLeftInWorld, + ); + } + + @override + void updateRenderObject( + BuildContext context, + RotatedHitGateRender renderObject, + ) { + renderObject + ..unrotatedRectInWorld = unrotatedRectInWorld + ..rotation = rotation + ..hitBoxTopLeftInWorld = hitBoxTopLeftInWorld; + } +} + +/// Render object backing [RotatedHitGate]. Library-visible so the widget's +/// `createRenderObject` / `updateRenderObject` overrides don't expose a +/// private type in their signatures; not re-exported from the package +/// umbrella, so external callers cannot observe it. +class RotatedHitGateRender extends RenderProxyBox { + /// Creates a [RotatedHitGateRender]. + RotatedHitGateRender({ + required Rect unrotatedRectInWorld, + required double rotation, + required Offset hitBoxTopLeftInWorld, + }) : _unrotatedRectInWorld = unrotatedRectInWorld, + _rotation = rotation, + _hitBoxTopLeftInWorld = hitBoxTopLeftInWorld; + + Rect _unrotatedRectInWorld; + double _rotation; + Offset _hitBoxTopLeftInWorld; + + set unrotatedRectInWorld(Rect value) { + if (value == _unrotatedRectInWorld) return; + _unrotatedRectInWorld = value; + } + + set rotation(double value) { + if (value == _rotation) return; + _rotation = value; + } + + set hitBoxTopLeftInWorld(Offset value) { + if (value == _hitBoxTopLeftInWorld) return; + _hitBoxTopLeftInWorld = value; + } + + @override + bool hitTest(BoxHitTestResult result, {required Offset position}) { + final Offset worldPos = position + _hitBoxTopLeftInWorld; + if (!_insideRotatedRect(worldPos)) return false; + return super.hitTest(result, position: position); + } + + bool _insideRotatedRect(Offset worldPos) { + // Fast-path at zero rotation: cos(0)=1, sin(0)=0 makes the inverse-rotate + // an identity, so the general formula reduces exactly to a rect contains. + if (_rotation.abs() < 1e-9) { + return _unrotatedRectInWorld.contains(worldPos); + } + final Offset center = _unrotatedRectInWorld.center; + final double dx = worldPos.dx - center.dx; + final double dy = worldPos.dy - center.dy; + final double c = math.cos(-_rotation); + final double s = math.sin(-_rotation); + final double localX = c * dx - s * dy + center.dx; + final double localY = s * dx + c * dy + center.dy; + return _unrotatedRectInWorld.contains(Offset(localX, localY)); + } +} diff --git a/packages/flutter_box_transform/lib/src/rotated_layout.dart b/packages/flutter_box_transform/lib/src/rotated_layout.dart new file mode 100644 index 0000000..313b675 --- /dev/null +++ b/packages/flutter_box_transform/lib/src/rotated_layout.dart @@ -0,0 +1,179 @@ +import 'dart:math' as math; +import 'dart:ui'; + +import 'package:box_transform/box_transform.dart'; + +import 'extensions.dart'; +import 'handles.dart'; + +/// Pure helpers for the Flutter-side rotated-box layout: rotating points, +/// finding handle anchors in parent / world frames, and computing the rect +/// that the clamp solver enforces under a given [BindingStrategy]. +/// +/// All members are `static`; the class is not instantiable. +abstract final class RotatedLayout { + const RotatedLayout._(); + + /// Rotates [point] around [pivot] by [angle] radians (CW in y-down screen + /// coords). Pure function; no state. + static Offset rotateOffsetAround(Offset point, Offset pivot, double angle) { + if (angle == 0.0) return point; + final dx = point.dx - pivot.dx; + final dy = point.dy - pivot.dy; + final c = math.cos(angle); + final s = math.sin(angle); + return Offset( + pivot.dx + dx * c - dy * s, + pivot.dy + dx * s + dy * c, + ); + } + + /// Returns the un-rotated corner (or side midpoint) of [rect] for [handle]. + static Offset handleCornerInParent(Rect rect, HandlePosition handle) { + switch (handle) { + case HandlePosition.topLeft: + return rect.topLeft; + case HandlePosition.topRight: + return rect.topRight; + case HandlePosition.bottomLeft: + return rect.bottomLeft; + case HandlePosition.bottomRight: + return rect.bottomRight; + case HandlePosition.top: + return rect.topCenter; + case HandlePosition.bottom: + return rect.bottomCenter; + case HandlePosition.left: + return rect.centerLeft; + case HandlePosition.right: + return rect.centerRight; + case HandlePosition.none: + return rect.center; + } + } + + /// Returns the visual (rotated) world-space position of [handle]'s corner + /// given an un-rotated [rect] rotated by [rotation] radians around its centre. + static Offset rotatedCornerInWorld( + Rect rect, + HandlePosition handle, + double rotation, + ) { + final corner = handleCornerInParent(rect, handle); + if (rotation == 0.0) return corner; + return rotateOffsetAround(corner, rect.center, rotation); + } + + /// Returns the offset within a [handleSize]×[handleSize] handle widget where + /// the box's corner lands, for the given [handle] position and + /// [alignment]. This depends on how the handle is positioned relative to the + /// box edge (inside/outside/center). + static Offset anchorInHandle( + HandlePosition handle, + double handleSize, + HandleAlignment alignment, + ) { + final p = alignment.offset(handleSize); + return Offset( + handle.influencesLeft ? p : handleSize - p, + handle.influencesTop ? p : handleSize - p, + ); + } + + /// Returns the top-left position (world/parent-local coord frame) where a + /// handle widget of size [handleSize]×[handleSize] should be placed so that + /// its internal anchor coincides with the visually-rotated corner of [rect]. + static Offset handleTopLeftInWorld({ + required Rect rect, + required HandlePosition handle, + required double rotation, + required double handleSize, + required HandleAlignment alignment, + }) { + final cornerWorld = rotatedCornerInWorld(rect, handle, rotation); + final anchor = anchorInHandle(handle, handleSize, alignment); + return cornerWorld - anchor; + } + + /// Returns the parent-frame rect occupied by a side handle at the un-rotated + /// [rect]. Only valid for side handles (top/bottom/left/right); rotation is + /// not supported for side handles in v1. + /// + /// The handle is a thin strip of thickness [handleTapSize], inset from the + /// corners by [handleTapSize] so it doesn't overlap corner handles. The + /// [alignment] controls whether the strip sits inside, centred on, or + /// outside the edge. + static Rect sideHandleRectInWorld( + Rect rect, + HandlePosition handle, { + required double handleTapSize, + required HandleAlignment alignment, + }) { + final inset = alignment.offset(handleTapSize); + switch (handle) { + case HandlePosition.top: + return Rect.fromLTWH( + rect.left - inset + handleTapSize, + rect.top - inset, + rect.width + 2 * inset - 2 * handleTapSize, + handleTapSize, + ); + case HandlePosition.bottom: + return Rect.fromLTWH( + rect.left - inset + handleTapSize, + rect.bottom + inset - handleTapSize, + rect.width + 2 * inset - 2 * handleTapSize, + handleTapSize, + ); + case HandlePosition.left: + return Rect.fromLTWH( + rect.left - inset, + rect.top - inset + handleTapSize, + handleTapSize, + rect.height + 2 * inset - 2 * handleTapSize, + ); + case HandlePosition.right: + return Rect.fromLTWH( + rect.right + inset - handleTapSize, + rect.top - inset + handleTapSize, + handleTapSize, + rect.height + 2 * inset - 2 * handleTapSize, + ); + default: + throw ArgumentError( + 'sideHandleRectInWorld requires a side handle, got $handle'); + } + } + + /// Returns the rect that must be contained in the clamp under + /// [bindingStrategy] for a rotated rect with the given [rect] and + /// [rotation]. + /// + /// * [BindingStrategy.boundingBox]: returns the axis-aligned bounding rect + /// of [rect] rotated by [rotation] about its center. This is what the + /// clamp solver enforces under `boundingBox` semantics (rotated corners + /// stay in clamp, rendered footprint fully contained). + /// + /// * [BindingStrategy.originalBox]: returns [rect] unchanged. Rotation does + /// not affect which rect must be contained - the unrotated logical rect + /// stays in the clamp, and rotated corners may extend outside. + /// + /// At [rotation] == 0 both strategies return [rect]. + /// + /// See also: `TransformableBoxController.effectiveContainmentRect` which + /// uses the controller's own state. + static Rect computeEffectiveContainmentRect({ + required Rect rect, + required double rotation, + required BindingStrategy bindingStrategy, + }) { + switch (bindingStrategy) { + case BindingStrategy.boundingBox: + return ClampHelpers.calculateBoundingRect( + rect.toBox(rotation: rotation)) + .toRect(); + case BindingStrategy.originalBox: + return rect; + } + } +} diff --git a/packages/flutter_box_transform/lib/src/transformable_box.dart b/packages/flutter_box_transform/lib/src/transformable_box.dart index 2c9a296..1da8a9a 100644 --- a/packages/flutter_box_transform/lib/src/transformable_box.dart +++ b/packages/flutter_box_transform/lib/src/transformable_box.dart @@ -1,8 +1,11 @@ +import 'dart:math' as math; + +import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import '../flutter_box_transform.dart'; -import 'handle_builders.dart'; +import 'rotated_hit_gate.dart'; /// A widget that allows you to resize and drag a box around a widget. class TransformableBox extends StatefulWidget { @@ -34,6 +37,23 @@ class TransformableBox extends StatefulWidget { /// Note that this will build for all four sides of the rectangle. final HandleBuilder sideHandleBuilder; + /// Optional override for the [MouseCursor] shown over each handle's gesture + /// zone. Receives the [HandlePosition] and a [HandleCursorKind] indicating + /// the resize zone vs. the rotation ring (the latter only on corners when + /// [rotatable] is true). + /// + /// This applies to the handle's gesture zones, not to pixels painted by + /// [cornerHandleBuilder] or [sideHandleBuilder] — a custom builder that + /// wraps its output in its own [MouseRegion] will win on its own footprint. + /// + /// Return `null` for any case to fall back to the package defaults — the + /// appropriate diagonal/cardinal `SystemMouseCursors.resize*` for resize + /// zones, and the diagonal resize cursor for rotation rings (Flutter has + /// no native rotation cursor; pair with the + /// [`custom_mouse_cursor`](https://pub.dev/packages/custom_mouse_cursor) + /// package if you want to ship a real rotate glyph). + final HandleCursorResolver? cursorResolver; + /// The size of the gesture response area of the handles. If you don't /// specify it, the default value will be used. /// @@ -47,6 +67,23 @@ class TransformableBox extends StatefulWidget { /// The default value is 24 pixels in diameter. final double handleTapSize; + /// Size of the rotation gesture capture ring surrounding a corner handle. + /// Must be >= [handleTapSize]. Only used when [rotatable] is true. Default + /// 64 pixels. + final double rotationHandleGestureSize; + + /// Whether corner handles should capture rotation gestures in an outer + /// ring around the resize zone. Default false. + final bool rotatable; + + /// The current rotation angle (radians) of the box around its center. + /// Ignored if a [controller] is provided. + final double rotation; + + /// Controls whether size constraints and clamping apply to the unrotated + /// box or its rendered bounding rect. Ignored if a [controller] is provided. + final BindingStrategy bindingStrategy; + /// A set containing handles that are enabled. This is different from /// [visibleHandles]. /// @@ -187,6 +224,18 @@ class TransformableBox extends StatefulWidget { /// A callback function that triggers when the box cancels resizing. final RectResizeCancel? onResizeCancel; + /// Fires when a rotation gesture begins on a corner handle. + final RectRotateStart? onRotationStart; + + /// Fires during a rotation gesture. + final RectRotateUpdateEvent? onRotationUpdate; + + /// Fires when a rotation gesture ends. + final RectRotateEnd? onRotationEnd; + + /// Fires when a rotation gesture is cancelled. + final RectRotateCancel? onRotationCancel; + /// A callback function that triggers when the box reaches its minimum width /// when resizing. final TerminalEdgeEvent? onMinWidthReached; @@ -230,14 +279,30 @@ class TransformableBox extends StatefulWidget { /// Whether to paint the handle's bounds for debugging purposes. final bool debugPaintHandleBounds; + /// When true, paints a red border around the rotated axis-aligned bounding + /// box of the box. Useful for visualizing the rendered footprint at non-zero + /// [rotation]. Only active in debug mode. + final bool debugShowBoundingRect; + + /// When true, paints a green border around the unrotated rect. Useful for + /// visualizing the logical (pre-rotation) box. Only active in debug mode. + final bool debugShowUnrotatedRect; + + /// When true, renders red+blue arrows during a rotation gesture: from box + /// center to the initial pointer position, and to the current pointer + /// position. Only active in debug mode. + final bool debugShowRotationArrows; + /// Creates a [TransformableBox] widget. const TransformableBox({ super.key, required this.contentBuilder, this.controller, - this.cornerHandleBuilder = _defaultCornerHandleBuilder, - this.sideHandleBuilder = _defaultSideHandleBuilder, + this.cornerHandleBuilder = HandleBuilders.defaultCorner, + this.sideHandleBuilder = HandleBuilders.defaultSide, + this.cursorResolver, this.handleTapSize = 24, + this.rotationHandleGestureSize = 64, this.allowContentFlipping = true, this.handleAlignment = HandleAlignment.center, this.enabledHandles = const {...HandlePosition.values}, @@ -251,10 +316,13 @@ class TransformableBox extends StatefulWidget { Rect? clampingRect, BoxConstraints? constraints, ValueGetter? resizeModeResolver, + double? rotation, + this.bindingStrategy = BindingStrategy.boundingBox, // Additional controls. this.resizable = true, this.draggable = true, + this.rotatable = false, this.allowFlippingWhileResizing = true, // Tap events @@ -275,6 +343,12 @@ class TransformableBox extends StatefulWidget { this.onDragEnd, this.onDragCancel, + // Rotation Events. + this.onRotationStart, + this.onRotationUpdate, + this.onRotationEnd, + this.onRotationCancel, + // Terminal update events. this.onMinWidthReached, this.onMaxWidthReached, @@ -284,20 +358,26 @@ class TransformableBox extends StatefulWidget { this.onTerminalHeightReached, this.onTerminalSizeReached, this.debugPaintHandleBounds = false, + this.debugShowBoundingRect = false, + this.debugShowUnrotatedRect = false, + this.debugShowRotationArrows = false, }) : assert( (controller == null) || ((rect == null) && (flip == null) && (clampingRect == null) && (constraints == null) && - (resizeModeResolver == null)), + (resizeModeResolver == null) && + (rotation == null)), 'If a controller is provided, the raw values should not be provided.', ), rect = rect ?? Rect.zero, flip = flip ?? Flip.none, clampingRect = clampingRect ?? Rect.largest, constraints = constraints ?? const BoxConstraints.expand(), - resizeModeResolver = resizeModeResolver ?? defaultResizeModeResolver; + rotation = rotation ?? 0.0, + resizeModeResolver = resizeModeResolver ?? + TransformableBoxController.defaultResizeModeResolver; /// Returns the [TransformableBox] of the closest ancestor. static TransformableBox? widgetOf(BuildContext context) { @@ -317,11 +397,14 @@ class TransformableBox extends StatefulWidget { enum _PrimaryGestureOperation { resize, - drag; + drag, + rotate; bool get isDragging => this == _PrimaryGestureOperation.drag; bool get isResizing => this == _PrimaryGestureOperation.resize; + + bool get isRotating => this == _PrimaryGestureOperation.rotate; } class _TransformableBoxState extends State { @@ -331,11 +414,27 @@ class _TransformableBoxState extends State { HandlePosition? lastHandle; + /// Current pointer position during a rotation gesture, in this widget's + /// local coordinate space. Used by the rotation-arrows debug overlay. + Offset? _rotationArrowPointer; + + /// Offset to add to `event.globalPosition` to yield a world/parent-frame + /// coordinate. Captured at gesture start so subsequent updates are immune + /// to the widget moving during the gesture. + /// + /// Flutter's `event.localPosition` is transformed using the hit-test-time + /// transform; once the widget moves mid-gesture, `localPosition` goes + /// stale. `globalPosition` stays accurate in screen coordinates, and a + /// captured offset gives a stable global→world conversion. + Offset? _gestureGlobalToWorldOffset; + bool get isDragging => primaryGestureOperation?.isDragging == true; bool get isResizing => primaryGestureOperation?.isResizing == true; - bool get isGestureActive => isDragging || isResizing; + bool get isRotating => primaryGestureOperation?.isRotating == true; + + bool get isGestureActive => isDragging || isResizing || isRotating; bool mismatchedHandle(HandlePosition handle) => lastHandle != null && lastHandle != handle; @@ -357,6 +456,8 @@ class _TransformableBoxState extends State { constraints: widget.constraints, resizeModeResolver: widget.resizeModeResolver, allowFlippingWhileResizing: widget.allowFlippingWhileResizing, + rotation: widget.rotation, + bindingStrategy: widget.bindingStrategy, ); } } @@ -381,6 +482,8 @@ class _TransformableBoxState extends State { constraints: widget.constraints, resizeModeResolver: widget.resizeModeResolver, allowFlippingWhileResizing: widget.allowFlippingWhileResizing, + rotation: widget.rotation, + bindingStrategy: widget.bindingStrategy, ); } @@ -391,10 +494,33 @@ class _TransformableBoxState extends State { bool shouldRecalculatePosition = false; bool shouldRecalculateSize = false; - if (oldWidget.rect != widget.rect || widget.rect != controller.rect) { - controller.setRect(widget.rect, notify: false); - shouldRecalculatePosition = true; - shouldRecalculateSize = true; + // Two distinct cases: + // + // * Real rect change (caller supplied a new widget.rect): needs a full + // recalc to honour constraints + clamping. + // * Drift mismatch (widget.rect unchanged across rebuilds, but + // controller.rect has drifted): happens when an external rebuild + // trigger (parent setState, new clampingRect / constraints, etc.) + // fires while the controller carries a translation that the parent + // hasn't mirrored back via onChanged. Snapping controller.rect back + // to widget.rect without re-applying position recalc produces a + // visible snap-back — e.g. at clamp saturation, when the clamp + // branch doesn't fire so nothing re-translates the box. We push + // widget.rect in (restoring caller source-of-truth) and then let + // the end-of-method recalculatePosition re-apply any clamp-driven + // translation. Size is NOT recalculated on drift-only — that would + // reintroduce V7's clamp-induced scale shrink. + final bool rectChangedByCaller = oldWidget.rect != widget.rect; + final bool rectMismatch = widget.rect != controller.rect; + if (rectChangedByCaller || rectMismatch) { + controller.setRect(widget.rect, notify: false, recalculate: false); + if (rectChangedByCaller) { + shouldRecalculatePosition = true; + shouldRecalculateSize = true; + } else { + // Drift-only: re-apply clamp translation, but do not resize. + shouldRecalculatePosition = true; + } } if (oldWidget.flip != widget.flip || widget.flip != controller.flip) { @@ -411,8 +537,18 @@ class _TransformableBoxState extends State { if (oldWidget.clampingRect != widget.clampingRect || widget.clampingRect != controller.clampingRect) { - controller.setClampingRect(widget.clampingRect, notify: false); + // `recalculate: false` + position-only reconciliation. A clamp change + // should translate the box to stay inside the clamp, not resize it. + // setClampingRect's internal recalculate() runs recalculateSize via a + // zero-delta scale resize; for a rotated box against a tight clamp + // that picks the largest (w, h) that fits the new clamp, which is + // strictly smaller than the current box by a sliver. Repeated clamp + // repumps (e.g. parent drags the clamp in tiny ticks) accumulate the + // slivers into a visible shrink + off-edge flick. + controller.setClampingRect(widget.clampingRect, + notify: false, recalculate: false); shouldRecalculatePosition = true; + // Intentionally do NOT set shouldRecalculateSize. } if (oldWidget.constraints != widget.constraints || @@ -431,6 +567,16 @@ class _TransformableBoxState extends State { ); } + if (oldWidget.rotation != widget.rotation || + widget.rotation != controller.rotation) { + controller.setRotation(widget.rotation, notify: false); + } + + if (oldWidget.bindingStrategy != widget.bindingStrategy || + widget.bindingStrategy != controller.bindingStrategy) { + controller.setBindingStrategy(widget.bindingStrategy, notify: false); + } + if (shouldRecalculatePosition) { controller.recalculatePosition(notify: false); } @@ -448,29 +594,94 @@ class _TransformableBoxState extends State { } /// Called when the controller is updated. + /// + /// Trigger a rebuild for any observable controller state that the widget + /// renders: rect, flip, rotation, or bindingStrategy. void onControllerUpdate() { - if (widget.rect != controller.rect || widget.flip != controller.flip) { + if (widget.rect != controller.rect || + widget.flip != controller.flip || + widget.rotation != controller.rotation || + widget.bindingStrategy != controller.bindingStrategy) { if (mounted) setState(() {}); } } /// Called when the handle drag starts. - void onHandlePanStart(DragStartDetails event, HandlePosition handle) { - if (isGestureActive || mismatchedHandle(handle)) return; - + /// + /// Any new gesture start forcibly clears prior state (defensive guard + /// against stale `primaryGestureOperation` from a previous gesture whose + /// end/cancel event was dropped). + /// + /// [handleTopLeftWorld] is the parent-frame offset of the handle widget's + /// top-left. It's combined with [event.localPosition] to produce the + /// starting world-frame pointer position, and with [event.globalPosition] + /// to capture a stable global→world offset used by subsequent updates. + void onHandlePanStart( + DragStartDetails event, + HandlePosition handle, + Offset handleTopLeftWorld, { + double rotation = 0.0, + Offset? rotationPivotWorld, + Size? widgetSize, + }) { primaryGestureOperation = _PrimaryGestureOperation.resize; lastHandle = handle; - controller.onResizeStart(event.localPosition); + final Offset worldPos = _eventToWorld( + event.localPosition, + handleTopLeftWorld: handleTopLeftWorld, + rotation: rotation, + rotationPivotWorld: rotationPivotWorld, + widgetSize: widgetSize, + ); + _gestureGlobalToWorldOffset = worldPos - event.globalPosition; + controller.onResizeStart(worldPos); widget.onResizeStart?.call(handle, event); } + /// Converts a gesture event's local-frame position to world coords. + /// + /// For axis-aligned handles (corners and side handles when rotation == 0) + /// this is a translation: `worldPos = handleTopLeftWorld + localPos`. + /// + /// For side handles wrapped in `Transform.rotate(rotation, alignment: + /// center)`, the gesture's local frame is the strip's pre-rotation + /// rectangle. We undo the Transform by rotating the offset-from-center + /// around the strip's world center. + Offset _eventToWorld( + Offset localPos, { + required Offset handleTopLeftWorld, + required double rotation, + required Offset? rotationPivotWorld, + required Size? widgetSize, + }) { + if (rotation == 0.0 || widgetSize == null || rotationPivotWorld == null) { + return handleTopLeftWorld + localPos; + } + final Offset localCenter = Offset( + widgetSize.width / 2, + widgetSize.height / 2, + ); + final Offset off = localPos - localCenter; + final double c = math.cos(rotation); + final double s = math.sin(rotation); + final Offset rotated = + Offset(off.dx * c - off.dy * s, off.dx * s + off.dy * c); + return rotationPivotWorld + rotated; + } + /// Called when the handle drag updates. - void onHandlePanUpdate(DragUpdateDetails event, HandlePosition handle) { + void onHandlePanUpdate( + DragUpdateDetails event, + HandlePosition handle, + Offset handleTopLeftWorld, + ) { if (!isResizing || mismatchedHandle(handle)) return; + final Offset worldPos = + event.globalPosition + (_gestureGlobalToWorldOffset ?? Offset.zero); final UIResizeResult result = controller.onResizeUpdate( - event.localPosition, + worldPos, handle, ); @@ -531,6 +742,61 @@ class _TransformableBoxState extends State { widget.onTerminalSizeReached?.call(false, false, false, false); } + /// Called when a rotation gesture starts on a handle's outer ring. + /// Force-clears any stale gesture state. + void onHandleRotateStart( + DragStartDetails event, + HandlePosition handle, + Offset handleTopLeftWorld, + ) { + primaryGestureOperation = _PrimaryGestureOperation.rotate; + lastHandle = handle; + final Offset worldPos = handleTopLeftWorld + event.localPosition; + _gestureGlobalToWorldOffset = worldPos - event.globalPosition; + controller.onRotateStart(worldPos); + widget.onRotationStart?.call(handle, event); + } + + /// Called during a rotation gesture. + void onHandleRotateUpdate( + DragUpdateDetails event, + HandlePosition handle, + Offset handleTopLeftWorld, + ) { + if (!isRotating || mismatchedHandle(handle)) return; + final Offset worldPos = + event.globalPosition + (_gestureGlobalToWorldOffset ?? Offset.zero); + final result = controller.onRotateUpdate(worldPos, handle); + if (widget.debugShowRotationArrows) { + setState(() => _rotationArrowPointer = worldPos); + } + widget.onRotationUpdate?.call(result, event); + } + + /// Called when a rotation gesture ends. + void onHandleRotateEnd(DragEndDetails event, HandlePosition handle) { + if (!isRotating || mismatchedHandle(handle)) return; + primaryGestureOperation = null; + lastHandle = null; + controller.onRotateEnd(); + if (_rotationArrowPointer != null) { + setState(() => _rotationArrowPointer = null); + } + widget.onRotationEnd?.call(handle, event); + } + + /// Called when a rotation gesture is cancelled. + void onHandleRotateCancel(HandlePosition handle) { + if (!isRotating || mismatchedHandle(handle)) return; + primaryGestureOperation = null; + lastHandle = null; + controller.onRotateCancel(); + if (_rotationArrowPointer != null) { + setState(() => _rotationArrowPointer = null); + } + widget.onRotationCancel?.call(handle); + } + /// Called when the box is tapped. void onTap() { if (isGestureActive) return; @@ -539,23 +805,27 @@ class _TransformableBoxState extends State { } /// Called when the box drag event starts. - void onDragPanStart(DragStartDetails event) { - if (isGestureActive) return; - + /// + /// [dragTopLeftWorld] is the parent-frame top-left of the drag hit region. + /// Combined with [event.localPosition] to seed the world pointer, and with + /// [event.globalPosition] to capture the stable global→world offset. + void onDragPanStart(DragStartDetails event, Offset dragTopLeftWorld) { primaryGestureOperation = _PrimaryGestureOperation.drag; lastHandle = HandlePosition.none; - controller.onDragStart(event.localPosition); + final Offset worldPos = dragTopLeftWorld + event.localPosition; + _gestureGlobalToWorldOffset = worldPos - event.globalPosition; + controller.onDragStart(worldPos); widget.onDragStart?.call(event); } /// Called when the box drag event updates. - void onDragPanUpdate(DragUpdateDetails event) { + void onDragPanUpdate(DragUpdateDetails event, Offset dragTopLeftWorld) { if (!isDragging) return; - final UIMoveResult result = controller.onDragUpdate( - event.localPosition, - ); + final Offset worldPos = + event.globalPosition + (_gestureGlobalToWorldOffset ?? Offset.zero); + final UIMoveResult result = controller.onDragUpdate(worldPos); widget.onChanged?.call(result, event); widget.onDragUpdate?.call(result, event); @@ -586,89 +856,330 @@ class _TransformableBoxState extends State { Widget build(BuildContext context) { final Flip flip = controller.flip; final Rect rect = controller.rect; - - Widget content = Transform.scale( - scaleX: widget.allowContentFlipping && flip.isHorizontal ? -1 : 1, - scaleY: widget.allowContentFlipping && flip.isVertical ? -1 : 1, - child: widget.contentBuilder(context, rect, flip), + final double rotation = controller.rotation; + final Rect boundingRect = controller.boundingRect; + + final double handleTap = widget.handleTapSize; + final double outerHandleSize = + widget.rotatable ? widget.rotationHandleGestureSize : handleTap; + + // --- Outer Positioned bounds --------------------------------------------- + // Must contain the visually rotated box AND all handle hit regions. + // We take the union of boundingRect (rotated AABB) and rect (unrotated, + // since side handles at theta=0 hang off rect's edges), then inflate to + // accommodate handle gesture zones. + final Rect paintRect = Rect.fromLTRB( + (boundingRect.left < rect.left ? boundingRect.left : rect.left) - + outerHandleSize, + (boundingRect.top < rect.top ? boundingRect.top : rect.top) - + outerHandleSize, + (boundingRect.right > rect.right ? boundingRect.right : rect.right) + + outerHandleSize, + (boundingRect.bottom > rect.bottom ? boundingRect.bottom : rect.bottom) + + outerHandleSize, + ); + final Offset origin = paintRect.topLeft; + + // --- Visual content (rotated + flipped, never receives gestures) -------- + Widget visualContent = Transform.rotate( + angle: rotation, + alignment: Alignment.center, + child: Transform.scale( + scaleX: widget.allowContentFlipping && flip.isHorizontal ? -1 : 1, + scaleY: widget.allowContentFlipping && flip.isVertical ? -1 : 1, + child: widget.contentBuilder(context, rect, flip), + ), + ); + // Visual content is NOT wrapped in IgnorePointer: consumers may put a + // tap/hover detector inside [contentBuilder] and those need to see + // pointer events. The drag GestureDetector is a sibling (in Stack) with + // HitTestBehavior.translucent so events reach content underneath too. + final Widget contentLayer = Positioned( + left: rect.left - origin.dx, + top: rect.top - origin.dy, + width: rect.width, + height: rect.height, + child: visualContent, ); + // --- Drag detector (axis-aligned, covers the visually-rotated AABB) ---- + Widget? dragLayer; if (widget.draggable) { - content = GestureDetector( - behavior: HitTestBehavior.translucent, - supportedDevices: widget.supportedDragDevices, - onTap: widget.onTap == null ? null : onTap, - onPanStart: onDragPanStart, - onPanUpdate: onDragPanUpdate, - onPanEnd: onDragPanEnd, - onPanCancel: onDragPanCancel, - child: content, + final Rect dragRect = boundingRect; + final Offset dragTopLeftWorld = dragRect.topLeft; + dragLayer = Positioned( + left: dragRect.left - origin.dx, + top: dragRect.top - origin.dy, + width: dragRect.width, + height: dragRect.height, + child: RotatedHitGate( + unrotatedRectInWorld: rect, + rotation: rotation, + hitBoxTopLeftInWorld: dragRect.topLeft, + child: GestureDetector( + behavior: HitTestBehavior.translucent, + supportedDevices: widget.supportedDragDevices, + onTap: widget.onTap == null ? null : onTap, + onPanStart: (event) => onDragPanStart(event, dragTopLeftWorld), + onPanUpdate: (event) => onDragPanUpdate(event, dragTopLeftWorld), + onPanEnd: onDragPanEnd, + onPanCancel: onDragPanCancel, + ), + ), ); } + // --- Corner handles (at visually-rotated corners, axis-aligned) -------- + final List handleWidgets = []; + // When rotatable, CornerHandleWidget wraps its resize GestureDetector in + // a Padding(EdgeInsets.all(gestureGap)), so its event.localPosition is + // reported relative to the inner resize zone, not the outer widget. + // The rotation GestureDetector is NOT inside that Padding — it fills the + // whole outer zone — so its event.localPosition is relative to the outer. + // NOTE: the current CornerHandleWidget Padding is symmetric (centered), + // which only matches the anchor math when `handleAlignment == center`. + // `rotatable: true` currently requires center alignment; non-center + // alignments would put the inner resize zone off the box corner. + assert( + !widget.rotatable || widget.handleAlignment == HandleAlignment.center, + 'rotatable: true currently requires handleAlignment == center. ' + 'Non-center alignments under rotation are not yet implemented ' + '(CornerHandleWidget pads the inner resize zone symmetrically).', + ); + final double gestureGap = + widget.rotatable ? (outerHandleSize - handleTap) / 2 : 0.0; + if (widget.resizable) { + for (final handle in HandlePosition.corners) { + final bool visible = widget.visibleHandles.contains(handle); + final bool enabled = widget.enabledHandles.contains(handle); + if (!visible && !enabled) continue; + final Offset outerTopLeftWorld = RotatedLayout.handleTopLeftInWorld( + rect: rect, + handle: handle, + rotation: rotation, + handleSize: outerHandleSize, + alignment: widget.handleAlignment, + ); + // Inner resize zone's top-left in world. For rotatable=false, + // gestureGap == 0 and innerTopLeftWorld == outerTopLeftWorld. + final Offset innerTopLeftWorld = + outerTopLeftWorld + Offset(gestureGap, gestureGap); + handleWidgets.add(Positioned( + left: outerTopLeftWorld.dx - origin.dx, + top: outerTopLeftWorld.dy - origin.dy, + width: outerHandleSize, + height: outerHandleSize, + child: CornerHandleWidget( + key: ValueKey(handle), + handlePosition: handle, + handleTapSize: handleTap, + rotationHandleGestureSize: outerHandleSize, + rotatable: widget.rotatable, + rotation: rotation, + supportedDevices: widget.supportedResizeDevices, + enabled: enabled, + visible: visible, + // Resize callbacks: use inner top-left (event.localPosition is + // local to the inner padded resize zone). + onPanStart: (event) => + onHandlePanStart(event, handle, innerTopLeftWorld), + onPanUpdate: (event) => + onHandlePanUpdate(event, handle, innerTopLeftWorld), + onPanEnd: (event) => onHandlePanEnd(event, handle), + onPanCancel: () => onHandlePanCancel(handle), + // Rotation callbacks: use outer top-left (event.localPosition is + // local to the full 64x64 outer zone). + onRotationStart: widget.rotatable + ? (event) => + onHandleRotateStart(event, handle, outerTopLeftWorld) + : null, + onRotationUpdate: widget.rotatable + ? (event) => + onHandleRotateUpdate(event, handle, outerTopLeftWorld) + : null, + onRotationEnd: widget.rotatable + ? (event) => onHandleRotateEnd(event, handle) + : null, + onRotationCancel: + widget.rotatable ? () => onHandleRotateCancel(handle) : null, + builder: widget.cornerHandleBuilder, + cursorResolver: widget.cursorResolver, + debugPaintHandleBounds: widget.debugPaintHandleBounds, + ), + )); + } + // Side handles: rendered under any rotation. The rotated resize + // methods route side handles through `_buildSideRotatedRect` with + // the appropriate locked dimension per mode. + for (final handle in HandlePosition.sides) { + final bool visible = widget.visibleHandles.contains(handle); + final bool enabled = widget.enabledHandles.contains(handle); + if (!visible && !enabled) continue; + // Strip's natural (unrotated) AABB along the rect's edge. + final Rect sideRect = RotatedLayout.sideHandleRectInWorld( + rect, + handle, + handleTapSize: handleTap, + alignment: widget.handleAlignment, + ); + // Place the strip's rotation pivot at its rotated edge midpoint in + // world space. The strip widget itself is laid out axis-aligned at + // (pivot − size/2, pivot + size/2), then a Transform.rotate around + // its local center realigns it with the rotated edge. + final Offset stripCenterWorld = rotation == 0.0 + ? sideRect.center + : RotatedLayout.rotateOffsetAround( + sideRect.center, rect.center, rotation); + final Size stripSize = sideRect.size; + final Offset sideTopLeftWorld = + stripCenterWorld - stripSize.center(Offset.zero); + + Widget stripWidget = SideHandleWidget( + key: ValueKey(handle), + handlePosition: handle, + handleTapSize: handleTap, + supportedDevices: widget.supportedResizeDevices, + enabled: enabled, + visible: visible, + onPanStart: (event) => onHandlePanStart( + event, + handle, + sideTopLeftWorld, + rotation: rotation, + rotationPivotWorld: stripCenterWorld, + widgetSize: stripSize, + ), + onPanUpdate: (event) => + onHandlePanUpdate(event, handle, sideTopLeftWorld), + onPanEnd: (event) => onHandlePanEnd(event, handle), + onPanCancel: () => onHandlePanCancel(handle), + builder: widget.sideHandleBuilder, + cursorResolver: widget.cursorResolver, + debugPaintHandleBounds: widget.debugPaintHandleBounds, + ); + if (rotation != 0.0) { + stripWidget = Transform.rotate( + angle: rotation, + alignment: Alignment.center, + child: stripWidget, + ); + } + handleWidgets.add(Positioned( + left: sideTopLeftWorld.dx - origin.dx, + top: sideTopLeftWorld.dy - origin.dy, + width: stripSize.width, + height: stripSize.height, + child: stripWidget, + )); + } + } + + // --- Debug overlays (kDebugMode only; in paintRect-local coords) ------- + final List overlays = []; + if (kDebugMode && widget.debugShowUnrotatedRect) { + overlays.add(Positioned( + left: rect.left - origin.dx, + top: rect.top - origin.dy, + width: rect.width, + height: rect.height, + child: IgnorePointer( + child: Container( + decoration: BoxDecoration( + border: Border.all(color: Colors.green, width: 2), + ), + ), + ), + )); + } + if (kDebugMode && widget.debugShowBoundingRect) { + overlays.add(Positioned( + left: boundingRect.left - origin.dx, + top: boundingRect.top - origin.dy, + width: boundingRect.width, + height: boundingRect.height, + child: IgnorePointer( + child: Container( + decoration: BoxDecoration( + border: Border.all(color: Colors.red, width: 3), + ), + ), + ), + )); + } + if (kDebugMode && + widget.debugShowRotationArrows && + _rotationArrowPointer != null) { + overlays.add(Positioned.fill( + child: IgnorePointer( + child: CustomPaint( + painter: RenderRotationArrows( + // controller.initialLocalPosition is now in world (parent) frame. + initialPosition: controller.initialLocalPosition - origin, + currentPosition: _rotationArrowPointer! - origin, + rectCenter: rect.center - origin, + ), + ), + ), + )); + } + return Positioned.fromRect( - rect: rect.inflate(widget.handleAlignment.offset(widget.handleTapSize)), + rect: paintRect, child: Stack( clipBehavior: Clip.none, - fit: StackFit.expand, children: [ - Positioned( - left: widget.handleAlignment.offset(widget.handleTapSize), - top: widget.handleAlignment.offset(widget.handleTapSize), - width: rect.width, - height: rect.height, - child: content, - ), - if (widget.resizable) - for (final handle in HandlePosition.corners.where((handle) => - widget.visibleHandles.contains(handle) || - widget.enabledHandles.contains(handle))) - CornerHandleWidget( - key: ValueKey(handle), - handlePosition: handle, - handleTapSize: widget.handleTapSize, - supportedDevices: widget.supportedResizeDevices, - enabled: widget.enabledHandles.contains(handle), - visible: widget.visibleHandles.contains(handle), - onPanStart: (event) => onHandlePanStart(event, handle), - onPanUpdate: (event) => onHandlePanUpdate(event, handle), - onPanEnd: (event) => onHandlePanEnd(event, handle), - onPanCancel: () => onHandlePanCancel(handle), - builder: widget.cornerHandleBuilder, - ), - if (widget.resizable) - for (final handle in HandlePosition.sides.where((handle) => - widget.visibleHandles.contains(handle) || - widget.enabledHandles.contains(handle))) - SideHandleWidget( - key: ValueKey(handle), - handlePosition: handle, - handleTapSize: widget.handleTapSize, - supportedDevices: widget.supportedResizeDevices, - enabled: widget.enabledHandles.contains(handle), - visible: widget.visibleHandles.contains(handle), - onPanStart: (event) => onHandlePanStart(event, handle), - onPanUpdate: (event) => onHandlePanUpdate(event, handle), - onPanEnd: (event) => onHandlePanEnd(event, handle), - onPanCancel: () => onHandlePanCancel(handle), - builder: widget.sideHandleBuilder, - ), + contentLayer, + if (dragLayer != null) dragLayer, + ...handleWidgets, + ...overlays, ], ), ); } } -/// A default implementation of the corner [HandleBuilder] callback. -Widget _defaultCornerHandleBuilder( - BuildContext context, - HandlePosition handle, -) => - DefaultCornerHandle(handle: handle); - -/// A default implementation of the side [HandleBuilder] callback. -Widget _defaultSideHandleBuilder( - BuildContext context, - HandlePosition handle, -) => - DefaultSideHandle(handle: handle); +/// Debug painter that renders vectors from the box center to the initial +/// rotation pointer position and the current rotation pointer position. +/// Red = initial, blue = current. +class RenderRotationArrows extends CustomPainter { + /// Pointer position when the rotation gesture started. + final Offset initialPosition; + + /// Current pointer position during the rotation gesture. + final Offset currentPosition; + + /// Center of the rotated box (in the same coordinate space as the pointer + /// positions). + final Offset rectCenter; + + /// Creates a [RenderRotationArrows] painter. + const RenderRotationArrows({ + required this.initialPosition, + required this.currentPosition, + required this.rectCenter, + }); + + @override + void paint(Canvas canvas, Size size) { + final Paint paint = Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 3 + ..strokeCap = StrokeCap.round; + + // Initial (red). + paint.color = Colors.red; + canvas.drawLine(rectCenter, initialPosition, paint); + canvas.drawCircle(initialPosition, 6, paint); + + // Current (blue). + paint.color = Colors.blue; + canvas.drawLine(rectCenter, currentPosition, paint); + canvas.drawCircle(currentPosition, 6, paint); + } + + @override + bool shouldRepaint(covariant RenderRotationArrows oldDelegate) => + oldDelegate.initialPosition != initialPosition || + oldDelegate.currentPosition != currentPosition || + oldDelegate.rectCenter != rectCenter; +} diff --git a/packages/flutter_box_transform/lib/src/transformable_box_controller.dart b/packages/flutter_box_transform/lib/src/transformable_box_controller.dart index 3fbf427..819b767 100644 --- a/packages/flutter_box_transform/lib/src/transformable_box_controller.dart +++ b/packages/flutter_box_transform/lib/src/transformable_box_controller.dart @@ -2,38 +2,11 @@ import 'package:box_transform/box_transform.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'extensions.dart'; +import 'rotated_layout.dart'; import 'ui_box_transform.dart'; import 'ui_result.dart'; -/// Default [ResizeModeResolver] implementation. This implementation -/// doesn't rely on the focus system .It resolves the [ResizeMode] based on -/// the pressed keys on the keyboard from the -/// [WidgetsBinding.keyboard.logicalKeysPressed] hence it only works on -/// hardware keyboards. -/// -/// If you want to use it on soft keyboards, you can -/// implement your own [ResizeModeResolver] and pass it to the -/// [TransformableBoxController] constructor. -ResizeMode defaultResizeModeResolver() { - final pressedKeys = WidgetsBinding.instance.keyboard.logicalKeysPressed; - - final isAltPressed = pressedKeys.contains(LogicalKeyboardKey.altLeft) || - pressedKeys.contains(LogicalKeyboardKey.altRight); - - final isShiftPressed = pressedKeys.contains(LogicalKeyboardKey.shiftLeft) || - pressedKeys.contains(LogicalKeyboardKey.shiftRight); - - if (isAltPressed && isShiftPressed) { - return ResizeMode.symmetricScale; - } else if (isAltPressed) { - return ResizeMode.symmetric; - } else if (isShiftPressed) { - return ResizeMode.scale; - } else { - return ResizeMode.freeform; - } -} - /// A controller class that is used to control the [TransformableBox] widget. class TransformableBoxController extends ChangeNotifier { /// Creates a [TransformableBoxController] instance. @@ -44,12 +17,49 @@ class TransformableBoxController extends ChangeNotifier { BoxConstraints? constraints, ValueGetter? resizeModeResolver, bool allowFlippingWhileResizing = true, + double rotation = 0.0, + BindingStrategy bindingStrategy = BindingStrategy.boundingBox, }) : _rect = rect ?? Rect.zero, _flip = flip ?? Flip.none, _clampingRect = clampingRect ?? Rect.largest, _constraints = constraints ?? const BoxConstraints(), _resizeModeResolver = resizeModeResolver ?? defaultResizeModeResolver, - _allowFlippingWhileResizing = allowFlippingWhileResizing; + _allowFlippingWhileResizing = allowFlippingWhileResizing, + _rotation = rotation, + _bindingStrategy = bindingStrategy { + _boundingRect = ClampHelpers.calculateBoundingRect( + (rect ?? Rect.zero).toBox(rotation: rotation), + ).toRect(); + } + + /// Default [ResizeModeResolver] implementation. This implementation + /// doesn't rely on the focus system. It resolves the [ResizeMode] based on + /// the pressed keys on the keyboard from the + /// [WidgetsBinding.keyboard.logicalKeysPressed] hence it only works on + /// hardware keyboards. + /// + /// If you want to use it on soft keyboards, you can + /// implement your own [ResizeModeResolver] and pass it to the + /// [TransformableBoxController] constructor. + static ResizeMode defaultResizeModeResolver() { + final pressedKeys = WidgetsBinding.instance.keyboard.logicalKeysPressed; + + final isAltPressed = pressedKeys.contains(LogicalKeyboardKey.altLeft) || + pressedKeys.contains(LogicalKeyboardKey.altRight); + + final isShiftPressed = pressedKeys.contains(LogicalKeyboardKey.shiftLeft) || + pressedKeys.contains(LogicalKeyboardKey.shiftRight); + + if (isAltPressed && isShiftPressed) { + return ResizeMode.symmetricScale; + } else if (isAltPressed) { + return ResizeMode.symmetric; + } else if (isShiftPressed) { + return ResizeMode.scale; + } else { + return ResizeMode.freeform; + } + } /// The callback function that is used to resolve the [ResizeMode] based on /// the pressed keys on the keyboard. @@ -89,6 +99,45 @@ class TransformableBoxController extends ChangeNotifier { /// The initial [Flip] of the [TransformableBox] when the resizing starts. Flip get initialFlip => _initialFlip; + /// The current rotation (radians) of the [TransformableBox], clockwise around + /// the box center. + double _rotation = 0.0; + + /// The current rotation (radians) of the [TransformableBox]. + double get rotation => _rotation; + + /// The initial rotation (radians) of the [TransformableBox] when a gesture + /// starts. Used as the base for additive rotation updates. + double _initialRotation = 0.0; + + /// The initial rotation captured at the start of a rotation gesture. + double get initialRotation => _initialRotation; + + /// The current axis-aligned bounding rect of the rotated box. Equals [rect] + /// when [rotation] is 0. + Rect _boundingRect = Rect.zero; + + /// The axis-aligned bounding rect of the rotated [rect]. Read-only. + Rect get boundingRect => _boundingRect; + + /// The [BindingStrategy] controlling whether size constraints and clamping + /// apply to the unrotated [rect] or the rendered [boundingRect]. + BindingStrategy _bindingStrategy = BindingStrategy.boundingBox; + + /// The current [BindingStrategy]. + BindingStrategy get bindingStrategy => _bindingStrategy; + + /// The rect that the solver enforces against [clampingRect] under the + /// current [bindingStrategy]. For [BindingStrategy.boundingBox] this + /// equals [boundingRect]; for [BindingStrategy.originalBox] it equals + /// [rect] (rotated corners may extend outside the clamp). + Rect get effectiveContainmentRect => + RotatedLayout.computeEffectiveContainmentRect( + rect: rect, + rotation: rotation, + bindingStrategy: bindingStrategy, + ); + /// The box that limits the dragging and resizing of the [TransformableBox] inside /// its bounds. Rect _clampingRect = Rect.largest; @@ -147,6 +196,42 @@ class TransformableBoxController extends ChangeNotifier { if (notify) notifyListeners(); } + /// Sets the current [rotation] (radians). Also refreshes [boundingRect]. + void setRotation(double rotation, {bool notify = true}) { + _rotation = rotation; + _boundingRect = + ClampHelpers.calculateBoundingRect(_rect.toBox(rotation: _rotation)) + .toRect(); + if (notify) notifyListeners(); + } + + /// Sets the initial [rotation] captured at the start of a gesture. + void setInitialRotation(double initialRotation, {bool notify = true}) { + _initialRotation = initialRotation; + if (notify) notifyListeners(); + } + + /// Sets the [BindingStrategy] used for rotated clamping/constraints. + /// + /// After the assignment, runs [recalculatePosition] (translate-only, + /// `notify: false`) so the box is reconciled against the new strategy's + /// clamp semantics. This handles the case where the box was valid under + /// the previous strategy but violates the new one (e.g. switching from + /// `originalBox` to `boundingBox` with the rotated bounding extending + /// outside the clamp). We intentionally do NOT run `recalculateSize` - + /// translation-only keeps size invariant; users can resize manually if + /// they want the box to shrink to fit. + void setBindingStrategy(BindingStrategy bindingStrategy, + {bool notify = true}) { + if (_bindingStrategy == bindingStrategy) { + if (notify) notifyListeners(); + return; + } + _bindingStrategy = bindingStrategy; + recalculatePosition(notify: false); + if (notify) notifyListeners(); + } + /// Sets the initial local position of the [TransformableBox]. void setInitialLocalPosition(Offset initialLocalPosition, {bool notify = true}) { @@ -170,6 +255,23 @@ class TransformableBoxController extends ChangeNotifier { } /// Sets the current [clampingRect] of the [TransformableBox]. + /// + /// [recalculate] controls whether the controller immediately reconciles + /// the box against the new clamp by running both [recalculatePosition] + /// and [recalculateSize]. The default is `true` for backwards-compat; + /// it is rarely what you want when updating the clamp in a tight loop. + /// + /// WARNING for external-controller users: when a rotated box is near + /// saturation against the clamp, the internal [recalculateSize] (zero- + /// delta, [ResizeMode.scale]) picks the largest (w, h) that fits the + /// new clamp — strictly smaller than the current box by a sliver. Call + /// it per tick while the clamp shrinks and the slivers accumulate into + /// a visible shrink + off-edge flick. Pass `recalculate: false` and + /// then explicitly call [recalculatePosition] (translation-only) when + /// driving clamp updates from a parent/model re-injection loop. + /// + /// `TransformableBox.didUpdateWidget` does exactly that for the + /// internal-controller path. void setClampingRect( Rect clampingRect, { bool notify = true, @@ -228,9 +330,12 @@ class TransformableBoxController extends ChangeNotifier { initialLocalPosition: initialLocalPosition, localPosition: localPosition, clampingRect: clampingRect, + rotation: _rotation, + bindingStrategy: _bindingStrategy, ); _rect = result.rect; + _boundingRect = result.boundingRect; if (notify) notifyListeners(); @@ -290,13 +395,48 @@ class TransformableBoxController extends ChangeNotifier { clampingRect: clampingRect, constraints: constraints, allowFlipping: allowFlippingWhileResizing, + rotation: _rotation, + bindingStrategy: _bindingStrategy, ); - _rect = result.rect; - _flip = result.flip; + // Hold last-feasible state on infeasible ticks. The engine is + // stateless and returns initialRect (gesture-start) as a sentinel + // when it can't satisfy clamp + constraints — but consumers that + // bind their UI to result.rect (e.g. flutter widgets in onChanged + // callbacks) would visibly snap the rect back to gesture-start on + // every infeasible tick. To make the freeze visible all the way to + // the renderer, we override the result with the controller's + // current (last feasible) state before returning. Future ticks + // still recompute from initialRect (gesture-start) so reversing the + // drag direction unfreezes naturally. + if (result.feasible) { + _rect = result.rect; + _flip = result.flip; + _boundingRect = result.boundingRect; + if (notify) notifyListeners(); + return result; + } + final frozen = UIResizeResult( + rect: _rect, + oldRect: result.oldRect, + flip: _flip, + resizeMode: result.resizeMode, + delta: result.delta, + rawSize: Size(_rect.width, _rect.height), + minWidthReached: result.minWidthReached, + minHeightReached: result.minHeightReached, + maxWidthReached: result.maxWidthReached, + maxHeightReached: result.maxHeightReached, + largestRect: result.largestRect, + handle: result.handle, + rotation: result.rotation, + boundingRect: _boundingRect, + oldBoundingRect: result.oldBoundingRect, + feasible: false, + ); if (notify) notifyListeners(); - return result; + return frozen; } /// Called when the resizing ends on [TransformableBox]. @@ -308,6 +448,68 @@ class TransformableBoxController extends ChangeNotifier { if (notify) notifyListeners(); } + /// Called when a rotation gesture starts. + /// + /// [localPosition] is the position of the pointer relative to the + /// [TransformableBox]. Captures the current [rotation] as [initialRotation]. + void onRotateStart(Offset localPosition) { + _initialLocalPosition = localPosition; + _initialRect = rect; + _initialRotation = rotation; + } + + /// Called during a rotation gesture. + /// + /// [localPosition] is the current pointer position (same coord space as + /// [onRotateStart]). [handle] identifies which corner is being dragged. + UIRotateResult onRotateUpdate( + Offset localPosition, + HandlePosition handle, { + bool notify = true, + }) { + final UIRotateResult result = UIBoxTransform.rotate( + initialRect: initialRect, + initialLocalPosition: initialLocalPosition, + localPosition: localPosition, + initialRotation: initialRotation, + clampingRect: clampingRect, + bindingStrategy: bindingStrategy, + ); + // Freeze on infeasible: leave _rotation/_rect at their last feasible + // values AND override result.rect/result.rotation so consumers binding + // their UI to the callback (e.g. `box.rotation = result.rotation`) see + // last-feasible too instead of the engine's gesture-start sentinel. + if (!result.feasible) { + return UIRotateResult( + rect: _rect, + oldRect: result.oldRect, + delta: result.delta, + rawSize: Size(_rect.width, _rect.height), + largestRect: result.largestRect, + rotation: _rotation, + boundingRect: _boundingRect, + oldBoundingRect: result.oldBoundingRect, + feasible: false, + ); + } + _rotation = result.rotation; + _rect = result.rect; + _boundingRect = result.boundingRect; + if (notify) notifyListeners(); + return result; + } + + /// Called when a rotation gesture ends. + void onRotateEnd({bool notify = true}) { + _initialLocalPosition = Offset.zero; + _initialRect = Rect.zero; + _initialRotation = 0.0; + if (notify) notifyListeners(); + } + + /// Called when a rotation gesture is cancelled. + void onRotateCancel({bool notify = true}) => onRotateEnd(notify: notify); + /// Called when the resizing of the [TransformableBox] is cancelled. void onResizeCancel({bool notify = true}) => onResizeEnd(notify: notify); @@ -319,9 +521,12 @@ class TransformableBoxController extends ChangeNotifier { initialLocalPosition: initialLocalPosition, localPosition: initialLocalPosition, clampingRect: clampingRect, + rotation: _rotation, + bindingStrategy: _bindingStrategy, ); _rect = result.rect; + _boundingRect = result.boundingRect; if (notify) notifyListeners(); } @@ -339,9 +544,12 @@ class TransformableBoxController extends ChangeNotifier { initialFlip: initialFlip, constraints: constraints, allowFlipping: allowFlippingWhileResizing, + rotation: _rotation, + bindingStrategy: _bindingStrategy, ); _rect = result.rect; + _boundingRect = result.boundingRect; if (notify) notifyListeners(); } diff --git a/packages/flutter_box_transform/lib/src/typedefs.dart b/packages/flutter_box_transform/lib/src/typedefs.dart index dce46d0..19b06a0 100644 --- a/packages/flutter_box_transform/lib/src/typedefs.dart +++ b/packages/flutter_box_transform/lib/src/typedefs.dart @@ -3,6 +3,32 @@ import 'package:flutter/widgets.dart'; import 'ui_result.dart'; +/// Distinguishes the gesture zone a [MouseCursor] is being requested for. +/// +/// Corner handles expose two zones when `rotatable` is true: an inner resize +/// zone ([HandleCursorKind.resize]) and an outer rotation ring +/// ([HandleCursorKind.rotation]). Side handles only expose a resize zone. +enum HandleCursorKind { + /// Cursor for the resize gesture zone (inner zone on corner handles, the + /// full strip on side handles). + resize, + + /// Cursor for the rotation gesture ring around a corner handle. + rotation, +} + +/// Resolves the [MouseCursor] to display over a handle's gesture zone. +/// +/// Return `null` to fall back to the package defaults: +/// - resize handles use the appropriate `SystemMouseCursors.resize*` +/// - rotation rings reuse the diagonal resize cursor (Flutter has no native +/// rotation cursor; see [`custom_mouse_cursor`](https://pub.dev/packages/custom_mouse_cursor) +/// if you want to ship a real rotate glyph) +typedef HandleCursorResolver = MouseCursor? Function( + HandlePosition handle, + HandleCursorKind kind, +); + /// A callback that expects a [Widget] that represents any of the handles. /// The [handle] is the current position and size of the handle. typedef HandleBuilder = Widget Function( @@ -88,3 +114,26 @@ typedef TerminalEvent = void Function( bool reachedMinHeight, bool reachedMaxHeight, ); + +/// A callback that is called when a rotation gesture begins on a handle. +typedef RectRotateStart = void Function( + HandlePosition handle, + DragStartDetails event, +); + +/// A callback that is called during a rotation gesture. +typedef RectRotateUpdateEvent = void Function( + UIRotateResult result, + DragUpdateDetails event, +); + +/// A callback that is called when a rotation gesture ends. +typedef RectRotateEnd = void Function( + HandlePosition handle, + DragEndDetails event, +); + +/// A callback that is called when a rotation gesture is cancelled. +typedef RectRotateCancel = void Function( + HandlePosition handle, +); diff --git a/packages/flutter_box_transform/lib/src/ui_box_transform.dart b/packages/flutter_box_transform/lib/src/ui_box_transform.dart index 55df739..c33affb 100644 --- a/packages/flutter_box_transform/lib/src/ui_box_transform.dart +++ b/packages/flutter_box_transform/lib/src/ui_box_transform.dart @@ -22,9 +22,12 @@ class UIBoxTransform { ui.Rect clampingRect = ui.Rect.largest, widgets.BoxConstraints constraints = const widgets.BoxConstraints(), bool allowFlipping = true, + double rotation = 0.0, + transform.BindingStrategy bindingStrategy = + transform.BindingStrategy.boundingBox, }) => transform.BoxTransformer.resize( - initialRect: initialRect.toBox(), + initialRect: initialRect.toBox(rotation: rotation), initialLocalPosition: initialLocalPosition.toVector2(), localPosition: localPosition.toVector2(), handle: handle, @@ -33,6 +36,8 @@ class UIBoxTransform { clampingRect: clampingRect.toBox(), constraints: constraints.toConstraints(), allowFlipping: allowFlipping, + rotation: rotation, + bindingStrategy: bindingStrategy, ).toUI(); /// The Flutter wrapper for [transform.BoxTransformer.move]. @@ -41,11 +46,35 @@ class UIBoxTransform { required ui.Offset initialLocalPosition, required ui.Offset localPosition, ui.Rect clampingRect = ui.Rect.largest, + double rotation = 0.0, + transform.BindingStrategy bindingStrategy = + transform.BindingStrategy.boundingBox, }) => transform.BoxTransformer.move( - initialRect: initialRect.toBox(), + initialRect: initialRect.toBox(rotation: rotation), initialLocalPosition: initialLocalPosition.toVector2(), localPosition: localPosition.toVector2(), clampingRect: clampingRect.toBox(), + rotation: rotation, + bindingStrategy: bindingStrategy, + ).toUI(); + + /// The Flutter wrapper for [transform.BoxTransformer.rotate]. + static UIRotateResult rotate({ + required ui.Rect initialRect, + required ui.Offset initialLocalPosition, + required ui.Offset localPosition, + required double initialRotation, + ui.Rect clampingRect = ui.Rect.largest, + transform.BindingStrategy bindingStrategy = + transform.BindingStrategy.boundingBox, + }) => + transform.BoxTransformer.rotate( + initialRect: initialRect.toBox(rotation: initialRotation), + initialLocalPosition: initialLocalPosition.toVector2(), + localPosition: localPosition.toVector2(), + initialRotation: initialRotation, + clampingRect: clampingRect.toBox(), + bindingStrategy: bindingStrategy, ).toUI(); } diff --git a/packages/flutter_box_transform/lib/src/ui_result.dart b/packages/flutter_box_transform/lib/src/ui_result.dart index da80f39..17bf91d 100644 --- a/packages/flutter_box_transform/lib/src/ui_result.dart +++ b/packages/flutter_box_transform/lib/src/ui_result.dart @@ -13,3 +13,7 @@ typedef UIResizeResult = ResizeResult; /// A convenient type alias for a [TransformResult] with Flutter's [Rect], /// [Offset] and [Size] types. typedef UITransformResult = TransformResult; + +/// A convenient type alias for a [RotateResult] with Flutter's [Rect], +/// [Offset] and [Size] types. +typedef UIRotateResult = RotateResult; diff --git a/packages/flutter_box_transform/playground/assets/images/image1.jpg b/packages/flutter_box_transform/playground/assets/images/image1.jpg index 2010bc6962dfb42a2fbce8d36668316c6843ad25..5e23faa119057e3ae0edf9a5315473d6d3997c09 100644 GIT binary patch literal 103809 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

Cqb5!spYsSz)7k*Vs^{PNZ?}rHSYwY--w!M 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౪zt%2O5)H9gT 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%0ACWewIO8))xNU8xD)Q?2dc{roF)mf9%5&Y~!eHyJ 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 z z$J+wMPA{(krV}mB3FN}z`z_gHoJ{wQZRB%UBWe_leT}bum=#vUTrQS+CU2W`>0kISp}luG-4vgcj;O~>hobsowdac0MS(92HN zvzcr?39utbt+Uk5PkFDV$6xGe2!Ewp+R0{GD(EH~Tyqi;O~{|Ug~CWgRMO#)&0`D$ zJSOVyx-5I!?qB3Wf#Ee`L>6WYzvgvylGQxfmi)!{!>p z*XN0{E9?c_SuWlyAH<6xMpB9e?ZAttC*e57< zKg8b@{-i-$UM=)v<@q&+D;}D9{nW})Jx6B@!Jodpm)*m8`onQ zd*v`Imk=@qt3itK%RY~v)_C{V!T!==YQ3x`qNT&77VZ`PxV9J8ej(!)kBVA>l_Vxz zvZ94oJdO->d|2GEN@>VoU~l>Uij}OvF6QQT^%E23@YiHebVOPj+r}6?sHPq zpbITzOuZ_=RUTHc;mGv``f3ITZ|a1w(;299(^!A#Mx|rJtBUqoY)}_lh~ON|H&t!M z$@2P%VTVQuJnGY~m6mXDJR~687++4?FZ8RFNAoMK9381ltvQ$4s&_ZIJ>ZF5LVafyf#oH+N@C0l^LqyfWQ59pXAPl#TzuOeb$d;d=KLIru$sQv^5pnR4t&t4q!H zkHvZMI}dNas)D+>GmX&0=gwc8{khJi_@K4I-(?k+A+y?l#(hHXhrm?Qszq`3C|j~c#zCg+Z0XMBdNvPYglVu{WQKuY3@Aph5O@eJ@qiPv-UougkW3TFu3_ohX$+u z?&Ui@q`8ZLW;*tefr^uMq5W!fELM*fOh&E*-b3uX=NC}qabmN<${I(F{ZZ}i=!W(V zVwYdhN3*|MB`qOY3^CfxD%0?^iqCYE5R?KsFtj9}q(e+zwf{QBe@+niMSfuH3M}*4 zDYc$u|1wU`=JcPcW5SL6TNk{00sCSjmo@DjS|jPSv%cWGWKs%4E=Xtr1gC$n;4*@)Q{->9Ed4cRkSy< zGm>}!++P8-*AD(*?IcNdN4Mdpg~iHo6Z;Kk!0i9q;;^o$yclPxW%hRYrr{FRC7qQP z)0Q8V(8>0}Yo<~EhQ?0aD!kH!#CsfYwET0Q=-vIO16U2!FHEpk$aoc7V*T&en%9B{ z?+md(D{S$;+zf}ZoU@c3yFJUaR)>S~{>pro(=F#N%6rWM@h!hNciMO_dxeD(x)$RX z04wfd(CWQ-qn1Hu)R{tk%e1@nxGj%}Iji<;JyEj{t@X_#&GXYCL(}gkk}LYZ_R>b9 zNX7@S7+j8JdADLy-A#~I;KpDcrF63{mD zx(6gGlOa%x9r5NV!z_}q%7PrmcsQztcXGbfVLC~ejpS;9lLA$R@#@3ZD+ahmHAFIo z+798Qc)F!{qi-QJbzfK8UK{!5cXEEikSBbX`n`UZkU}J%b&~29c@tiScL~`4apeDfcGroe z-!rLAQ*?`Q9{sB}b8zN*zQG~Fm9tZR-%deoc+H`kBlpRDlj5>UKFd(LXxdiFGTtes z%?{Z8ZP)MiKZlz02m=}GmdNGH1J_d$N6tEa*^}U$QME!0&rI6`?&qUwGl%Sa+FM_~ z+a7gk_xb5JpnQg$4Ku2B2 z?4Rp*+3#H4)P3#fKJVuvq?@-e{Au^fJWX`nP`3abq58%9sTJrwZSt}HZzoQu^eB?8 zgKWW{uSx0uvO{iX(N(9ZI6mCACq91{s}x3QO8%qnb0apk{tSQb#64?i#3RNc*P$wD zRxRU_;J=DXw%0^ubgM~>Y0)bdg0^efWjuKn54Hs+eg_~wY49_RWmNVP-?Oo)%hc*{w%P5 z_;(AJFf(k3UyRS>+fky9xUKyydR4Le|9c0RxK=)Kuq@W-^mks_q(`67U1M9Xqqdm=IrB7sZkp@dkkJ$5D}AO z_RekO1 zsvwn5_B+_dqoa1BO_Hxmawyi>+e));!qxdrwV`|prfJcDKGV4qn<4lj)CDThq@)Du z#3dYOMf`XvOTT~^N()gTt&7�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 diff --git a/packages/flutter_box_transform/playground/assets/images/image4.jpg b/packages/flutter_box_transform/playground/assets/images/image4.jpg index 5e23faa119057e3ae0edf9a5315473d6d3997c09..e7115d63a7c4b2cd1e43b77f585aa2d1c4d19896 100644 GIT binary patch literal 132771 zcmb5UhgTEZ_dXmjU?_S6lF$Sx2|`Gat{^Dg&=f)v0s(~3LREo)V7Y+wqJV_nI|-o# z5}Kf(ARRV27LqE`X0aLbxE({VrB`kbORR$`f`u}_UHwX{| z0U5y7V|+>gelfmdVtoI-0LTIW{KxqI_qqRX@bLqV@xJ#sZ&8}J@W1i@mUw4Ae%|7L zD*(}Bd;os%F);7W-&O3NvgFpbojY!goU~FYK1Y(@*d(E`?Dgzi^0f=;xI6iuwr)I* z%;*X08Ea}=lf8nVNR#Hx8o*UxxN)w`;*W>LtEU1#8Jq}|&eL_a@pEyVK$}h?E4pSv zo@_yC{Bzt8g@m9ScZAr@1}KUo=b)_0=a8pqX$v=FP=!0N;>$M6cPk_(zBNk#IXX7; zuSQ$ntGD`yFv4hL8#4lHI9NBaFUWDWhrvv!+ukfZ3J73s|Dnp*xhrz+`$Hd_{9y2#r$l zQXp4t!K6IhMN=KeJ=)+RzKGlo9d6q4SpK;+xxqcJJ3bp45Y+H*y$AhUSx{YcTa5K& zvq$FXf9uT!Psg}Vr_MCX?BaiWWOyt#Ydj2ZyP@)8=cMPNq572brIao08wJ)(Z}A|v zN?nw=-#aV{@}hNqcGXwkZ{@IKEm4L{^<);hswuT5Bs%0KCNW*W84{)dL50%_Z43CS zA*QM7Gk%4Jw%}MGLLdPo2Jlowyok+`s?f!q6cb2j@SqoEMg(qDU%g*6X_a=KTz7Py z7R1uSJ|-tw_s-!Hg!4Rbqq6n?`+F$J$Ik;OsV8JG*fvZZB+ z!L(7jd}nc3T|nUp9W`oAHXnbysu1{@xndj$;9HAlC?&Klwl#V-;i_5*>aHDFwks>H z%2ozx6>sB-@QKrUXG^v6M#w5H24`h(f|^&x0{S!CHx|lkM~gkKHXW>8vvt+pDOAcb z6>d{dHZ<@ObE6YP4YLYWqoeA!`;S_-icz-V(g}rBrU9)h++<8hNwTRni9JcKpn&0Cl)|Qb+u5IM z!<_+R+TB*vF^DGs8|MWTQiSovgDqRtQA))7?Qs$QmUvr0syBk?Z1S-BRK=>X+jUZO z8-jK_-NsFKUUOVXLB+z^(uP5!RUJi6mRsG=zvS-H!*r^?Y-uyz3sMA%3&IjKnhi4A z(qARk#yxj3e8RLYwN%!1_VvGA`Sss_lt$?%LQXEAdoZMVTo2Wz(^tE62hn`!?d090 zSlnr8sCBMCJ$ihvZsMh|bh>h3yf!2kkRXoGvi<`MkMCmJ47!ok>t3VeWDOSm?+L!x zciqJF)Hwu6`vw+T*ZFI&A>i2xUp=v7n9$eK>u2VtCfo@5<)eb zXP{#8`nDG(W6~@+F_~-MH+wHG)N3>cF&e)XuQV2VnumF26u`1Q72=eJ%#^ADBonl7 z4%!UlA{4-=8g802uo6*o_6cySR%dGdC2bAVERvJ|leoQ+85wg{By;ayU|)~bharmNYW9S3- zPPCig-1{{ZE=1O50VU$PqLesO7szsQAunBhrS_(GN^qUz)$7~k-Raxqbul%r^ORf> zVT@uk5phB-zhJ5-PdgLg?=IX;pHFfVdEWFY z-)a9ys$MUaPZ*MmG;9)(R4k3qD_HlecVx;bK zj}5l@xYkx7^rafED?JXkv=1M`yZEqV?Xbb5y4D3VZfN*TW@9jIsEVFv3Xew+^Yy7+ z)+RHoqU$GPR{EP3kq`nCZhKRWxIs03gt8CFtG<<&*PSN6m{;FAK&^S+uSPef~C@*EkvMs<1q!^n3mPRD=CuPOWJA7+RudkO78FJJRLO+ohPs1*1 zF9vH@MpC6mGA0p{@mI3qNAM^i2UcJs*(R|P0e#Ux6fRs=&l~Laa^1*kdIIj?)5ds- zsH=m0NkWRTNg^`B&BD*89{V*q_c%?ir%kI39{j#ie)VP3x3cMa<2LvsoA(#)U!MO7 z882jxcYlM2xaKuIl~4I{@I(Fsp|df1((Q;m^fBz{U%M|FucNly-)x;__4`9Vxse9% z_7G+q-b-AN7|c$frf8xO6G_N;HHCyG84x7h0-))5QbIlPfxrWSV*q|U2q|Bpa5Dud z5H^x3FHDGSquN4%h2~NqFGZ!{_@wybptxsogRtAM+bJ*7WrXd3WEdGqR)YblCu9f% zdAgoZL~T{g&9vr3d)uS7#m3~wOaA`wvha~#$49mZ_Y=RZSGX*H*ni?a9rY-`^4!Is z)M%kOM)a4pr!F6T{ywd4^y{d3s_jS~FMKro=y7Dtk=%t2-{kDIZ{Y!}L)-fdA~Rs= z;;jhH4{Fe8U5>>g@JXD>_{xy+cp zDi&t5W>?7pzLCcyFSc8joju2Rw^TO%`uXXE)x5w*mRm=+`}eCi?+Hxp6KL=#Ei;R+ zODUQ+<75<)LB~PjqnP|LzS|X&41|YH0!L?PP6x7}O`Q*urr5PnL}%A@jPlK95gfFJ zE8cc0Kt4};T?uSL5>oJtLzwenut{h%&pd5$w6!A7N@R{WI_LlF%Zf*vc*3$_>9DwX za|mKXn$RQzs7re8t0P~2{nDFys^9M#-H}@Bm91ePo2f-awZ{vr^rpKx6_7e0LY40T39Ise{1|Y^6E{mFA zO*3mDm^F-GAqpn9hGpGu^FYc730h;U!6{Na6LYXirtyLxDFq9@cvCR%LO7>Rs?u2v z!XYC*Zofa$iu}ageX(z-J3eustKkmc?4$gl_o?&b1U7$zTYBAoWn*CH-*YBM(wjFHqnBCUU-#or-b__G2C&9G#GOcT z&HLf+uGD@)80(fQqpD($Xca@+piLF1FnwB2id=v>nqU+2%I|FwprA^MS7->qfJ%b= zW%bMQ8U&2&u>XnV z5yH!Dbf?j2TgT0|sIR9FI05!E*lqvMN(V8{TP_sAsT2r({%|BOoFxO-d@{fD&MQ5U zYmmCperOPBf1!*x9Dw>abn29U?ay^@r&n9m*NP=Xwgkj~N)#884PhO6LxJZltFDWF zFmV-3@hvhfA}8Id(=ct47HsI2B-Lp#f~U{r&2+w)>T#&>Xte8)FSDMNRs_L-V6cz^ z&#-Keu8+EuxRh_!pt+Eu3k;^o7Yj>)C5XEyWSPW)6~W>{;(!FS832pFdgt5G>wG8w zTKawC-l@_bM>m&VEx*AoUJX06FZ=U&)42aR_9*Hw`VBT_<*wB+Zb1BpT3p0<`E?yy z1{|{!{I+K*isEjoaK)t}P z#vQwcFh4qM-^l$$O{u+sp?2Z;H*D~S%xq6)Z7W#N+9|-}K9Iqi%LS7(aB0`RnPcf1j@3 zJoujTkM?ug`wl0TXsW-)+3CYD_3D|W&BI64-}`SJ*iq`n-PNlJ7Yu&E)iy7bJ)eeO zN}r1P;}RQc6w!1wFfZZuxDY}J(e}|<9+C{=;p+_HnaK{KCq)X9Oaxz0CqfWJ=w=7Y zCNX~M)8jC(H4GM;!!HCzi-XN@x!HmUTv}GP#3)ouVL%856NAMn0b}ENi4>e7q=1IO zvf#cdQ6DB%Q0|Y2sl8^AQ=cEo=XM8t@_W#(U+DHg570zuDn%?9i=#l?ZJsOf;+zSw1L+^TXZ2@op?NG%A2!}U zbg+eZA+`ur^?odP>ef%Whxc`Q{X*pL5yfr28uE%VI%QlLfoaR)Hk-@~4w?W@1}TY4mMtl9vp zVKbQ>q%YnWfXEx8x!Ppb(Im~XZ>r^=GJ0Zd(T@}V%kSmf(CMY-FV1rF&dGX}5ATf}eGOuqD_!YIav*>qN;03q(Yi&~^>Ja4 zc>X-R1FI>%&n3A7?BAJ@I~C=WZkx1Wp(H9;2__}F)8R?HQvU5%QHBH$6-gsL0=My} zA+5ZlAl>0&QCN|NP`yoBrbA=0;h>gYlhobZlnr7$o@Kkz5WswcVA!+J()mPc4<{r*hU2p$- z=-2+W`E19xA8&}?-%_1?JpKbL8y)Yrr|1(b6ObUU_$^MH7{>V$?uK;pQS<%|S_vcs z6y?Re5uw@Pp~Ki$&rN1?pmI@MM4jbe13~?P0BE??6_Hp~2^Ah7H##Yf$csUk9uQNuZ|0eS&7jNy0>GJH0tQ${GdN(L_2k}Jb|vR0wrKl^T# zY~JBGX1Ym}ikc@C@DW$S1D&c3?eq_> z<^S@2|2t`S`$=d$VjA`KUg(8y?V)!=pPHxl-1$9yrp~2AOR1HR!ykVu=HHIyuT@=p zk)bZj)hgv0B>*uXS^x|f@G&ye!QvMi@?_pWL0@Qs3J2Dn+H5{Gi7E`uUw*v|%udAxxt;in}?JU`B$u;|Fan9gfB@?}*J+!3# z96OF&&@snOoG{na6MZ(PV{Sd6Oc+0LuK0SDJMO2k!Ao6soqZ&-r+K_y?_*A)uXu4l zTS(pDI}^Z6n}aUA{np#b=RC%XJI8Lcm_5C0u=6{)bV0so>MC~U zXuaeYBD`zS7Idp3fl&2!ZrJ|3?}DFj%fN8NxzXy0RwOl+51^Qa=KV=6GX@ws7I(AZ zAy~O+;{saO6rR-JrtT5~F?%7bOUM9#_zYX+D#6+&qpG9u1RIzMRapWtV_G%vevI6z z3DV@N%C2}|LeA#rMVB}z2dIfwkPY76*Z)T*x@Vt~jCs?P*BrQJUt1wWDsZ+cngcvF zPW<{}@BF!1J-mGVC9R=q4R&<=#6e(v=>g@#__BZb_e;Jz`?=ilz`Sjj&gvUC%Gv_7 zqh06wOJ`0NGEjuN%f@fE+LN2u3sO<0ZnPEsI90O6023yjD2Pf5Cv)h zRccf!RR*M1vWEkc!PyC_x0I6NlUwYI|B5hXX$FpW-;e#47k~B!tegQFk@UjBjGYvbnoQfjM@luPSe|M9ppbLjO>BWV3(f8wd-arQ7b^Y`PCn6lF+ zGX1)2P3ne1GRPs~xb=I_ZXwhC~spZWIQ^l-?L@<5~hdZ>kl);K~ z8gZ!!dz&xoTz~!&)(V@Oe_2%OmRX;*bMHaR8=S9!5sO9S(*XB<%zr54Z{_rW9yz(Zh*Ms`= z`xj$@iShLEr_ghyb5XaAj}g^NTFUheJCP<9AX8BhK9Fb5C_GkL3=L4=5oxrEs2G}0 zMy(NuX~p6l_yG!_Y~uoD`78@FPz6Xqk@pZ_1epWU1oEi$F<@(|YAO;YrzkjRQ7ys9 zb2wza?lFeWp21z}n3RI<#=0GccAUX#m#oOml$g#F~fHC(}5(JsGl9=b7!q+xe z!>@DMLnsR`U!@TtPn~VsmoQsC;mUXfQ_K#66mpMj!Xg=BJ2xHcHG}3#(5|jQ%tFGe zp~$+_AP&C3F>Hl;-7LK8QoFpzndP_pYiHYT6#qI_7vVasal>GFAiccT{;$`&(NaY{ zM!)lmfdn1(hgHWxmG4~0Fp7k(xRLrv7}_FU+Dxi~M{jJNH&y9Uz0*v-jV%nNp)j@G z7I`*@v+d;+sH|v+C|)@^lKn z)Q%S-YbKk!hR1!J$}4r>KJ~!56HYz&^Kzx!34^^1H;?i&C7%MvJ14U|An9HveKv^$ zYWjT8QHZRf8&e{^(u^$bh*HD$5YauB+FS{ZI25m(wOtO+RGG+Z+j|xXd47ImYjTz? zGwu2nZIczRYOZ7r5;X;-Du{~1va~HTnym0rNgX35QUD&ojh7}TDKgvHy??E4PZedK zznZb4%YnIs;88h3CfSMz1t6dSVrH|ZC}PHnNPxUjUNfn!+G4FZdEUxdF;Pwrxd!E5 z$SY+H=_glA%$J0&iy8f1)w4WYvv_jpKI61sGu7~d4=ZCqWe|H#q{IU@buKA9SS^1r z^{#4uN|lG*c%#qsIS9HRrOh)UqkCfuK{R#St4#CwyJtfGnBs!+>7|pmoVaf%7#1m- z*>+j6@n|36F(KG706H#5Ae)-vi>xI)z(@fGV?E=g0KC+oF1FI%wW77WFx#pBa3x%{ zSpf)E2h^D1cYuf#HVDHy;hqk8BLxb^R(-ny54t%}ccj#NY%mG4MO!5igjZyh1rZ+( zyRGi|aS>Yw(aX1Dr2qc8xr+IOCru(-h2<@S$m&GAI@DAuTO_9~LOpM&_J)wj4Bet* z2=h)tr_H5f3)kLSH(cWv=3sbMs^nPv@tKVHMqidA# zS2T?@Nnk-)wn9##hsq5oT2s4=|K`BAYEbuckQ;RPLRIjp5{;t$wjIDe{pil_jUC?s@lC7<1L4DO$ z4(CzVn4nOD*`R2;e0~oTuQY&7&+E1m!we8?GfznB!ReWr993U7P6P+wzzFJzIZU>m z3b7~&6$m36Y;^K8!%EUuGqZwwMv95%)(&WE1(R$ARdhmZ5?WdTor{KL3G#TImYD&; zz}yNXrU;D9LBqf{Gk9V+SS{KZTcM`w%a`@v&7ly`}~M(y5M{0D0y1j^f>XF8)IaNV9& zR|0Leb#lPvgje zM&2&HVL2}oxlP+nhl15CXk#NISFGUV!$IRn3BAZ+T7jxn!!2N~=(!v*`favY=$&1{ zoaL_R>@&^Smvki%+1j+F%uM$~LJ|pWY0alJl3)QRC3=PNCGbR4Q+@{lA5#1(znUk* zFGM1@YaZ2#RoY;X=FD--26oy|My!JaGe)K9OJBBdmv}`SDBfH#&svG+I;vEC@j4l_ zIJ_1Oc&rJ6X_}^uMVbd$=5$+CD^vqTvvSa(kMw^x&&@^ES1pm?ls+_^qLTKUW)(+q z#1BBk6JbwWo6}fD@1Nu1m#&3M_(P?>a(IF$z`sf z1l6`!lc5|VaeSG{pN?WZKN!p>h!MI5sK@jGpt%F*Zddd% z^bDVvdt2&yJ{VA}C^S>bhUbVmj4CQL#?b`%1;KHfq~Z9-2y3XApt@jMK!vVnPJx0) zSCpRT+NTvd${Dwy5~JsDvwG=nPv*;Y*Fl#ckc~jP@Hg@7GH2@Q$>Fvy)0M8Bd=X(L zzUrPLR=marD|17eEWhBcA(pd&*ZT~==PvR5ueRY?jiZ?%K_+l=*6j?l3UZvhYJ7z? z|BDpNAmn3?wQV&P1CaI=w*`sIs0Y?Y!a>cEp67YeG(>mEx5+Un{dh{4CtN(!o=*{& zz*odREfgI4BF7q*0K|eV)Wu?tL6md#J6uEo@qo-rwBHj6dwgV>5 zDW$^i3HJZt9HJsZ>M_I54^hT8mO@qZQK33?_1wg482g3x3fFUH3>P6zC)*wNxWs2l z8-zjWTL6MK!6!w;^45^@DG_OOn>keUuyp_}QKKDK;BwkjU;?-hJP3>yH&GX?c$gDM z0%*os2t;b6_*{frb$k_VUdVaYenoGP<07vp?+jgRJal_tVTq~mKc}AKrk?K8Y&qDC zFUsWYr-+-YVj~&J>5%swx&oexSTXHiQ<6@7yYSTQPpnssIOoMe+8oj7&7c0I$+9y) zrxN>ebdU zGat_-%_(UnI=khLDu_z(*I;shh&cKkBx1?tnRvU0ckHN?wAqt3DLue9fD#`NsGlNb z;!Geshlwf)O2pMhn8#|S-;!BtMRPd6=(w++ydtX# z)G@n~_d>smAO?h5$*UFlHw-bEYymweGLy3z$Te1_eYqa9Fz@=wg4Ua@vwu|Zao^kH zs&nV;262%R)Zp3`IvT$f({4Gx>MnPIO}rPsLv-K6Yi86*Q}fi3RmF`N^F$l}ffjj# zM*PO)vgkM;Jk283^aK>?qN+?&>gr~E;Arm9h;AM9LP!Y>TF7rtZMQ-DAhL6lTttg1 z-Ngk95zLPj8P7$Rp+oLt176Mq4$H(#Sh0}ApdVuhoyev#q8NKh{K_@dQX&n0*|&5NgUMJmjJDXAE&~QFMr3q^6gD@e4rtYS#<<+bvYpIL2NJpWJA#$T=+H+*uxZ+zwiwK2N znnKzR0!EJBH8`$dTJvcYd$PLd5WEKSEl-yv6eN*Vn;@D0}Vx*S(5%@mgOB8U=m8MS@S_&hv)oncyq&%;uk?pZ%5p5G!xg~)V9 z6E1drd%rL^ZuVV3HO54OJ>tlh7_O#~nzSzu5bopKYvGPW+)cz8eD!>@jNOu)nF z^}OREz7_&wVrO3;um}=dAEzD{*O`GT2^ijl$!gkJazF#dviL#v3au!mp(*Tum`x=C z(54`Od0Q!?E@z-@xqEA@*i+k*?BjPFFDRVhbxchmYluf~wMV@aUhygwSiF>(mn-vQ z0~drxZ+L!U1cCIbs;m`MryepEKazLvS@4`L@Hv0aXG{?bU-H@CzqsTe>YHIqixXrh zzuwAUrMbuVobTVJN?0(4;1IN>0n-9-eIyM>95jrgV z1{K4B47(62*18rKFDiC400}w0^UH()AJ5p1`SF0pj;{GAf~pVFMagE9pep=~wM4lk zCAJ3d8$ZXUO!}p3wAJl=04)|4zIop0$i|sHqYeuMezO_3i}MEMtN8k)3Z3%zi6IGh zIMFfBNF%Hvz0a9H-Mn|ECG=sbp@1U4_Tb{~IbBw0 zXprm#!wKcyRH{CsjIUx_@bgs^&OsD0szVqD@`SX;_?V;p!ngOwURe3DbGyS;n-5+H z4lgt^^c;Dby_aQ7P+n?aRj-^xE0(c4A}BrxL`zqIXMZC$# z5n$ZX!;X3csp_TsIQiM;>$p)mEc2UP}<@`+E8U6QGm*zjpbXq2(sjhvlGBoNGax^ zP_{MHWOh-jIoEK(I`B%T?#WAi*K&q92$>c)yVM3Zx4`>JXyJv&nre0*sVQc0vnqBu zF0kTfT8{CeLF&K-?(SQH+y6s?MHb&<#5g!7Ct9#P3P^+h1!>Fi(uvmpzGk6z+K zUJ6+R&eaJ(eF`K?9qIV?nO_!UBHkDofMd`b9awsh)0WmDVT`opB&0xStEhOd^71iL zQC)&aLy#iax!P?m`5vAWxUR+O$=8eSQNee;UjDEWJDP#GJK zdG?|zR_IiTk7J>ac>_oAov!HQ71{BgiO9fD!JBJ>N$inCg6hQox){^%lw7K>caJ?@ z--l%fB{BH%2_sW0Dzt5x6WcnLwLwlc6or z>NQ1N8H=BZf0gd;!Ky3$aa?%lB)!isZ6G_MXmYb|c~_`twu=yyX-L~Aq%|2awwa}v zKu9Gy$F))0QzdLhze2Q_mWQOidI>cwMg@K(=l16r+h3J17tj)(C~p~FTlYwHxbqJu z@894DrFA!$y}Z1adEWJOZJQE6)vOh)ZK0K9j&1NVlSvt(Zhs9Ax7(UFTkM_umgk(R zQlc=@AetkKrTWGTxUMt}KrQodesroK2a{t08;GF#m|HYK*`|txAYY|d+E(X$Z@sgR zT0*3#3OTsuEbK~JH16~;k#ihI7^zOUX zSfw1e_^?}D1V$K~G56O-XYe$dkHfNd$q`nC>7-l|!;7C_Q=l#F_xfJ{(RRA?`u6ij zp=uB93s>_mrSFF>_Q>6j^1kD`(p!;<(FUu570?=$W`znT_>!H^my9}IlPpcZyE=;x zCOM}o#%2poHU&Opc{Y(oNR8igA7i)9)q(Nn8z2BnsnGMs9QVph2ZK0pWs`^3an zp_$TLc${Aa0gjE?uwjU}g;zpR9ZQueS;hfeetlo^VYqIS^{vXo2$?1>@()xk$|azA zRTwYX$=Q73U+Vh=LITzINRR<|}EF4W(9>U~#iNKbj;TZg!N2V+c3Z|6#UZG)g*G6MhCGJe{&FvR1Q+oc+)EvA=lBfhfH zMrW@o`Zfh5*?h+pmacua%=q3!Nm$LM7$-(>kK}%qG`~DnZiK?_PyGj=y^Fec4=20^ z)T>DoY(_#zsK#i_1)!3E%ZAg4~#>o6Lk!tlUl3jBQ(P0r|r8lu8 zb_9M>L&D*?E<-eDPyqr@03a38wgWcIAyo14M4ccr%^A@}UnZT1xRN$m&|*d>Gh5Yr z0^eNmTG(_EMkm_2RpR1@Lt~nH@Y(h$BZsX$j9}4WXSx)7C%KU3)f@;{BJ;4#dRZ=)32GQGGgQzBwA_(AO) z#ZZU8b)c+%jmoSRWK+wBro>=6NbOc!?ayuY3Y-%3!aR{%O=tNLz zC3BQA(ZUI&ebBeLqQ^jQzlnadOeysG6#DVdxNo;MZ_)KFS3N0sF)xT15D*gw98-qr zRCA{{BYyOI=-c>Wp(iKth6{&TtZHC*@8YYo#YWbNfLec}2+^7{0T;Uj=h%0G-RM_xluxm6%dTsdhpR<{D;4cR(&f*q)sm9dIsOjS?XxZHw%Af>)ai38(yQ;f6A3t`Ebf0&EuLD+-GB!`Y#) zSxdC-)F~JBppZ_z-pM_y%sm>rpkemaB*#*UQPDi+%aFM>$_nXFoEXn&H&|H?=H$o` z#&r+e*H3N#>ihDn%-r3${YUu~|Lbb+Hs(Hm`{y5ow!5=EHC`y!TJh7Bxj#w|JZ_8* zxD%)2C2%ci8q^8cw!YTvw)8di)(?7Z-vVb}^jN&aa&Cay4Yg(`g19tkeUc4hkQ>p!Bw}6Z zn~beaksz5>y?+l5`^kN@r9%6txr)GGr+a_sQQ+sLy<8Jo(q5fuLJ8sYVH3>K^JW1p zuGZM_*@dpz;&yt$W&01+_l@>@twLmh>6x0o68NqnnIx_|beSr0Ri(20N^te;zeh5< zbp_2n+|knJttGwo$g;Apm-6d+LaO+m^LN^1TiAZ0t$ExKVZHeJwO#Vcah~R-JK@|K z61nm1mx{fAO4L~ce7de*xXyQVZgg+CmrHbUu~&N?({IO#GJT%>Ff`=n{`ke<`Z)M= zeE&oBm{sOBBx&)y%G?d(ImY>@g7DRH{jt5!!k6WdggUW!D%)L+T{>TnJK=YJ86Ks* z{jP?asfUXWceZ>?ta|$Bf(E@>yTkqQT)Kw4%!1OV`@!2U?_u;`O9s?E*=p+P)%k0C zdb;bvx2VfIjf zS{cMFVQ#-{F_Ug%GvJ4^K+T2s+sq}PsHvcjjf zrp{M%7C)hqTgr4izFT&XCl}leX#=5+OyQfITt91m@qNgNt#2$= zc*Ih&yU|{!a~r1gr>HsJqC>A|Ncmim2Up z`_it_w;D|QU2^mN&c_X!hTodk*>c=Vd-#uO57(>qIx&0(YmFYEh5Zwf;XUoAyTN0O zN9>#r{XKubq;)6m)*IV?nEJT2d$1HEi|VgW-M&=sM08$d=xJMf#raD5k3*ZTy)5Z` zTv}R)c)6ic@j0k8?CU!DoxMlnKnT(Kvg>w-{9{WNj$Yc`=V8zt5ZTh7@rx3IThAa* z`krtm&p1)7m_y=)5O2A*DnLtIoCoJTg7GK_(_ z#B>Q7dEF?r5$kSw*IoE?J8^2@+thJ!kG}3NZ)9=d1!4#Ye~KKhKIb&TNE}o5v#8%jNRVg}RsMH~JYh zEvHwrQCQ(m`&*Zzx8VVW9urXePwj^8H-@fG+6Hfa9PSmF>NViLZR|lUE)QE2OfqDh zPj-x+Us@RNt?LZOO!!Nh1nt$ZTz6i$HpRa#m?Y(IonI(Rk9jp2Y5NV<>0Gv2yE>(R zaBDT$fy$9_aAN%39ceAg6dFL;?$>r{1mY)B#ZRPs&_Vb-|DC6d$Z(r0^ zxz{Q&^{B_ERJg^uPF9rr5B)wDPL6%~y1#U_=%GsW!@Iu@0`EIl%O#E1Z*LZ{-g8SA z!_IBoF;J}wQFmMBMWg#AckkYMXWClo&mYg7^M2zaFI>FMy;^p@-Z-GWcqgz|?Hk?W z#ube|oadqEccU*=@1Dq)C+`{?axp=F$6OVTKE1YkwFxfj#{KdM zAM1weEBa0}z5b~kwr+}<81M@+w56r0q=&i8u9tD9K1he$a2sn|n4VnH!58V;*7=3_ zliu|^pf-pLbHm#@oZPny+i)@6%Nn*zy?XZy&tH+VJ2)jz19jDM8KfC#Su~qwSD7r8rdYK1$u&`Q)1 zFBvftqGfkKa>KW`KQG{pwnpaT@|N@_Rw$XRD1*8eZSpS&CpDZ1Lkhu3yib zn@sB28)vaO?VPxLtCN`$q0a{ow2Ka`X9|0dpZ(LNsQqciyM<8e&{D)jskJ|KX0AOg zmEc^N+NHdVqD%R-X|vR~xKT}i{my@K(B1yyTFYufztWUk-%`}Z{i$oV>E&DDEz$Xd zYZtzB7S6m2U&R+rIC@Z4LnYchPT+%TmnToR&OVp)FN`WB8Za24bnS0!jfenRTe{)v zhmD2hXN+EB{oH5*IKA}5nStT6Hy-_24P6Y{KXD?;&vd%(25aUcdHUk17PmJSZyOq{qDKCCY{w;T zT-0_Meu|TmIrxZtYOZn_+9wyW_1&wX`{Kku`}_YI8{W>pk4laB()_1Wp}%Oz-Q8KQ zh5Kds*`4K{i~D;F*D!gP^>n|J-IF1*TC`B9PCaAqx~R7tgI#@^Z0MuH-ImUl#Ckfu z&uHqYGRH4y|Cf$NNc53W^oQ@K-z2qf>TWHUY*EI;dOmO2AB5xX23E^;^?v1CT@%W0 zoGeO1?$N|TC!4r+{_d`LtFq|dkiKb>>INw&Zq(A_o-y}?ye)ZRhZwjpVRhz4PY6uILR&Cu7T_IXuX( z?8KA9CFXC(-m|4^pZawA%O$FkSJtz*I|JOM_D*pF+~k3g+^*X6?9kls=P&++FZX`_ zTi#e-+BiN`Z{GANx_MplT*UTwuU@M&mrlQLXUINQ*<7mU6#Uz14h`CMWudHk`Ch+| zkfe6R_o^?KY{;FEUBA@-fOM`g>#-%V~0h zr0v!G+(lum>&~V0NbkCd4o7!`fD4BKZ>)vUc?hQEvKd+Z4U| zSMBMYTl%{jM;;ITXg({(9^p?f)v^MAt_-xCacA-|NIUHNQTJ?z=Er+_Kdc zyiHp0f^Kn(8n@p~t`B@#m~*TB?34YaQ72-d#{1;s^19+s#w@RXW%ry92XlIb((7|_ zcMrc(F6<8??`@&R{S1GW9-X@Ia&hw2n(Im_kxcxWF;3SAMc$d+oVZe*y*xVig!}FO z%k1>x>M5@MrIoN4WAehR8?ThNw-zq zt-x(8^{=D7<-u{zP;=hpYpMQ}!1kBtovd~dn-M?Pn#&UZ?JpW-`)z4#H)k4+AABSH ze^k8(TvJK+Kg_f1Dy%31ktV_dp-CVn6hRRlsZv8x1ZgV?y_q0L=cghN2!sSoq%R#5 zWC_xgvI-=GP^1V15UEn67&2qmI+yXb2q4Hpj&>vv}|LA zrku~?4%K?6QDyU|Cut+5usO#V7DP}V+MxJ(v{gm878`108DFUx$983BmZumx`FQkF z2g&_q<)#l`MKeUIxrhCY%N*23gVI*QiGi$9{A(LC=HjcjQ!_N?YwNq28G9P@ki~h$ z@Y16BiN)=NuD+0QXOmLY%aF+Ygt^yq2ioL?96JNC)rbju3_7E#zN4US`5RexJM&8h z;$~ArmcTth$54MV*)_PvjY%#(=g|Fp_r>IfvY+3*9!5<=mmy^7)9$1Ycch;dF8yU&kgxaGnMWa6?#dNC8xFPi)Z*PjFS;=sKWF44ge&BWgKO2OWsZ=` z7iVOe>}^K8YBCh7VT_fV{^<+5Z-h4<-ASJvC|Z=EOf~a6zI*7ozM3&=urZ^0dcCPT zv};lQx@dsCn{bv$l~Xs{tN(FA<>ULiQrCU{Feeq=VDB)!zAf}Fy|$@0y$*FCl^ayQ z8uJv$_IC*Sj(v7B^v!P2Tx19%@P24lgHpMp>y6#L5D&Xz8C7#%l?R{8X2(T8zwS?e zH6K!J-nXHyxoR0R_UGJaN|EaNYDz$UPlU_ZJ@<9*C|#)Gmn(DD?n&RiZOAR3?;9CB zpQE59^G>C|^KVwudK`H|SiJcg&=u5W48r$0h{e&x63c;iO6w%K2^uRZ&n z_+)A_#9I3+V%UA>?iBqnUPsq7J|B57e^0}#{!#af2jl5I3gzy)_t&@Gm_4$m_X5q* zs_)}Fhq}GKc`>rI#@=0bm+}2vo#Gn0XPQ)e<(W(|u!+Xi3miZF^siI@I>m7s*l2?T z*f)dYUqA8weCh(9#BcnPS7E;7YPVV04a_mTwCD{%SGv$Th!f?LFl;7F`vvDg!Lo9bO zyL3_Xq~<^w%{y+#Mbh@W4VBZ5QDpX5Z1UXMMA(MJW|A-=M&`7MID$)Z0R~ceLYm`u z1ngXoI6n01gDgJvf^P$MBu?l}g=4eBjg({CH>rw71Sl zV*srWv?c&?D!x=-Gp#z^KT>es3p()ZAYJd_JI47YH2^Lc#(o3_%cY{_rqJq{=F%Wb z{fj3}Ledb80r(4nl9Uu&J+A21*;P@Wg3K4?eu)Ty6a{1N=3%Ou0WY?ktzTR?7&?>h zd`XB3*A?oJ%ZmqclI4%flZ%(cww~lG%YPh^%WE?HF`UNBsZTx#vzZ?7socJNx7>g$ z;KTl@=;;{Y&3d@W`6O$&XX8cD>^I`^F-cN!6YA$r{c)1tlfP_xOgDhghO_NHbCRKY zs--@F_*^)C3d_ssJaojt*_KdB($Aqy^P+nS!VQ|P{K&&uSj042jlI3E+NLi}(j=vY zhOAMufMh2@7dZ5irydHxkU#*PKlAgGzm6dr1JwWmGdC|L>6j|vD#!GZ<^R7wviDta6D8uk^awp9p}QcxPOB!brkuj)Z`%n1&3xfU zzARW3UueVk4|Hor8lP~VJ};0DkYV{ea5@f20NWVy#sB!b9N^CFT*>$yAzC%)-iND#nrti0sOlv&Z{MKv-X^;ts7!394Qu*&J#vexc{dEsz(#zHE=JtT zw!?T-?ggVv{p8GNpQPoXoKI*D23y+yO>p3R@A*j^WcmJc%OaVeAD(Kd?+g50Yy<&K zqR$mR;7JZSr<<=(H8}A*T_zuOX%t4hoAWtbG6j@s#qbC1Ht7&&OT*U~Q0~{3dV!ax z7<8jS&6FyA>@~I#QMT8kpSYqjCjQ~?GPrvzq-j<+IdG zDSX47aYx7%IN01sld^KI3bE1jnkj8R2;je1eepo`?}GkwK4DUjrE_C^?Jt&u()sRP zz8t}#0TtGM+^dn>15;*RUuSz1yx^h=nRTK1fDJByFe^F}kZA85u( zkxgXnFpnQ$t~Li8aoD5?!dzx_KyU*)7TjHW`*~pO%BiO2nu?L34c5MMk>1Om*2b5k zDoX3Ly1X7s;Q+9AAPnAY6*43ob!}wcc!r7MhRNi z$Z)gM zuhV1izL{{#cAzB5N(x=i47KvRB6bLR(9$9FHfgSCYp$*J;WBNM^Gd3N*v&hAec$)n z$iylz(Qe%!pwFPwvXD>uKCxoNX$z2*M;uq^9XKm~CULJv%28=kyx8o;p7wIU#|ZX`mOLbBdc`q_@ze5s*-kl!KPI=4ANy=W z+eG5^g(Xmx3Ij;gwoGn^v6L(YR@|BETXC908zr*r>qm09I9k`^< z%gOd?Mrp+c#Zc?4c+pPuZTH72#oSj@v(Me+#Rs!`g}D5B)i*Qv&;!4FY~cP}oqw4B zLUg|m(V#TV%Z*vBWdAqolL(+q0Fn++c=Sma=pk2HB+;jhPYRBjavK0syj|!}Mt*j0`mI_+(0A3ngKCl2d!znA6j4~p zUaWk(l5drhA+G13Mfx=_D8z7nJLH!)M)K+(@)6HjG1nC)Jvz+6Q&^SfR%jbdKfQyZ z%ZSkMhP*UB)UkpD-3qJ@S3BXI(@fGGR0rOdc73|Ed!%EmFqV6TuOPcOv&ZVrnt|R} zNDz|hDFN1z4#!|$nL$X170&Hn)lgJa?3u#Pz0aHNs-}M*8v2oq+y5fx(!ot?yl8XxD4A!O- zLMnf#*fF0*sG*{yLx8d9h(p?ygd(I!$ak=QxU^;}>*r3?RF2Y@E-kx)vPv&r!7Ida z32h8Bx#cg!H3&1BHNV<%|5znkdJPcd14ZL9Q{dOL$#97qrbO1U0^8Tg@_O1c8*y?%K$KU`K%ylLr^}o{MzY##g`A><5KN&ce&TJ!> zo>z&PT(48gKaCbWFL3j^RFOfxS(^bL>Z*p&WE)?)-ddZ`dePi<2_i#QGAg(!%?0`z zQu+EmP82ts=_+qMH}qPB=rT1cG+kC#7JWa|18Xzz-}3%9a*ut3K#V}8AX{W~e^&24 zEnjo1_f&L4K{@2A8Gn18>kt();Pvp|M;ub7se!#ow|fSok*yTdpmEh@0=r1NN-6TR zA_}YvPd=b}7^UM(gU7OOf)*xIk*Z+1HEA5#Alq6hO4`?XZ4KUo)g+` z>3UM*>O*ZiHCeMQuVxbjC$3-CGS$W{MrhVW?ZXZ)mX_QaGr*h1(GA_DED1Wo0d74I zbQfL>&w}_a1X`x-%O()GVc0f)YJtf)v8*)orgYoF+_?PxBaVEZ%=rP66xvy-zSgWZ zcyM<$BrulN8hVBpF`~3(OPs<=Bk_2tp*g4{WLMPYePJt~5dIT*}zRH8kL51IP zrv4;xA8|bCxrCp7#lsT+xIyWhsH1(11-U&{ZfWqtikFkQkQ@Vj|_YFy=xc)i%3 zzl3wn5JoxUYH}qco49iSatt?R7!)Ti>8h4&QgGR})h7KFy#X*-|B#T#jw{YmgS z2(2*fQBGQ-w7pH#Tey~F^+9MLYU)3n+7yy@x8XkK>Xf=XR4+!WRJgG~$tteF4qk@i zTmqCH{Kp32FvS9|Uxe0a7flY;0RBE!%l=ob7lB`RUT1*4e$zSJHx3Q|-AbK$8Wvnh zklVY^iuixJ%72i=%Xy?Jbw1Q_L}5)x6264%?FHFl zdf~S1ly1kCY07paB+R6owC-k_J&%nFaqd$=>AjgqlUFY{C@n5dNsF^r2IoDO8Pl}g zvi~bc5*OagO>AwC@cRX&>;PvDK}p@e}Eg(V$hf9mwbmwA7@-M;g3 z&9*_T6J__Wjphq;Nl~$0&GeS(3@E==p6X3g{F;oR&D7iU*TEEwNk~)E3t#&xm3Z}J z!Glv+ux0k0yn1tOqbiX|KDgd9De0-LFde-wG#OR7Lt&_{cs zJK-I_S17U0_WiJOriyx!q{|UU4l>M0WGQuHV5$tu8;n{au0SVT9NSX8(JYma{0xCU zZQg}Q`JJR2jPlC46akwD19Ek!7RWnI*!1&pmD^E~W<+q>H9h?!4oxaG2$cm%-gHe6 ziFdrPz^-u4ulzf(WP>xfMnqom~&xd@CS=yda^HU$pifQ|Pg46+! zf!~%}Y1J8>Exkof z->lGN@s8534@dmF(!dzq2$a*j9)1OwWY^FiuHaSVOS z7)q4d4?E72!T{_eBgfZ&LStF;+5h+JpWDZ_6IT-E5|eL_xP66J04l;=1GXrtTVZROS)G;peO;boo{wlQ}< zY`r=CxV&S7!{7SDKj#zc44}3AZKnC3hzl=a(;?$I?_2#mC_Qnh2DwymRup>!>?yo6 zn1%`suj=zwA!7PapBts=(CbfsZe@>zdBrLo}lH;mL~T8hiec;Y_%BTPz^X>(inhU{Uc zql+al{si6xtD@VAX+=-J_>3=gcuBck)C&U}J?7b+(V<5eE}#7n0>4eXP-vjhADxPo zM9b(d&lsU{Q0Xdg_i1n0bCMgCi)Tg|duYAb#e|Zn=sVKe@4)jjvQ=(2M)tU0^Gpdm zyGtHe?SfHsWwiDD`wKGiu$p69fhta$bYj z@Hms(JXN=li=&DATZ50pk1_hQ_+T2wH!yE_J44LMI{{Lf5WH8`hs z?n?Ikkf;mB2&)+cvOKExfZUpKP_LkEVF+uyHVyod7xvE zn{VDOkv3Yr&9i$)&&kYhE3WC@6jeVAQP-QY2#zanj(aiD`Dc}u)T!(gO;@yBY6!$r zZst+djZDGdEO})JF3K~iBNqnKzAnNi*ujQU9HkcF2UqtZ`1kb1Kk68+)#T#5=tyPH z)Pc#;{^63793JZ6`R`q^mGYg`yJuG}GYZR%GSfc?Ld#VwrhuMHXoH*vp=rw! zibYG#zByrx1;ys*T6}abZ!VSYB9?wy(?Rr})qIx%o&ORg(Qv>~{p^;?vFQVJVjuz3 zPs9Jnf9*lZ8;ztM*R`A3M;!XYTP}OT&;h_qLtG<@BfQi_PbFHHIIBLZYZFa0S>$PO z0!#oGtNoqs{IA|>30S|54Qtre=>r!@r%sC4*{!K`yYcNezTNh=OQ)HkVE~{Gbe8Ac zcl?)wxHR54R3vwfb4T0@K6q|qnMV?Xe)zF@viB5pxKe5RP~daznqr0P=0wBVIo?qT zdC{<^0u1^Q2ctDXa7nB^40?vLzt%MPy&GvS>60$0XAfPh*jGUcKHG6xIyBvyX`}al1tW{X7(bDifd8P1z}VMBMY+nrFG=cvp}$PTgYkX(yNDn-Z59yE|33lu zkGyjSJP;=`PCv7`>Y2pm4{gEsF2d&kd~q&cf)xw-Zfc9->|yw=t^XB}fOJfN_#CHe zuEOHKPeejP#9LrIL5kB`FrS!fWY4XYDDVn_ldCbamF$ch7aKt zXI{?15zc(0ZK-L``**X)SNHW?T)wQjE^X^FytgO-T^!- zwb&<{6I589N4jX^i08hwKp!&&mDZjhDai)Rs32p74@B+QZ8ej*$g^#S^us~M!SfR; z9d?Phe@$Q#4eq$k_nVaYG#0>3QQ4oQDE4{r3SD?le&j(qD{2fddbl1AneRJ6L!=~? zTln8k{%3@0lVR{Dz*1b*3xl|HP&zlO1B{ za6}XZZ1*oNu5cfMq$zn>@Yx~ra1YYQm_Xr5T3NtBSUdiR zqdaPKA;UJJ;y^n$=}9B_>vnFw?0mN0 zGUj0PSE}Izf&W(ur?Zr>q-ipHiL%|i2lC8$8&-*PyLGT|1blOE4$f0g1X=R`B-vyG zH>FFo`_oCGzj*hUqCg;!A?@!2WTSM;!ML?>0nk z^i|J+QP_l10jGJCg!^D;loYrVNB)bgFwvZ}6~+H$r}-50SA{(_ODDu+Z_^=H{-TW} zO_K3jdExt=VJaQ&gWT~be;vAOv!w=ox*cg+Ap$a&<%@||*zVa1bt-5&joNnx>|L<2 zZ1p}S8*p2tNLTyn2NwXtmCfp8)K5G9k69&HQR8Fj3Jhe@aE@PSVy&0A%A=S@txS}q`&96MEqo4 zGp5<+@XV|(V8|UXT;&-`xC9Bi-PENfE3Xt=wd1TyT1Sd+;-{Py){uvM$s79ol z1?6(Jkm~{8-6z;N1KDfR2PUk@vopYeVoG6Lf;6s9H51v8=HYzA*95TkDIDzHdsZZ8 z%8z#1zCH9?By`gG+$x|bg8+9XO)5Fvjsb7 z`)48cj4hry3S+0FVt8U7-!B8V;$OTmy?cS}MsHkdTn*cKdBhP)t77gn4{Iwx+qk2e z|0@6Rh|WKsv3d!Vq~j(x5QTh^67?4OqY@5GQvjG-Jnl0`9Ijz@$VfSR?XL?GpXh0k z1u_^=q6+i_n==ybW^?mvS6Jn)9WXbVi~40bO6toJt&z;KixT<5R3l!n(C8rkgzNMaob)yy}_yH@nl%VnJQr?)tTC;i@QwM zmD*>k+;6~XYVHw6IVhwXS)AKH$kP7i&`>H47s)f}@@3`l%8uCgEr0haCXaiyUqiZF zIpIWP-b+|V{s8oh$rSr2^_8mw9<0a8P?l- z?>kTpIa$kLw&PpQ@n6_yPiA_R@I#{z#hhnff^(PH0vq?9gH+%B00udf;`o52z4kdU z5lnxt{O{CLk)lI|4QXt}w98YmvtX3{;O5k}D|x2DW(oNtS8;sF$A{9YIN0;J8b1k` zf-7Qbban(fBkx$YmM7Onft&^LvZ@*R1Iu)nLZ~{Ly5+v;L$;LOWb@i<%eXnIR)cH? zRIBXEOTwTRXYC6tb%kp3ZhPeN@`*9rpp>ZF_KY_258E7S1Ei6(6v>%a8>UzWNHg-R z%Zm#g=Dh6?$#`t><3wCUmIS^M?_U$6eX-`jZu1qnDX^uk4p!H``HBKP)n)@2uXy!x zakr6zOjs~Hy4Hu%HtXWLZN9edN;D}9kj*QK;bZVDUdmWpLQKz|J7T286T?XbtX)86#}(iAY7jnQFsWd@hzVv_^ZkQ`Si89dUws zRKh4*Eg_In^z28m#`Iq%4grIo z)xMLOnto=iGQnLcxxmo#97$r;mHdTdn-l*fJVs+Z*^Xx}RG`PrV!Ps$)8Msf zdq7obOpa%A`XE`k%Q`yxe0q6kx!ZZz3y$1ANrr+MAXPq6>={Kh^+|1dR@8Oz&Bm8( zo8800?P?GLU_4-H!UZ?k&%_Z}LhSBir;B~Wcj!qMhF(Ow3 z?4Xz~{v|xlw2{=cYHwQ;dDcw@aI9MD$R)FRbsXnkAj4oQ+xG5zWTuS%hFQFtk;OQ$ zUi7z448(o?;=rC0&+2a2U-4j*<#s17r=Ac2%%yQ{`>#PVvb_>byTZ;vQ9sZ7=$YSq zrNJ5XD^jd0#HI&jGw8HU8F5W!?%1_kLA{u8wlLTt52okQaw+?wr4U7x%IJz@XkYqT=21Qq7dA;b;sT zOx>ql3J*>pOR9H>>)FzUh6`*vMhQrlFxc|BuhEf9DSWl9x+7qx)enBHH5p$jgH&WG z0)6}O0(;U`0AUVWd#0^7U2#~pj^pyRD*n9vry{?>-h2Dcv_orX+v4?teJ+mL1$uij zlG>=KyD0}IE2rLR(Zte4)L-5U^lajKKi)j^goxkq6BOTvW#l;v!S74GI`Lnou|sU>gyc=Z)lV z$m}~?j96;b=nC@zI@I>0J{QR70$BU))})SH`;7}VVQaZ4(YAL&?KmF-pY5)wgD48= zx?$Vi2j1rg6o*$3B-0<5DH&~QWx5UqIqL6c!y{6qmBNK;n zMge^iM~!*@FOWs@kZV{Ox>9etIx}G;4(~q|WfC0WD%IO*YC1P`CuYH{W+F#e4?kdW zn34PGaLQsz?=Uij7#49}&(3|Ej>C^(BMYJw7F&(gj3xCs59K_vLll<8SEq(Y5`dkD^S-;dpkvXoWXiYXYAS*^lRSdC@VCOCHYdB#+G*XpA^p ziVwVJf)wXnbHX%4-zO|$Ee;+TSbD3#cbffaT*0wFe9W$mr z|Hut6Oz?AmNJ7<4E*yasCK-)tldCgh%8KHBX`{lZRsQO9a7Kf|D`~0Srg}@!j@e`z zs-vKbG?TNSP)bBb$JJ4mKkE4Cdh$Uh<~(i`ta6G(e-#a(adv z(E3MZ2`hUum_>hYQO1JSZUP0fOt{c#DSA)v6!yI_IHDZx$h(&sJN|ufp>0#`c65^N zQf|j{tx2U)Skw2?)(m#1W1d3cHtY(ozD;MYPPg=@Ec~jPj`AuumiTm*t1okJ7IP>X z6JL{K`=wTh$`^FaK&vxhjF}h^;>Kd!T1nq)%-(Kt9}EfmvxSiHi-9=iQJ%45bN?v| zrmV|e!gu8=?uD5wVh|F3Q3o_XH-z!}14VaN2-kyOfE}0{b!<_~GCk{<8>|BjD~!+7 z70K9McE=r!3kIG+62^=R!#U=TKFs#mh4gJpEdTtBCu>lXQmgT({RaGvf+*d1NGT5P zmq}p-ugPD5F^Wf8&W7T=Wc7kl&xlQKFhNq9!}(*kH#7qIoQ-mQRdiQ+&$o$OmI9Yk z9|1CnB-G9*xO(faJL6vbxnpr*?)`R+<*4f7w(k4G5Sc_fQV=F@d0{9Nm%VG+_llNQ zYVxB!46q&&!|%O<#8DWd+6x2Sh0hd#$(Q0gF!OwW?7Pxi_}|vfQub$}ct>E1RwE(u zR9ympdOXQQTI$zJQVNQEotRWC0vnHX6Sm4W@zVQhD~)2}GGD0=7X{RJJ8dmdlxIe2 z?SY0>stHqGfX79ctV*r&Z*@+&Z%xr8&AWfC8>qHk<%iz~eJL^ycbIdtReSr1;LGdL zralDDcBgBocPPItbpN!FL#vA(i7X@<7ea&JKGgkZWfdFs`<141$ZaJE*+5=py!eYo zfarZ$H^?)OB$=Ug;#9qznvMffUhM~}S}wp$ouS*ilgLmKv}oUp9z{ziDcq#+KHfvS zw7JFC8720X5acgp)=!ho^-y-DkzoO+wv_obX6C9vyQR^rC&ibdUlLU9md+gK-s zu)qSna9u&~QS45Qsyj$V&)4+iR^d$wGd6#h+9t4QuAkm(n-&w>!>-oStMz6L2pC3A zDU)cHykP7uX{Ub$v}kVc@#AHg_7w891(vdY{&|yF-*5Ni9+`^` z{a=$5UeaPp#}P@tC^s>OUPis;}H zTKWSQ`OOtKFQ(KRcLzdSC<9Vj)}Oruq{%ELgh2U)9^oDkuD_(^YBfyN?jCo*wg%Mf zcAEl*9F!)swP$qzJ8)=hz-smT_>T%dRz5{imT|Vs;!pk}_udV<*?R{gKp*a0%#Ute z2_>&oy~x>teatr6fAr00TOJdN@Tt~NWWcb(!XBwh-!#;8+L&Nl{A@oMTSR73sYB-- z59+G)M(J6P30i6sKf2-8t5SE?4sqVh7h$XpiYrd~vYvyfh3}LDXkSFHUVkD-N?vZw zA_1|p>ELYIg+_m7fTc4@<~lT$W`+KEgFE_fbCsI6i95g3B$WDbzer2kt~lq5bYz6c zUOY6ER56q1O^L1#s(Lu!`YNM}Z%%Vl==Vfo?tX5OQyS6H*v8y%Zk1LX-^Qh7Jz(FK zbY8}AEG#?y4ziuF^QMpiaa~~~e@JVaufAeXAy2k~5PiR;TxA9HocT#;A&eVm6Ob1o z8h3zB?8;AY=erBadR=@e`Ac&yW#4Zszb{cP-)xh3XS7l&v&OJ^NQi|kdfh|71gLyZ z{;J$>gp%Flep`4gxQT^$+6gRcFl@SG>`H`9-Bgh)(BF2*hs(K3JD1SKJ1BfJx|`Kz zQiOQT)5{UlGId7$k@+U6Rbj}}jfOnkb#+}_25X~Nr%4X=naGr)KVPMOPMQi`QPLQ| z782yqk)@)FuA%-Y$>|i8m%BolDJeutcDs&)lS;<)xLc}?40eVBpJKV@YnIvW2x*ut zK2%45C>jP*4(W@=PeBAX2?WZ2f*vT&oPXq0goGW-UEA*IX%q0uIBGjMJ-e-iU z#U@=o(Abn`KC+Epbky`N!{kE)s(FpNLtret)IhFliiT}x>d0Ga2pOnQ)Q8{EJLgT*T}@GrYhjFhdd%mKld-Cz2fCXmhQuAN55_m!)?sz+h$rQKh9xuR z2+@piBr3I#XklyAkmg>(_$a?e!0n_bP2v|X>t4~h9{pRRW;iY?VpBp^uR5XbTIoI{Zoi%-$bVC~sJ2@+@^Wd8*@fo0t{jDKA^o z(U1)B4RpXoK(faY$IaCy`rsz1)o0hQRv-}aPBMv_P=P%0v<>u(R-*P8F-cI;%95_} zSiE1T$?8Bz`s*U?h2;}jh=rFwQ{&JH61niqokurKj-eN=feHk{oA>#d;I40;$E> z@+~B*2vl!RJSIK_zF)aUAX_eE7gwldn%_YdUv|lVgz%S+CPH5dM%lTT`w*f{aanTo8 zMi8g?)FlSS?hW+EPAJpCMq^R-vffRx({^|2l5<Sz4?vZz^V1Gfl$6b}IKN-)w14A-1EvK%aFHYeIDm?p@T~Zp zUbeI6*(4;coMAD9QB4%&j71 z9V$~$_yH~!+j2TbAxY81A|x+YcsgFaH)(hl!C!?B?ev$qsn;l}yn?2n^Wamv4z3ai z0*$Z`R>)OUIXkC8JFOW%m%u+M+?p+y)azl+X+=c{XuNz#g*wcCJh1KNwZpjjJtSt6 z1Par=2R4c5$lQ{I=-+xhb$Rp(2T^n9)HL0SZUP&-ZZllZcboQW6mBpxrdtU*xN0i|HV*;s9D=XlT8h zAxNWVaAWY5!vir{BNK2&-wkukHJ7clE8wEYd=ac~==g2- zXxHbnux}4Bm8P-}F&F?-Wwwxn%a-l*>Vi#M3yL{%735k*|F$-ZzVDtf&|sMfpQZ^LPjil9j(Kx!oBI)^%lS1pKMUOk zwSrL#Mci&QRFoypiW{K8sfpU681ml8!bc+%LO6WmU8cXVXbkx)gz|si^5s#M_x-Ke zqIZ5T6A_a8=JZywI%K9;ddwjLVLZCzpMdKONc2`^VMSLgsGR|iORCHg22{C1H89oZ zL#{5W^6K=nVBjQ#41x`K(BKy7SnQo@{!RFUS5q@HZ$dT0jpV4paO+}COB%>Tyy#mR zL5S7iGA)E5elov8iF#cFiA=k=t4=OeG?12?OqeclFrGlg&ymJ{XxRqxq^ht z*Mu^!1JeY-V#vz3g^pn2(?^xs_sp)DsZA$7R$)ERjzi|5>+dcGDwh#UUKZrBrZ?u& zd9(c-Fxn4jsqTA^D$3UJrF-TM4_o-+Cl|jllz!FlScHlWxOWsntgzge`#Dx?0o99W z>r{%`S8hss_KnSIrYpl}F`&Pr`d9fzx3G-Z(DEBk`yQb06cZ7G>E9ZrJ_CQu7Tk}#}G zwJ@>HM8vS<50Cxw?N? zf*_VT>Jf{Uq+Tq%Fpx6n5%p~)X zC-r`!>gBNM89b;>mXAOH)E!3 z#&g$8deO|-Km&pfzLTY%Zf6jDAdI9F4h_XZ&F4fdEb)A{Q?m&;8_yq^0i|-UW z+v22Om5izh>Ijq7>_3b`y$?pl%=sCDp?*$D8E1;TfYn!7vVw_xIgpS*QP(HUYpN#e zETU7U3Rdb0?PrAGW%KYqtzvB3lYB5zVih$hvd^pAs$bN`!>6-YwwVRqum*z&O|%!x zMy@-(-z5YcilM2BA*^y}6}m_^yGBBODEE*4 z76UM-n`jeG`Faen5B>&m?$w}6X0@=W%Fe8x`fO6}ZhaNRlU`vh3R;^+fU_UVO}-G? z3%*zQnr$q`e3b1)GPfX75A4*b=vhKvzm9T=$>sTgJwG9qJgSQ`Urg)a5l3rd-?y3H zol^!jMT}@{TvgflDuOJG`ff9%xyye))3*K^4JHf$_ocO!OnbyusYQ7fl7(jRMV|Kq zl8hOzV)?AtFT33Or`TiJV+fo(w~`U$ODQnpOKaN;bqTbL0GPT1LrXLiNHY8Pvn2g& zQmwWe?{*XS2a*My%14X6zS-y`Qij649Vd#>r3r=zQ0fRNTM2p&lH$wQnCjtiQkT-S zEgU7zxZp^R)`0A$#he%ZeoBV2r$v6{GLcW%yKXm&n+DeS9C5tN?YQ5Gap|v{KiEst zJyVdYh3=o4S^sy8JZlIUU0LDB+0Dv)`K9;V10 zAtOp)R~Qbp4;57+MmsE`rdlMa%^#zc844shV9~1t!sxv18VyoUyDapLBt$n*%!6(J zPOjcJcomZK`qV*6@nr*J5?+=Q`sjg3^r%(l`~HbdT;HTdKPcDu+A~OqxvfJHMVjcq z|DsgWk`&&BWCSRhh$=zB!43Qylo_10U!lfYWFgX@xc~UWEse7W8mQHuaD2Y540?;~ zVhhwtls6*KoP~{_bMYX zoJSliwcI56nM@?gZIlsX9+2faH*av2mgZG0-~~rLd1`LpLy4x$qzYtpDANR=u{5oE zQtYzDGl&Y{z{HMFXrzeqH?OGz&s3F}Y-u7_sdtEGeSU|Mk?0a;+pW&Mg)k&dJj)|U zK1G?JF;3sqyE*cU_}zs8xM%SqYCsp4k1)yVk;!|!!18j~S*XLn49is-N9<(Q`bgfy zu0xtgS7|1?M~u@osR-^Tw)AjSl=3DRxrpG$pLZxE$z_Y1Akdq4_u>b}oL`g2-VO|E z2PrufNDm;NTIUELr!_Tvxr(v3YEy8x>1f8qZUJ1~SYdHICR5=b4c$=h6CXWQgLY^Lk6z*z{4SL%AqNGoyKqK`# z?BGJvy9kM-5Hl57Szv?ornn9ByjvAkJfnRi1cE;`FY|qpbBL(d)vmEepK>%*JipA) zd8~qA&4v!UB4_4lr?h1uHg=d)@l!DwxU|;^0Do`f4icgt8J^eZ4#?-X7R_*Q z{qFf^sr$y9=Bkcq_)>*X!ZQ_rv+npS{VDJx>O2w%Du0+aaWj zZ@Ly2JX!6lMlq%X<`-y%353g<=!UgM9h-HGEhVbLlE(_Y)ni5M|Gk1$g}_Bjx}Pz<&;S*m&1_WHe<_*E%?z1pW<)QFqw(*w z(v(b-obT4}Jxm>*r;!J7muw|4nH5T^*DjlTI++r_D{NxE(HKf;)iOsM*GzY2?}{ep zKwhS36hbsgX>~QdT9YpfC8@jTjjz&{q%S=sOMgeFN2TGfSU<(aJGCh|;P7wwQ18L> zv+iQLc#0jY?(OTG_f7ZRAt9>bubWNI1Pn|&{GgXK;nWwsH|wPpieJ6>*1v_=aB0t6 z)3Pgi6A*5?A{0NRKM=)gtCcHpF)kbu_v8$X?R#PU^kM)0*jLVPc;Q9ik|_4#h2Tev zSNOi4LQNRTs84^(R)2g^JL+0eFpTOi9+E2-qP#Fi^5#D9xE>6EUsLF5qt_MuxsO53 zL6ZLP{6@KD)=;l>MySm0dU{}jfM{||)iV_YsaUk0YKhBz5~iU^8Q6OW>wu9UiD?<$ z=82BuFG?DGo$Tsc&Tc&<*?B3kdwf+XXuC9 zJ&KeubjO%Ap8EiD#1VY(Crv!SAy+dzm(bhurO5X+?1Slm3GRnNwtQWK)l5~lCG3XO zplMF2l1vUHBeQWmrQW*j3HrkkN5i^Do0>~v!=GEOe)*SvqwbW6`)O8rg<{AvGj|~e z5Bi(^w71*?HTH{T+w`p?s1dpcPg4R~cV_7Q)ProCJ0wE%C9630jK5X08f+?x*Xcm} z+XJ)#xBScIYj+3bO10M>9v1bme@wVCZ8n8PB^F9Oeq8C{P7FRkos-s~V^o3@*&|N7Oa{p(}sn4$^Z^C{r}(H?*GeSG|j_rg!WH{Vxbz~|nUKR=NC z9nB9v`Pv(JLHl2uo&llq#!g*r^2UDhbz^?l1oOzfg-he_9Mr7Qbz@HNoL`OmU&~0O z&iEN@_$vy?8Y;07Jan?4esjERUu+lT@{zj2Uf9-OgI0pE?3D+k9kkM)xW<~v;Z^PZfKy^(8 zGRHZ6iYbG@A|QL`%z4hfr7%slug5+gv2`0%RCj*3_8!+i;`lwG*Vt-mYHH8-+hf~C zF96yx&cbVeUFGlV*fDkeu7UiUG6fRHGI-yH%7%VBd5ioN_>^%n2p7Bdu<`5y!j7kz zEkX=W&{4DA-MmM8u=gX!DD>W%m+qk%f^zubv3tnD{Z83Rb~@=z?8cAm?||<+S^@?; zMlNv<0RHFb7XGCE|2c6Tb~N{G>_Y`lu#g2obpR%3Z$#}euw!)pK)aMkUG)svat`_% z)j@7(XXKZyN1;7MVUIue&y{WuA93_$hzCWOM(I*0nh@ zbqwIc!WQ|kJB4jZD!Z#Ym*m5YLa#oTH|aHY8e6EhjrihI$S-d)9Qk>ZZ;l7l&qRhe za;4^XK|evX=2*Ke)E8m*bG-K28&&c;T4kIc#HBgpP8%jM#C1A1t=s1F=Chx6bn<8N zh=d1aOK_@4$C;X^kq7riKZ@}$IkoZ2n^C6#cArKUejXW0Wen%dHx{N1oAB^+MtDPc z_+RgAqT{b!R9Wx2x8{~wSJ*aRxFpG+=i=hJ@uvR*{duaFZilYirW&S8oW1G2<|W{6 zECD;6C{tEe$=KKAD%h^Z7Oigbi5c9I98(GODdam>b^dm!+VJeQ~Jv1`c=N(p@zjn^HaKU+ zonz0b8m@$jaTrl9Nq(UGYBz-nS=7hpyAEhw`;FpBMym8_r*mBOga5z|C?1Hw`psW} z3S3o87RhE=)GJM@BuY7;?J+ack`Eq=8aTp?DHAhX?c(QMf0)W=le(%7c1QSCu@G?O zPNcIxj+U2i)28og14ZEXc_{e#9ZPVB_Divl^@pH0zGB9YL|e~7TuOPe2dL2Who*W2 zNH1qiXMPF2gt=sLnW}NNR7>B(BhiluMr_U@7lhV2E{^UPdy-BE?`DE(_ z0XYoqJfRM;z0Y@SIeb*h(0*0n@jF?qixm_>_=9L5yObv{yl_S>T3DCACH;c3Le-hC zC-KF7Gxq7@&)KH&&pSgtHE_~(_;LilJF`yF!nhd&q}J>!)H2Br(JT~XI!Dhno_q&Q zbt|Zq4W}}dgi3_h909dwN9ddx{fVy}jT~5+@~AzcO{GUi-d))PfHJ#ShuP8BrnaKp zv=DYX&^d&lQP#Y9jkSjIlr9 z#lTH~o82h+- znz4~#ep<|XRh0S1d+FJu3w4UzRiTj6Q1J7rflI#1_LrFo_}6JLJ?*jM`>R@xW=w_F zkXZely14j-PkFX{*M+H-KN#%#HdEZm29-%p93Kx3Rp&^n_ibo>ACvYMrWPS6w$+c` zsksS5P|4??I7^&EI5*C#6zrL(&Uxo&4&7K^ggQywumbi_kOIhpf`fl+5CL=dpFzCM zf&wH#5o2Q)r2Y>E<+`2$Wf zZ2@P{WPfc6K&Nu^Y)x&=_P;#;0l?5K3@Z&N>kE0&uca)UFBb)MV5a~g?nL;N;M?TW z++1q2ToCLOV?*k*%)8PKgLJ@b$ln9d$-pn5-2fFLWyAD@Ib%#)rzFXYX$t0YJ zCYOwSY4YsM60tEhqEj~z7iR^)JxMio0_O?}p1V{S*3WrJ7JhVTGpwI+-?gEY5|!8&fiIyn*PiIm9h{`5~?6yv|kH$z*TlNv&Ko9g>bdT0Z4 z^Jn3ds~$t}XHL)v_wlxH${$}1?O>S+3Co+DAih}2t=1M6Z4ZTu4 zCGWR;%VH>Z+6*H|ewHo_OTlQ0c4L-uL`o{_b3Cx&*SU1Qi#)43{<}y_P7~H=uetp9 z0li4efa!%DJdCL2TK5)cnk|~A&#CC9*b>viKXz^;Q5a5n$s{4dGi>-!qf#C=7WjFO z0#C3s(J5hlkagxiFk{A&_IO)_pnh%RYnkMcP@a4e{=@ZWPeteYkHm+Mb!Lmt#1u-B z1hDLoIH!>udSOq80AZg##ip1gThk;8=Sbq4GnX4|Dq;0g9<&R~;vl0Ixz~V6= zU;nykLB4M6nb}7FGx4$dFL6DbSCHZ}fv>h^TLZZY`Nh;+YlESNwpN0#S1gZL5Ts3b zHg!9;YGZN&Jaauw5*88gS?A5r1?R1v!+$uox!*nWRdySbPf5x{z(Dx_ScvEwTQ8#+%li0xmLTBYXO{b?g}rC5#ib{bMOtvL zmwFj`FwP2N2{1#@Y_<-Ymjsxan0jhgw>35mf9IpMANetqDEKXKqV<`N+|k6uM4tA8 zF(4s|g~2T>R4ogLuMp9GU6T`X*lN9T;lpiSX{WN?(n76}(^Dszo1dFM^E2ut1rBbMj555=lZ0!N(>7bF?Qb{5L<3bhI z$#0(?9Y5xBwh#uQ4s(2EY1O0UZ|X{M7}6)IgAiKxNzX0|4ZrM z0;HMe_Dx9aG+gpOlUA$AivC?F>6KSb=|mtt+P0C8XTi(bL?F2XU6M&+&|<|!{ll54 zbk~_r+w>F{)V8}Ds}tf>4l@;y$XY0=XVO)x$n4K8P%Tp9{PTu)jdrmDm%(vj^!|+I zr0@=9)HzkB#TZSCP$u2{P;=g?<^m{XM(x2%N;nNX(^N8RIoY$Sua8B0JVg?d(~gzO zam!dR^>}iVS$to|>9bw}b;04UXdZ}b@mON^V3ity5cF?DVs+x@)d5|qtQaaycOIWE z!>BKiJ*s`Luf3X_56W^)Di<)-oq{+lX=w8`Bn38? z>x30H#Rl+Ej(19{Vd33Linxp1o&2d@S(&wo)c$^X?9*Qp8+1H8>wWBl>R=`9D)&SW zTm&?~KGe^$bnasr(LtIvd@wEN=j?3P+Ak1sB&QU!%Fdh9;*Z30Dev1AG+7^NBHH1h zUA6a2tP2|Jx2_V=ojr4DVNhlAuV{2Mi_QaVA^vyWGH#x}IfnrWt9K??0JMzTi zy7GpLGDWtu9g@Gs_4P##=q52}9&(D6a;%yOWo#azevSUaneXlPjchXvNHx_o&xW>g zZzCHhBRS^)GVCt`MtwuP4;M(ozPjd7ZgGn7BcMYA0a~1ot0g=dM)fTe<`?2OBwUj7lS^EnC*Fv>#x)%?SglSBLdy_A#FtXRE?yj-}&*&j%? z`bN{SYMMyxB2$edjZlXT=SPSA4u0{@+O}>Leyz4pix3gwMlc>7GX&AE)NF1m?gUW;=SK6s%eKw zh_PBm%MgnC&Mcwr^_-BObt7DprE`e|dk$4R(n59q!*Q}L9@W?RdiGH3dUWhz9GSRN z=PK6nIq_haxD{R2l-5SK=uri&W(~8czOmgl63ZzjEH&!zQ?)V^;$Y=2Jn81EWuhh7 zy~}&-v7}|RvAAkg7%XK4#BQht!zvX7J5)!=c!3%#@JK=`FAjDG#no3O>rP!%Ov%66 z7z2D?LYy#9lXBf8xlpK&51$jc2PFu3sjf}ZZfa=pA<{{#rd?)LoqlO?NOd}$)TlB1^(8$OcBrQ?TJSXs3i8SN=DKlK7qtBsisa|G27 zS<3L!B|G@$(N$N!N>tT{{ZeG!*U8@#LfB1t4H>a_@+Sp3XwIsd2X#?>~7U~B0*}&+8rim zY(|z&Psf-CGkKHkNk%}T*Bw8^$ zbnpGV=Ge5P#Hr{?;8j+xT%w@Mnv|Kd26G6*`u+s=yDLh9>AcSV^G-xY}szbpGLdLTBr??6*RNcZC+{ ztub##GjnM-9@IVLYMyN)3Z7!JkSN)kQj>hQzCF9_(tvu!@l;BT%YO!D^1(!vIa7{z92Cj_D4v8%0p&Gc4l z;2BKb_wQ4Q$|y5NA0GWL?IM99E-+D{?VK2JL%c@%R4xqIICxoOjN(<(DeugrkK>rW zz^|aZqz?b1_d#8ioIgU#y28z<(5ltr?c1l>Ia^ch5!f4b<4i|^THK=?9%koX((|S z42;Tg8D|JF`8|HF_Vem|*CZKRhO_r+S3GvNiso590zOGS6}4r;w*T2NewTaB?{pLxpNdS#} zu78t*;V2)|td77bzq3(Egs^g-1bQV@&nU%4@`1q^cC35W*f|jYUg&^UuI$QZUEYz& z2(Fo>NaEgqI27(|%l9xDg`htO6#-t*rWJ;9v$9q|H-@PS|Bl(`Km%Tc8QuBjq{n8! zbjz~x0>wvaxqJMh4X}kVNrSQ`>zYr2CIU@PWI`AjcSe^vv3C6AFI0R=sn??8Yol6hH1W1oe2)`BaWT z*4Aq~M1S4gS)B|--?=b%za)@=Zxd}!-9}+goK^C1Kb&>0XuEc3HJO7;< z(QOlA`O@{G_6YCpf?m0=j5^m4aZ>A3a6PQ<`(AC*^lq09YwLHa6<=%*Y^#!ByvqPp zcx+?BG9 z^UVb-*|ImCTE09%M0MbxaeIrf4J>sDd%a**#Dm8e|DDTxD$<5_>L!on#X9hPafvbpIL|`als=JY%B-B*Fv)hVhKxGWkjH$2vYns+zvVM+Gi&d3q z7Z$~>5C5{3e$$&%rJ!X(p^&5#y)9>4T;G6Dc`qp-Ml#@wm0lfBmA? z^V)x%e%bDri7WC9dPBRQ^Kz>T`gaZxU#GmzmlxZqQ6I>k!*X16%v8qm_v;=qk!p zC|*mT*lv$892)!{UXg%&H$k;SmqH13t>yo7VEw&SGX78N+?@S-S`z3~e^bIzbNy4S z0KcRqagV(FjcX2057Ti$lh}&;BXx4hs3y1gHIuFO-Jxe(gt(qf-rtQ*y;@1BA5rfn zTg9wO3;SP5#eeD}gMVeHcB&G+_CX_uf{?V=TJ0^{`HTBbDY=_Lz1~YaB?NI{B}JsV%F-UVV44^v!^F!_|BK z?&Xl&e>fe8@q~|3#?E&80ly`J>^p9z;f7m1B8LsvHKotX{el|w_YRvlKF<7lRw}%^ zyUX*bx$a!wD`B0e5hef1>an^AMaj+E$GLjnYl2mk^#|BGV*SG;zoBG5C7OJ)Hyoyx zISiitEy(Zey=)R(GSk&Aosl~r@grj3-n&^hFC}ZJjg6nhJzo7M)>BZ4li$U1h5Uto zd0G;YO5RirGpEE2e?L5aQg!d3#Q*2FwSPDUOcvF@l=m)wfVz7F4Np{*QZOOsG{dG{ zX~!jz(0Jl2V|`LQrfD`TpK8AFb3I*QY7^$o@Ec{z;%?ggW{PHe!b9j*O*;Zry;{KWF=?$h&|n%Aw^LHU0;xu`Ek1T(Vqqo)iXywct; ztfG8^J!^khVS|}+Hy>Tfd0;~d#}zOY8T5MpaPAPghp`5xO^4k3kR1r;=}Mb9-}rN& zA!%NN-?J6>Hkrzb1Gd%~sOOPt;oJO8RiohG`{&19$ioXldXH}O*5P{ct3n>i->?pc z9p7zaK~6xM8GD*YGQ}73N8jYWp6|ZtwiHuMU(>ZqXp2{pDX>e57{y`wu@3?gc^I+F z3y%9Q@iEtJaeVGj1ApjWhtI31^a#A%?xpy#(MuK;_+IN0j7{?W8WyP3p^{K~Po4jC zx2H@4+lo{nrB*?@D9J0k6IU6kzoS2B?@3CY)FX@|Gy6;-^H>pgKU0tKvm?b2WRsZu z-R>Dvjpyoun^$Wm;*9xB_(3S!9?UhGISCsMZZ@g*jUdhmy`udC94ES;&-I=ilwR+6 z{KJV03#To;3N%}7-#;|M&5zs`QpA76`wyp8X7SkXkT?6#{NBe10)(O8WBE&FamBj= z^Yr~`@6MPBy$7!-v%Ok(>ms!D9`j$3xk)kd^P}gvh0Snk%~WeG--15z;uU`(D0^sz zcWvUNKtc}H->BQ5*qB~YIwMrf%)Mi_O0=K8-}&3%7vZ~sjietBuYwN~g7x>om61=< zh7fYk`Q^Tz)_v1=NqSTJun7AP$D!n=cvF$b_LwHjx8_ae(#Rt$>uBj-Ygq&g8@3w^ z*fz=+zdKiDP-Kd8K~lJ?%8k ztFIB_e;k>BC27P~pt#Q!Yn;T~=AQq1{qu%LZ#-5Tp z0hKYeXX?6Y9?n5z>O*^Cw^(&Uv0^_tIuiqMaO3WgD~ky;FYVT)#s9E zvfkit5H=YX?4U$bn2sB`E?Y8>sWjx8h^R7jv;WK;iWrh(pe?Z={biz+&rlFS zk3ASsjnEbRLDZ^@Ibz#nlPi{#5xPCJPf4>k>4DE?T-BV-K;b0M7Nw7Oi-3!Qko?U;D^hVqddDjtM4qh z`(HO;bL*U-^pd=yLW+o5!w0h1y-M@~9Q&#rG-z$B)Hy?WK|Q;esXBCgxqy{``9tE}4$L!W z*qx+T!u)tD?xw=8a{kiJG}G)0a^sj79hvyaJ^`-Q-B*kIC|*)GQS&l%rVu_( zyoj8;bI)&PH8HTyQWG2HPcasz8%JH!CS&>RFQ!}$UE>CmMVHsj5)sYEzAIwEj4QyYW_pHocoo`<1X6uc89gG1|M$BLz(xNJ? z{_5(>jX&@L`wV*6qCg9QBb%mEfnec8WD zn`6?|NF&DY0E?#XR-zpZ%;iXM8i^JTV^BJ0pB_R5ZJ_*P{kz;x9{X1O5phwa*+aT3 zaQwreS2p;HFSPDI@C5rM5#M2W$xij4gGA}DmJzBI$GPatc+ibc+Vj17GfV@hwbFbV z6UCVGlpQC^=(qF(8Br5^ZlPshqicuJ?(06TP%pBeYGq4lo^T zrW`@+rp2fF);!3AWQNLl4wTul`!_QhJS}f@F;Q7#a<Pd74*DuvJ+g8}wJm!vk41%N4hTI}@QC$=46>c5Wo2t0X2O z$9*M=^WIEGl#}t=J6fm0B{v7IYkyI@3fPVwtL{ZV;~rP~6K6z@&K)!6r_pjZfmm8P z&+%jh{5H2_vXF5o*Cr+Sy(~@f@k+c)o&J*TSHR_vF_oE&!Gt5$=MRA->n5eabcb=t zPhkf9_3SY>o~W`f#NN#%iaKmymmx9*YI{m|12Rgj$#CP41^c!?LTq8XtOioLA+BT# zAbCCWDgHiz`0*s^B|#-m_x9pFgTy;EsOsU5&n?HIzAJx}xJq)Jr(T&=R8`KbesA>| z)#McJjo|~pXuIGdBt;>d!tsMJBl21T&ok;-#>`J@O$^N+fft3f3sNGSm_Zt^qzpDm zNYW(h7fOhUcBp!-WgOT~0sE@n#+EjY%a4Aeqg56Ly?WUrSvUB_X&BY`lW48u-c+#$ zRcjO>UG}kF>tT69;t(?8z3v6K{bhAxzl@cBmatb*t4k><-$0qrRPu%9A4~roCqMkX z6+{!Q+h6{8Wh_IZdxuZ!U?@$q?gosh{!MfA5S}pmQ(nJj-3eS)Oivx`RLOEksuX3K zAgw*_Hp_w0jdhypL+tzAD_oFiTc$eJr8v;e>B+UM#gZaKOZ+=byo*vF{eob{MDeL? zgN=w^PI_(xVP_T_xZhA&T0S$SJ1vDwKPt&_-U@QlAq?0+*JB!!tx5 zqpZ>?ZYsB)diPu@=27~&b>_0e`s+Jw>Il3Eb{)4RjBC8V?Z-ZQ2cO$Je|KafF|2nAN`J>bS4+nF74n>6%BvVv4SF$j6 zJn$T^vERunjOrk9PDtQMozfzE+=FU^=jDfIvhTFauzipl(%PNbUK%f3JScSN6i6CP z$exsJD4^z|)X4ez3&G~wO2tBoXT_oQBrY9(PZT^5a4GE@6D64ed$2$0=G7$LLCkE1 zcx5m!TN#x`^YtIjrrTC5djsF8TMt1mmyq42|5jBMLZb;gNc$Jb{hCY_K?rwvZ#3~2 zQ5iR$_@SG|Ji#ncqT4;RhEsi60w3pU;t}{A-)zK>NTRN^3RTL&J#B@S$q4$HZ`x#^ zW(l3Etth-ETnCs`hDh!eeVJsIv|pC*NoBf=9=N+4vD4tU+ur8H5bg;^xRv*0%x4-w znDUE624@06C7Me}yg38$)hDVDR#Gh10w2Ri?F(P^0XJKIe)jjA|3l}_2qhC4X&fem zEaUOA?EL3*Av&R`u4REcZzP{hYpWDjx9j>b*nam-CVZCjz_}wA`zx8-p%BgjR`^*>oBb#q^jvq<3w|#0he=6QyqK25r_1uK zTf7=pZqm2Vn`%gt=)=A1kBZ|A!7zSQ*0(sI;)I1{qw5rkCGqt+`vV&TdiS3J>XtdU z3?8j_spT{`sAmXcvS^ty^{{S{8z30tm`w-_4fa&yE?aB;Ry({klDR zSsNK8{uUD(ct=fH!K)mXf?zv!)0bqXCTwWb-far^2JFW6U^{+t*$mt&spqjLi0ol} zEf};r!(D<3K>Ktw9vTwls_Z4497J(D%P8?mB!!fV3;%W3VKWYx9#7mHPVI3KUG|Vd zMc7LUhNP)*&k)}e z^HlFmhcHjK!Vb)(9ZAYlXhMy?t-H3B(k;~Cv2*X3u#{@mTF?of1+?LW~o`k7I< z)}re*lua+$!bN!C{XoRS&O(J6XH`HqLtYnq2c`R)6B5kEi;+M}?Z|=mlaP>M0W_WCKaU6IJ`DkmUi#-i?N& zjduKT^ZMBL5Cenho@iHi_LD!VmlHkwqoZjVQPSR)FBYD7nlQh#tn?*PVr6VJm?7v5 zzN$US?hy*6`n6r_i!g4VJWvI8pC0!k6GM#Fxt(!nGuKTjqSuWKa^v=v1*dw-lF=?) zw92+9f|^)v4^WM6wn{y1vxBQ?HH!Uvp{M1e9QHCB+Ez~H58Seqa?5@Mi4Bqnf}f03 z_bTJ|R{WgH#=Y+eja+#D!$Iy&XRZ4Z?K_7G1|b8DZ;W}IE6bQ4Q}Na4KC8US4h$LY za{xaaAOSNj>mb~vETtCIEps0#ypL|fG)Pj;xGZH`a}!7OjH83}Q_(-Iyxn1b%MXiG zYt}N~sZ!GsiS{6I!+zdx^&*!mBg>q<&r1P*amRMT!na`)GoayDDMYy29#=^`J_XdJ zS4h_DGxVLp8tW|e`%;^GFFVK%hm^}4P?xx727K=#I*fg(7pC)o%I1R*Bf*9S{LZY5 z=d81_EN;p{@gF^1m_do=M|ugNyM@l;IVQism>4vFXjzdQ^@%LC@iVH_;?J_Y`kYk7 zqZ<*m2Z7V9uPoCz&QfpOJ`JwtVu)0*-g?Ft$m)*f4j*3c1Vo_xacoc2TUTD#c9T)z zw*b}n_zND~Qc2zf{~iygS;>Q9)&78x=RKa&26~T}prRZERIzUO^j-BeuL2fmeThy8 z5dy9MaJ;}FM?$c|d>RABK$8W@s{7>kqLxJujC(}!hNm!V$yJ5)@W&CuRY6gYKL zYBA`WT>JkYwcSyKRtbY&&(F^fq_3%v_2R}Mq4p_`j6+oKk_5&f1!8{it+>^#PMkvw&wVJ5PlKKe;h%=3+oGk zg6cKco@-h2-trY{vRg1fRzC`(P&=$}j37&q=WXJhrUkIssi`>t_W8CkVPW%ODJkF$ z@529s+pe0tC6H4QBKrOO+YK#O?rL1jIE5+&9M8}e9LLDW*xzmc&G_z9IzQy#;MHC7 zflB*$yBwm##Khze_$(qBd|J2d4LAac*7(AOgR#|DU{s=ic*n?n0A1Rda z^OAT)`hIQ?1<8_`e<{||VhCe+bd>^>S0gqQ6B8r4;VA?f8M@`s)6>&2LMPO-N+jvZ zH}>i{K+sy`9TFO1gepG;n`glBDk&un-5OKKk%Cqv!pUR;7HvY500^mx@(J%M>U{0*kW$W3sXIG1b(8O z#Lb@L=twI1{YZZhtWB6m(Dno`aiah^C_)1uGXUw)-3q!(o*aMZ3Iyv{9sIyHtk@4c zqC6CY*^`W3QFp<>Nrv%se(`jzahvdXvGn7q+iqOxM3__!r+7Nj9gbV`e*16qcuNeL z($;qhH~fb{s)$&25yJQ*ql5hy&ex+@TJ)Vau6h z%lWN5v_vRl9GtJ%AS6WzIT+~&gjA6{a}!T(QbJ-afUpLzG9DDf$tiQC6A6G^UemH= z#DGL_3fM9UT8Du~t3)zH`tLf12!qjQc!s_GRl-15&SLuPpm;nh>pu*|bKVkp=BobG zd+Hc@1zw(NPIY|ZtJ_izBviZ&Jy2#3X*tnw5~%y3Wte_+@7pawBqV0&jE~-a-9E`s zOi}b3$C!DQFy0jDZMgU&%aQ}Gs*ma?|Foti^M9o}d{c%HaN ztnu$Oswv-+kbfL2gIb%aH{IxH`6*GPv9}b^QD|)hNF(GcF>i@*8!gTEU^px0M)oF# zRCGXu`TvGue!!81g}0!&h?Y({$?o0A`5dIM9~`%yS4Y`|lni9xM4a;5agRGorizYa zH6!UJiO%Mi)|ZfwkcXUUsj?O5iP|w4s;|8R{wv_u zrxwmmpGAjtB+mK#5}NjV=?_sp~njXsXI<83H5(QfODAe+nwHQ5o-KoRP!%A%bz;GXY}?Xm+lT(m&P&;cYu z{)~(iTz8H-H@%dS$}8pdtxk3$uG;~<;!gX0AEeLrbQxr3E_T6H$vNRQ3D>X`Bk>FC z;?&J3cpl=albF$LHUczfhg!8?b#-;MKTA2L3t^i>9MUQ_g3zy(0037t9q_;rDh6U} zl|GzdYXRmXN+QrOh(+h9L%Up_<-|Wh>f$6J$+AZ=nKJf->z)hjwQTGpgub0idaw76G}xKsr3bjs!B=P9BChlE>R_)#&u z^?1!18nG}ZM|yb%B0MBioUPRiiASLfgzkVOBy-ye_hMWI^v~hGxu?P_cjxHFn_R|E zMI23&-;}BT3XyP_u^nk&%b~iaZS_nL-SJS0QeNkGg=9$bp@elI9`*gOD^RUspzdRISG(n8D6%gMDm|4o(cn357uc_&*o zWjwGlP@R$Pc61yRD{P=aB#7~Jxdg+uX1jMKmQ=>`oqQiH%2%%v1_^u8Ra#yeayV>K zn|n;23V*ER&G$-ok<3R2eY7VwK9!RjcKFL^HQA@d-uPUZ{41G#6CLoc>WfRH$*8CL zje`r0CFj~|hmnC@?aLEmMwK0vT|fXARHCk~9)sK(f++nvcyZDAQ5l&)R2IOtiun_{ z{?sCET|HI@bW-s1(W*z6>dIG+v6x!_{uqUL((Jr|b!th~m`7g&wr3koI)$YzIk-Bo zLiaAz1dKP-8n)s2>YqLds3rOTQmc)62BPLVi^D8Bbd)Q``*BVcDQ|ncIA1A)!K?^@J3*4Fea% z^p8W<9S0U&BUM2f(D_N*@$sxxdLn7J_&4E)@dgx4-E{SYuk zhe#*^3LvV?4vZfj@C=ZP&Mh-BFxCHfI<|lv0pE%DEiC(h9!78Nt#jsYt5$A2V_iY# zc;|D-q*eH(u1{y`=v#3RM}UIwdYn2Ihd??;dngFzW+3$9tiABrhrKF757yLRk?#_j zR7FZhUuRQ<|K~XYmdq%pyZd%zZYcvVgU3j2p8ws8-M{^WEfWtI&D$xEf@2tOv;4z} zGGlDShcUjxMYY(!qlF3ts$V9P$siZ9a`yW!*=|`+=T^TQo4j3m$S7A-)6Zq&g<_DX z9v z1)>9sOdvw(%jgfr#huYPW(A1J($3g+CM4%q%3*0Yo|I-gpIu4#_>@bXjNN}G;no!o z*-6$|<8ysOT4Z}c=aks#%ZexcSa8bC$CB-HblNQM$9GCnab{6^vtH?2;!?GFF%t+2?sD=>cAc~TGUxF(PNPLtW! z`}tC)zKx$97{NU<57}egD!&z83Jci&!?`4m__d#w8S>ac{nQm9QS-(ajyeUmhs8|1 z06hzk!Sd#PWtYZ>SAH8)Y{q~s!`S>!k7$p)PS_TzN8ZV@=De0B%*xSa^=Jp<;KYK~99@sSHp$PMNaE*nsJX%79B~K*L3=|K}<~uII)F*Uj zEAMGko>A{MW#Zcr>~Y6GBX7HMH_Ca-cGNqt+M7Zc`MW!`?Pn@oIAbUJSOxu);UCUp z@t-Z4m67DF4GYJTbs}-Xm5{ly4wAAO*H?!(X;BI<{^4B6$UpI!KJ9g+5n`Q?d`l9^ z9vB8`)zI*u#Fj^@AR9vibiQ3gdOmUP!^E#~f69E8f5_+6{)XuLlNCn>k8=mgfW8wA z&n}9;Nr3lQ#TN=L*D0beu3>L@rdLkw zbbI%{E!_ww(deArQ`A3a5LkY1w@+I3U9Ru04@^jc>(@$Yq#~(n?cP6}cN&wIYWs;T z9)gz0H=RlvnrbV^9cqVgJdEn!MX4c3pTd_ZD$hcy`W3Wsv~EDWB*iX$?g|&5ztKk3 zF$b`V(092CtVrwuC}rHnr|A1j$)6X31aKn%4Et*n?lre|<(ifviY# z7_e#Xj?+~zm%yXmjbfkswgYuO70D3-g3i2L$$ z%{6-GUa8=mdMlgA28!c4oY{(}oFsZPWA8Df|D0vF_m}g}-z2>YBP*TWMT$tTr-5kZ zE~!#GjXA?=&WB>ZW~3-|TTXwVM2Gmoq4MP*m_6ZYcNL2^Qfwqg^T9|#W%Ds9QY+wjAbBf#;!JEAM+!S zyX1{S(}a8CXZ*_AwMz6Q$*9FrT z^_jq$FNz!AZDzg@nWxbCm79% z(moL@Q&GnR_sZPbATp{!C{etGSSlH~5SaZ@z&s43lc^F`<2Zc6xw38a@^VkD#&%5N z>8nL5j-SeM>B_2!W$Le3_U+wW&o*hi?qAT?`>fLz4f)xG)s}ySKKU@^rjYNz60p^p>Ev%$X0i&Q%Bu>In zTd#_u&8~9W$JA-U+c3@W>234s$VkQV$7?^LybuZmK+Ko7_BItiZRt%oiC(GV<-NAv zhDfw)#yaHgK>Mnkn_(lF>ce;q=o1@SE169>R3T-T>d!xJ@sgPW^!&yp;p zdu-Ad2wfj9gOiL-6BY-*oO$ET-jD@FJf{lAJyv zEhbdD4~e^^q41VI0kYY@tx|8iWD2wt8;B@$5Hj2L)sA#aqy6<3$>lmF%W2p8N0)-x z*WmR zX2ZyUn~AEmQ)0u%{Y+Dz*c-G&!o*nWnkaN7msmGcyzC^j zI(ovV%H^{u-dUK3I5Vx5{SqPe8NUYmo0h?*<3x~xf=r;>kuarKNrZ}S(`xc`1KT3?^c4Gimj=9r9crArsfc zfEDcFuzX9psB7t($eD>>G!f%>#scC-_kJZ}Bjq)m5CRGR3qBU z8tyz`B`{hgKy1U-ZEt&`+8TBCB676|I@gYxsM%(sw0Ol z)o86Ek(`Mp%@z*e>GIdFPG$8XfW&1RNI?;9Md|#6jS;|$ys>XH7%&&7d`&2g-c8yT z(MVUuU>H*O;F!O!$w^Y!@@UCDR`-0(Ul5G5U&uP#4sDzvgXoK#iLAGMBmmfs5{2YR zxD&KtrJKr}KaU03Y9F?o$s6SZRYb`0$%nzEzbVyU%dJ(qla0g_y?BR0*C{ z1-Aw7O(GSf4CRfZPLjL>o`wxKBR?=u4q4_667lfnCpnDVH68hfQz?^wDg-n;oYNf= zK^h?#0e%kbHrW3^I`{waL!pX&uJF{mloR5yYS}s^hx4f~3jGwz`Mee>uV`Jh&Y(fh znp@OAD2J5BGW3;8A97o%fTS3pp6&Cv3Tu+N8@(jIk=%461-IHvwE2HY9BwTT7$=%2Uo)WCpXo33q%PehMfy7r)|Zk!%qJm4lSGz({UgGH11s zb6%^VbTspZhtm*P?jxV-xKTcJS8ryDBa7+(=IC231v;VA{~raSTiQ2tpCSfZwuX4y zSK}teXpxxK#T$Gk{Y=?$J07xLW>!3!!1bopZdbdzWRDhF2EGYODa7M0L@M8h0meHq z2kmg{=>apfNHX0>?)TgFdCrt@fF%q&@a~+A{2$J;DvhChoUV8g354fP`A6x!f`I!n zQ(;y5gvrHnEUyz+uH!MV2&%rEb^pHr>A@T#;B(VMgKR1sM zEzSE+T>j2-@63@ew3*OZCWs1U!u#!<*(VHFXDq~$m&BqHz?SM8g8qR4QuNPA^)Mau zDfn(`U%S|74691@h&^{PGm0xA@qqbFTJ$fbNR(ZY3-fy9Cn)ChX<{@eMb@P8GtXws3pb^}PV}K{aJv?jXt;+i8%!cg8`2+pXyPUe!O zwto!Eo*YYYzW{o>Z>wu-oEfRc={PdZ@m$`9Q=DQ;CL%sN{v( z4y__&tk1796c%4B!}2ULc61+3Ov=dIsgO;(f-v;<6--7n=Nj?CJFZ5mv3`wHOZnfk z{D0_ih0y<=y8k_T|DTr=J@?kQ%PqTMyytF_y933g_^PXs6SJ*pxP3^dI(5)d5wCRK zv?cDFhiRu=(-*lu_mo-t@?!E6I}gl7c2T{fpRK{Ya+wz2>z2wxU-o`hI`T=GsVa;r z@nBXd;1i>FE^yERHuL|acb!*(cSj8WKd18lo|&c;iS$_VkDFLWd67k}txGi)o6vNx z@f}77%ob{3g-{olFMOTCu-%*JM40-CTO@`A61K(t{gNqM46N=DM1{j;xY^7f)zG_^$S=t|Cg4@SRvT{4Vl$mFxET0DBZ%wu6-WmQK6#v&7d)y=wZ_P|$O=Cc zag*tODvA#aHL$}SmaE|iLN4KxO<$RHO*oaw@LetN;L7i_9O6)U| zDEO*vXYlfJLCt?$M6sYYy^Gy*Ur&Wbaiuwrb032@Yh!c=i3!8 zLS0O4)iF@iBySS$oI}yj$fM=1NN4}g|Q+GQt7zG}3R|Fc^!8TSA{&zK{s zsU)ckEw373#};pwWyDQP{+T=O*ckC4HE_ZrUD_^V$Vci4@t9`Y!}~sDXo_TxqY#$WlH<39CE2%7GpYnEgX&XO!ek54D z683-gH;1j6uh9zYG)E9~GW`{nu0qbbO`Ft3=j;0nHHY1xeVKTxS8eMq{zz6W1MM+6 zC)TOL$K=k+a$i^+(bz(J(th%nFQV>^Wih3xB-5;N1ReAlZf~i5I>%}}r=ug&KXBFS z9R9*ul4?kq_&y!jM(>?C9lcc{%P&1NtWwFqVlSHtQK^G668N#aNG;pxBB44MC2MkD zdO1|ZVp+uaGkgv%9G`KxWA^*gX4mR-mS5#~6% zd;0MpmKqxeZD9~Ee`1ceVvvoew{uP|hh)3n&_{ngU6)Cu6}6}IQ$7xuRNFPPrwfjy zt4=#Teo7Q?B9oKkG@cuMw!!6?C3hJdp-Cau z%Xpfo^}8At#Hg9>0jh&mRkI&1_Zw!dlj-GH0_PLOaKu9Tj$`c)*etjB27CT$h@|;< zg}$Si3@2dK_Kp8zNUItZa`DDuyeHUv!lC22QJM}cjs*FSx{h4DB?0a0nF#0pXU%6F zh1Jzt_$)0=o`IC8)@`43WSZ<@6WxEhUq}Zz*zO7M65yMPyAl46xx%HoTdQytg(tCl zWqk=-{@LowW3cYrylyvd5RE=W8^qV+N~y(k`68}I*O474XGKUUh@>Rdw3&iJFeCk? zlp=J1rm^f!dY?%z{JcT0^dVVJxqmdZhzw}R4#ubol5DzF63?0Jp?1WE-1{^Md=Z7P zgwYUos4Beof(yL=H@06`oraAc-_f0vh>^uhnpl`L<&5%6iW1VK&sl~JQ0RBgugBT( zDeeZvOzOqN};eC5K4Eh_t`@uWK>;I5{*weGyp0k0Mxjf z5wr&&TR~d8$!ZZ;1cmA@%7mIKqa4szq@E0yX+qEurt(s!o8a8pg*-0aPbjxJOEss& z-5`G@ahCXP=HCAjT_JX6!>vT2S2~vkTzh-P5Z@uQJadNQLIY`bp#Rbt zW(m42FG9mu!t)N&fRTfd?LWoDmK1MM{3RvjL=D-PG`5X}!+MBpw=)!Ca-OCw40tg?NCHPmGL@A}>J{AE zIJ!Ce3)+)2k`)xRl9!{i+QD)w4SMap_qyAsb?ZSLv4OX@j_$LC?mc320a9372R512F6C`Xh5u8g#fWB-6yo{q~$TM6G1 zoTUS15M!RQg{8T|N*_u47vwy!w2i7B5L4v|vspc&;1PVbfIgAJO9!kJHvl;cpdLi8 zrt&OBi+Qk>xG~LkJ49)T_0a<8Us6TL8UcA>q!Yy}+ZI;h*KK#eljA7ovZ98za`0jJZ*cLuH>H*uJ5!!vW_- zp7GNn`DYH$-wAVGns^5zYXIH^It!f6!Fa^L*H%4T(-Xx=|C*9|7l?6O2?ZtdI$0&r zSmC&Mmt7UWI15Kn@u`|YzeBG?>FYtw-*ePo^x9T#K`-i<3?-%6+IBMTv54Q1=;~!* z(E5#}c@-~t+&T&b;8$?pxuIf$0bJpo`?3Q0`jBi$RnTK8Lg@Q$%cb(vcY5McRXU79 zjlU&UHdi&S{SUP`lDn9liu(oA#BU03p4FKOk_m&)OF)z)46KPiJ zId1K=@7_LHU|Vy93oaPR;d;+Om&u$In9>m;WO=3C7GV_?slC^@fLBqz0ts6p-6%4` zw;I@cb{`3NE=SiWm;?ET25r`cfM|6jH$Dj22WyY;)u=76+Q=ot#aP>6yYa|1cVfN0ezJ3^6hg|XvT;>$Z$Y)M!VQZ(g;45ND3ywL2SO%dwO`gzqj)4C zi9WQaD!7cH#54}&{XVzftIZ2p;hX4>2*t*z@K7j^(s20Ckb#up+~&~RB79I6jbgr< zzFzO`cn7tfrUDD^==g{z$7SH#sqMXuuE;(Sq|UGylr6u>%ug9Yn<8^oCtMbmZAOr+|x3i`bb)m zE6SuQ3c07oVo-0;>zfJfJ`!p~Lj~n+U;UTlDXXynYwmw`FXG-JKkfJ16)-2xgn7I> zYGT$$f*$A9xC^@)pq}zjum?TQwJeY3qZ89XZ6S@=!J>n^`FZgjZu-@^sY} zN%Kru%Ze(4luA(OWxTRHY$k}MH4ZgM@+d}3Jfm;){pqnN17uU?XnN-OHQ-6>^HtCs zY)7spm1aAgl9o(!RTk`~zVl?3@)+~>`7h{2tsX;2z4P9%8%eh&`^&Zu~B4lnN*OjbZVW6S41u)xLU z5*-Z)!*Ep|$r%=8Ry5y)>64UZPW62_+*khF9u@yyEet!lh0IQ zXk^n!>M{?SLl7+Q63_1P#QF;0eFC3`LfSexKuc?Eo{721F0|?~A?m0s%5jZjL=sZ* z0P-M&Gu}q6hl5MJn_U$z!mJudw<|DWA~L!J1+_(?`{IL`d{svQW1Fq5?PUj!ktHud z4{)y+G3rb^FatS5j@14DDwup(+18;aK{toHe-sffDLE0pP0~u z?d0luFenr#=Yr8;`t&F?VEXG;!L}P1h)c?XK%CJIE^@R%M=~FVl;H>}a8P4GA+3$s zSNbiJ`lrto3FfO2Rh(b#+r&x zGpVl!lAqripg;iBNDTicElBHd#^osc@km@P8KZ{c@cBZ0Sh`CTCR*<8FE-`>6o(K* z6thIKBM}5*bHVzC8#vMWozgM9C*1udtdBd0uNbZ;L|y5nUB>irt;gA;pixPEFqlM=DKAVG%7k%|MssmS zCI1H4-wE@<{!x?xVub_=WB~|i^*()riv+;G!zP25z{6w(3w!sZ9asqe(+I}~vynMq zPHfrL@gd%I$=AsvKlT*DcU_1{ShF&(D(C=-hBh7Lg$c8yrxTD>*Sykh66DBUP7pi4rcm&F~ku%nnB35wUKLaFDb zX&xs^{nO=jG-NO-$Mo%xau+Jifj^a?0m1qFhv+m-p5${BbBj^Lx)zLADqw46?L=75X`UT9T#Vlj1KoEsPRoMXl zYo;2#b1(roZ!EWg{2q^&Vnr8=nBEAsUbl#6nq@%%2K;PAcWSf9H@*U*Z<Xel=CaxuZ|j-2-6x5~e5(Ood(1mQGUpmE z60?G6SfPb$gyfrKuPVi{lp=z$9Bs>d)Lpq98AZ;Diqcv#fHczYnGZs@8I?H7!61I( zax~v7`B`%a8W;!f$k!I6*>mr7;#B}}T03f}sZ;k_rBOzvP)5+RENog(h=t4A5`u0- zCu?f;0z0T$varSSSke;6cPW!C3M-ze5Js84rV!z%LHt6xl>&JsR3l{Dc?$4D1J`Ah z-0slhl@le60HxFJ{ZGHB5e-@^#sq4OW;|&u)8)Ly1%U19CF9z0R@}FZ0r!!BuCClc`Oib$Qi=o_9rzHFFweD z0JD4QN%j(#%m;ga@zwNvq160`x*!CU(~>D1@Jwq;Yf4M9*{VO_bXv7_070;Dp+12% zF9A?N91ww65XP)knT()*qQuu@ll)o*n`(907!d}H_Jlb}7E-dt=Fy}S~+ zy#w;?2COMG3gr_7?JWkU^I<>*Nll;#D?UG_(^abo*J5@P9+p%WgSxy9j-IOiwZ4%X zd-!(yR01APAhc)!aY#0%2jR0IY|QS0FIibyl_~Y>pk@Vt-`?|cJj7|O4ur3?wCEeTvm98o3goSUmg46CWfoFV)4{&$OW zlvrfLfuJZsnYJ|HDyWM0YAV{7)(qt_MRGL}vv9Uvt7uL$k=JllfoT@)G+8KXdK8P% zX#{h>7}wP@UMOOf!;MGo+IM)TpTZ*hMxsw((9}6KA6P zK`WBQ&S8W@Lpbtml6s@`5yM!z4eB_1cyrt>l$A?)SMku&=s%nHmYT zZRMhAK$en&W#HGZy&gN&u%R2?DMYs2K%}hg%=$Yf1pr7vnhr1Yt}JoP1|q9?<@5lTC#$7e7xc5PC44 z@=(@@4daK0WO$y^G?^b!Hiew`hSff=r49*_yd4Fv z|1p?U%?EcU{Neg^B^<{aa+~-ha@V$Gg%v(FR$UN0ooKxbFv zK4BIjcICwva*qqDU5K@Nql3W?EG@CQi+t5drc4OUJHV=x^H+7@nJgV$$28CcmwtP!;`)tAF*W*dH*XY-Q z$hsptUQ(uYmv@3XOMUfLEG1(;>bkNU`F+8~#E2ff{u@I6)#(Bn1Mg%n37*A2E#q>m z0!6_l-r6u;4HQYw!MgaJ?z@IU^^Y?@6sEadB~a)D3~oNza&3htCTIpJ9P% z8Z~C8Ggra$w$CgwYv$a&YB$lEd!4lW%f+A%bBW{lw54^LPV=}Miv{@?O9-C|SuzM` zTPpBCw&yAU$_uevB6yiToEftm@-ZWfyotgGC_9cc2*a;j-Ro&9$`;1GWNKAqYe4H{ z8FzDVr&6z{1!(aJNH)cYwBl4o%ej(!^z*n*H*h$<<~6j7dVtMAUp*$?K}B1KP=}RiOoydVIR|Ca6iBeyDOD`aBAi$`oXS zE{|~59WK}O=>u)L@eXXAY4*Y*m4#yslzxOP?=D)-o}C{ zWG7hu3`^r}Ua;v!;q_!UeS3oVz(Cd|A^BBaSwlPO)1crm9m$&l$|@kFb{4!JQ+u1? z5V8w}TOqWx%8;ifUG7e}X{wNwfHt=8Tt%-NT0B16k)6y(Is-i;XMfhn%pF!*632YN z{D?s8Y2H;)H#B20v%&)~DW*qJ$2S_K>4HEyGqsG}nHMp;pF2J3@-xhcaiDa7)Kqdp zYyAq^Y&@qe+@emDj@3e)JndmVOqQtVOkxvUSbQD*Y@T4Jri&-i=b&`jbt=zx$eL^Z!5N-y&5xhMJOBPLnTW6g<$Y>Futu&Ep# znbe%qk=Agl>f}jJ`G~36?sh>^h*ywGf8sA45pW)pwQWJ8OMtW7MT9Qkm9iF1f0{0Y zM^=T}uqTO2ih%HVrix96Q~H^#o7GvBHy(4F z$xl+hfEo8QRwllSN=iT3M(#+v2|P;i39Vn2TAQtWExTwISIjQ!ZD#Eo*?(~`jbqXf zQcSMEm~CEsWbXDooXMq4hs3k~#@0sXfQ|RYtlsPZrk=7K19TL^ev>`m7eV+*yvcHB zUpMbc7BYU-`Bv2K*&u3}vihVv-a->cjqv}>LrTZoOv@_>VXocrk1LcPXw0TE^FhCj za0SI@s&HBcqG4ukF!^A_k9osOOk6%gM%UTG0&w1@Dno_{SQ^-3qF>}rWdwMZ>;Czw z3kSN9yomKcW;*o&FqY(0r1W=%J@j#JpwVgLCyfnBWd&%>D>?DsWD+YsyWEK-Mq)G} zLAMEw6_sBFN!iOn7t`+;4kCg)6RO`}ZiqA7;GhN<&QdC6{NXn@KkOo(HQSoM_a;Wh zw^0V~<-L}m*7CJfgT-fH6%ahGZZ#5nrvsnf_ox-l_ z=5f%(tI>VfxgE_zE#J-Wk%Oy)gC9(rCpbuCYr3!Jxy9wpfaBM^eXU>7;4?qC19s)E zWqRUPYb&V^Nu{FV*9s>lP~n+>6HW0h4i+PVOcw^=Z$q5fpL>^vD$dg`;L6V}6YKHT z!R0#kWTDbeXxWUQOAZ91eixsK>Xa+_4cPM$e#7;jp!E;deX)gfdZwxWge!K@ozpxmzZx?8glq1#2v;rfMGPO#E<@kW>oT}k z`IFlbkCm!jGIail*}zHKAE3$>BlHSHdCB?(X=h}iavM}$HSbWV^c0INf7pm4lufV= zl{+e*nAM4pQV>c>&}V5&wSTY2on|{fJN$E2F3o-&r;B!eM>rX>)5TiS-`ZL|fzMTl zq3aOsmeu zv$(nV!7Gwna@yy9X4q#nULoht41X}y36%^H`WzFZ?Qxvj<2(d8=JG!jTa-;YEL9fk zfCdZLxSFpNmbAb{&qn+*%`XYO8DHU^by~f8tJjF)ueBguEF!Jtz_f?E z-jwJH)P)TzNNQRZEaam^+2+uleN$|>i_PC9p=mCcr|vu$T_Nq8&e8=~%cE{s@2n@B zU3O^PpgHrpI9j(Tj82@Af-dVQ)ZJzH39j+ZCXCu%OeQ0ixmpIHyN`~#HpvuMb!fyDrRJ-upEF>^Lj=X;hPhQX>s;Ct;e1m9ft z>&XOf6*X$jq-tt+ZPVRy)tr? zdhOJCGdqbFt<=m~1Ku3LypUVMUBawOjK zWO+f^xrBCIeK98V1sXpJlps9p*Qd@1)V?<{UQIAl3U(w^mf864cb>?ugz zG2Mxg)qGX`k0IUCdEbad|8;1j9A?Aa*w0Qvs&;w7Z{FlY3)%kgjofRb=i){tlOhADPx6kUsJ>J^8wYYb>;x}e?56Ps)0X{N2ap?6nF#!|8&)tb*>{Ue4PkvM34 zKVX-aQvLFVYry#!JlEy@-i}7NDSoJs`3NWUrJif5In``4_1q58YU7yxBqDxOsHhF^ zLq&RB%vi7g9H*1Do;*wSheC5hJ1%G|Wk4$%OwX@n>w8akaC&}Pzh3+|)PLU3D6Gfz zIYFYm&Ku>(VLRJFe)XKv@YfUTJnx%oHsO>((~k^Ze~d(I{$(g#c*0RZb08ZABbtv8 zifL3XKW~3}DWDk-O;A!^| z+SlxJJ`hvRNDB8zNwiN%0Yv^pXMBs;#;luN;Q`;AxVO+J4pl->pr2%u`BL~8f8>g! z?>f46c{M~q(w?|&`chj7V!r_^&!3I;$UBojT}e79-ZU@vv$0uAQ+e6FtbZG3ZDbB@ z+Ys=l) z&(6s4x@Q5C{XPpQGV`)LYgH3k7L%PK?;0Wu_snw-MObC@o*%zI6dpw7jhFGfRx>kB z^r#l+W*KSVCcEXYTl+Q(v^*FlKD;rnn>|o`z^i^ctBz7w*QR-5mJ{)nDF%{uZBgHM;`0xX8ZtghhweEY?h29#oil-#$?*$#33;jb1 z+v1%;*vNe~aaqF1od0IDy1i&n{pNAs?5PVI7H71tklyt*n02gbg{m$5T`%uoK0YdJ z{micXl#o)CK#6Z-^B)dAMAcl6j5)pi3fqzvm>;e+0@mdiIxtTWvX4D!}!09 z6}zUeg^GRB+Qv8jT;{i#=!3pOpAPUuy!r3vVa*kC&u(W1b4|cKuqk2+Q@Dq_3LBX| zR9z;^n0wuK#m_jZ33Me2L(r=RYiykpO1r3uiYZYuWdY~ewB0dXIFUdQ&Qfg z?7i3hd1R#PC+DlV+CxD-t?zJnSG)7pqLfGIYGf40TK4YD+NL{w9_nCEjV2-@R{|{r zc5i=@zA^ionqLlGFsiIM<2mf_WOTW1b~_7KW>Y+Tl5FG7TeWtw;(t`laWhX0a8I-;0ON}q7XoPtKb=nq-^{va&OY^K zcSy|Aao#P0-_|@~5&sFX>Kp)czMnc0H-=ij^`z^v+}dV4#u*mbcMOebe<}A&Y*4l2 zlKDN{k@sy^UiL4OUWU9~?%U9D(6x%uROacQW62YvLNA-{JTo?sn&VaCi3_BplIA`C zX8vyHcm^umiMTmi#qq`PqYhj~of1^~V_$e3(Y6n{@b>1E#Gk{Y!rnuf+onoS6Z}vP z3Z0+;W6NY*qoXV_u6+0}Ugaj-d?c+KUWmEP1SgZm=3^|}eN>IHhccf-*eJJJV~(+)S6%U!*spGQg_ zC#rp@MEhGb&H4+HO{QJJvlb6^B<+qgK+c86vk)ue9qD4!d~{HB%Swr*v*++f)-g

w7H!F~sg`Nj_@PlnczHMFX|?N~@a0 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

Cqb5!spYsSz)7k*Vs^{PNZ?}rHSYwY--w!M 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 Dyat~F literal 132771 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

w7H!F~sg`Nj_@PlnczHMFX|?N~@a0 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%0AIsr-Vka(nIC<-*3hra=St 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

EwTv!kp!*Nr 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 literal 252327 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 Dyat~F diff --git a/packages/flutter_box_transform/playground/assets/images/image7.jpg b/packages/flutter_box_transform/playground/assets/images/image7.jpg index dd66a3853aaf50b821f109dea78537862cd813f8..f25a8caa7612343b0d538452a836a048823ebc33 100644 GIT binary patch literal 38891 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%0AIsr-Vka(nIC<-*3hra=St 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

EwTv!kp!*Nr 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 diff --git a/packages/flutter_box_transform/playground/assets/images/image8.jpg b/packages/flutter_box_transform/playground/assets/images/image8.jpg index f25a8caa7612343b0d538452a836a048823ebc33..e38c51c7a351c988592dc102574d27aa7cbc2c59 100644 GIT binary patch literal 173261 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

e$?n+^|5wZKQY1R}sLW&D=Eq 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

h&S?~hPA#H}aX_14~9uDQe)BnwvC#Nn zdiV#B>byAL4!-HU7@=$QcykAvbN}GY5tQB4=TCioAMyv#<(x4^!g7nt*u`xfA*vvV zzFf+~xtr_=eZf)IF>W3V^iMjpu5=pI%2{^0-qXp&5kLJ{BxYx#!<-Ow`>0E3%{- zjEukG-aTZ{ZMb-2J-J^vW^Igj{Q*2;++epn7)IZrNG=ZyGhoe0>Zg4P8d-$zQPl(Y zyy?FpJR&c|d4bN0c7tDu#(YS&+R26&@%CFDAqN6uDyh@WA;<#t8>(B?zsxDs`ACVQW9!Bu z=L-Y2$W2D@mZao}Wj{pi`37TG!q`rdhIr?WR!lQoNgd=L<>pc=%0@(#=oOvf4++Yj zZDikA5VZE$9>rPak6YE0szT}1zTxQabDO_(<#&c<9dMr4FHF8i1G+Yv-seRf^0MR1 z_ZZCd7ucYFQHFmM)`M10%@WW-$bq-n>mh9Vz-&A5nX?iO9r4FSc3QhImv8-f;;A!n zXBy?qh?tXxv+c{vZnx&8qVCYaC0WXF+c zam2UUSKBvd>`h~4uJ`a!$tE{Qu$|frWqVdOIg&$h_LF;#gy)x*Uv1}&L6hrRdC?^fmDgM(%tX;D4r=8QVocvMadVbZ;Ewn@=z5-P< zq?LXs`jKoe)sr-=&lk*?V0B2Ypnv8m)OY#xXuv`Ij^ULeTFxATd*xv zproCWUae#>FWvh9taiX)9_IO09U*8Sbk40OH);YyhVlnMU4Z?A*0y5wpe6I##Jgg= z-H>m?5WVO8<}XFfg{+zgpAVZpC>a^{*Q-^|>U``LAdBiVQ0jw43DI=Es8%l? z)k1nlQ`6e8y|u>k3FXDBfOkdFmOHSUXayyPbL$qGOOP+ADvyntqIgkvFcF*{9*8OVE)NCK~@?eZ|(rp)6M8!@uPAn&Xe z#3w^v1IxnJoLyIr3;}nA6PK&5h@#O2-*I4?>wcRe)xvR!9bY$U?KKj~o}%i|GdVQn zsP*F{L09HRM#5!w!eAR-l}e4R4~eMD#N-#jU4BEMC&x@6OWcall*LmC%Q|Jk_K9X! zbQcE4XQrHPkRdDcrdLMCgxqgTVWan;h7#7(N3Uol7V$tw@N5y9D`)FTAHNIkq*pxH zDUK`Lss!Cmq?zl5y4!nN(Qns>J>7OfFt&2Sh0U(6xT_%OSip}mEi0wH^F!*sAbVEZ z1|8CnwXgbz z-F!=-gGL?UY9kO?X7Ju;arPNee(nBsJsH54WcZLKbWJ(~?kM1x{OX#<5z;TcPTFLL~yeV{jL$)%T#+jq=D zk1K^=6=rdfJAS%3$=r0qzw&I|$iDQi^X8--zlc_4a@Suky7*Y?wHW8b;$SQ_^m1x* zSd`!BC}^%y)I450Do;7@2X{JKwZgfrWW>6jIkkAC?0;!Um@<^wU)Fmrm2UP5Gi3QD zfsUK%zd$Y01C(W{{QYX1Y|zf?@+16wQnh$pwP}Ba5lb$(Q#mY53V9*_>Y9puDY?~) z6-2yXWOo7vhu0Q}oI##=oyHaIFWcExK^q(~MD)1-2v5bu=i@&bZI`UJ8ep`M*=cw1 zt16K?vAJHOl+<<3_(GU=A@R;_e$f&k`rHHF*U zi$XrHaIvm0YZa+O4pRHwxu#s1+w3;Yd8K=hb@aGVf6rSbac->9Ol48M%#r7hw(U^SGH9>7V#_h8{E~Q9Qk1d#%TML2{tXljBHqG2_}YCshsymC z@@v|c?WKpT+q;d{H|b~cp}Ua}i<(>Z55nv#JT2ARYPe8z9DE@{F$@UkQ7k z;IV4Mw#%E|Id)QuVrL&!W⁣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 VY3E0sm|i@YJfB0#W5=Hl|Jeoiu$=$^ literal 38891 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 z z$J+wMPA{(krV}mB3FN}z`z_gHoJ{wQZRB%UBWe_leT}bum=#vUTrQS+CU2W`>0kISp}luG-4vgcj;O~>hobsowdac0MS(92HN zvzcr?39utbt+Uk5PkFDV$6xGe2!Ewp+R0{GD(EH~Tyqi;O~{|Ug~CWgRMO#)&0`D$ zJSOVyx-5I!?qB3Wf#Ee`L>6WYzvgvylGQxfmi)!{!>p z*XN0{E9?c_SuWlyAH<6xMpB9e?ZAttC*e57< zKg8b@{-i-$UM=)v<@q&+D;}D9{nW})Jx6B@!Jodpm)*m8`onQ zd*v`Imk=@qt3itK%RY~v)_C{V!T!==YQ3x`qNT&77VZ`PxV9J8ej(!)kBVA>l_Vxz zvZ94oJdO->d|2GEN@>VoU~l>Uij}OvF6QQT^%E23@YiHebVOPj+r}6?sHPq zpbITzOuZ_=RUTHc;mGv``f3ITZ|a1w(;299(^!A#Mx|rJtBUqoY)}_lh~ON|H&t!M z$@2P%VTVQuJnGY~m6mXDJR~687++4?FZ8RFNAoMK9381ltvQ$4s&_ZIJ>ZF5LVafyf#oH+N@C0l^LqyfWQ59pXAPl#TzuOeb$d;d=KLIru$sQv^5pnR4t&t4q!H zkHvZMI}dNas)D+>GmX&0=gwc8{khJi_@K4I-(?k+A+y?l#(hHXhrm?Qszq`3C|j~c#zCg+Z0XMBdNvPYglVu{WQKuY3@Aph5O@eJ@qiPv-UougkW3TFu3_ohX$+u z?&Ui@q`8ZLW;*tefr^uMq5W!fELM*fOh&E*-b3uX=NC}qabmN<${I(F{ZZ}i=!W(V zVwYdhN3*|MB`qOY3^CfxD%0?^iqCYE5R?KsFtj9}q(e+zwf{QBe@+niMSfuH3M}*4 zDYc$u|1wU`=JcPcW5SL6TNk{00sCSjmo@DjS|jPSv%cWGWKs%4E=Xtr1gC$n;4*@)Q{->9Ed4cRkSy< zGm>}!++P8-*AD(*?IcNdN4Mdpg~iHo6Z;Kk!0i9q;;^o$yclPxW%hRYrr{FRC7qQP z)0Q8V(8>0}Yo<~EhQ?0aD!kH!#CsfYwET0Q=-vIO16U2!FHEpk$aoc7V*T&en%9B{ z?+md(D{S$;+zf}ZoU@c3yFJUaR)>S~{>pro(=F#N%6rWM@h!hNciMO_dxeD(x)$RX z04wfd(CWQ-qn1Hu)R{tk%e1@nxGj%}Iji<;JyEj{t@X_#&GXYCL(}gkk}LYZ_R>b9 zNX7@S7+j8JdADLy-A#~I;KpDcrF63{mD zx(6gGlOa%x9r5NV!z_}q%7PrmcsQztcXGbfVLC~ejpS;9lLA$R@#@3ZD+ahmHAFIo z+798Qc)F!{qi-QJbzfK8UK{!5cXEEikSBbX`n`UZkU}J%b&~29c@tiScL~`4apeDfcGroe z-!rLAQ*?`Q9{sB}b8zN*zQG~Fm9tZR-%deoc+H`kBlpRDlj5>UKFd(LXxdiFGTtes z%?{Z8ZP)MiKZlz02m=}GmdNGH1J_d$N6tEa*^}U$QME!0&rI6`?&qUwGl%Sa+FM_~ z+a7gk_xb5JpnQg$4Ku2B2 z?4Rp*+3#H4)P3#fKJVuvq?@-e{Au^fJWX`nP`3abq58%9sTJrwZSt}HZzoQu^eB?8 zgKWW{uSx0uvO{iX(N(9ZI6mCACq91{s}x3QO8%qnb0apk{tSQb#64?i#3RNc*P$wD zRxRU_;J=DXw%0^ubgM~>Y0)bdg0^efWjuKn54Hs+eg_~wY49_RWmNVP-?Oo)%hc*{w%P5 z_;(AJFf(k3UyRS>+fky9xUKyydR4Le|9c0RxK=)Kuq@W-^mks_q(`67U1M9Xqqdm=IrB7sZkp@dkkJ$5D}AO z_RekO1 zsvwn5_B+_dqoa1BO_Hxmawyi>+e));!qxdrwV`|prfJcDKGV4qn<4lj)CDThq@)Du z#3dYOMf`XvOTT~^N()gTt&7�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 literal 173261 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

e$?n+^|5wZKQY1R}sLW&D=Eq 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

h&S?~hPA#H}aX_14~9uDQe)BnwvC#Nn zdiV#B>byAL4!-HU7@=$QcykAvbN}GY5tQB4=TCioAMyv#<(x4^!g7nt*u`xfA*vvV zzFf+~xtr_=eZf)IF>W3V^iMjpu5=pI%2{^0-qXp&5kLJ{BxYx#!<-Ow`>0E3%{- zjEukG-aTZ{ZMb-2J-J^vW^Igj{Q*2;++epn7)IZrNG=ZyGhoe0>Zg4P8d-$zQPl(Y zyy?FpJR&c|d4bN0c7tDu#(YS&+R26&@%CFDAqN6uDyh@WA;<#t8>(B?zsxDs`ACVQW9!Bu z=L-Y2$W2D@mZao}Wj{pi`37TG!q`rdhIr?WR!lQoNgd=L<>pc=%0@(#=oOvf4++Yj zZDikA5VZE$9>rPak6YE0szT}1zTxQabDO_(<#&c<9dMr4FHF8i1G+Yv-seRf^0MR1 z_ZZCd7ucYFQHFmM)`M10%@WW-$bq-n>mh9Vz-&A5nX?iO9r4FSc3QhImv8-f;;A!n zXBy?qh?tXxv+c{vZnx&8qVCYaC0WXF+c zam2UUSKBvd>`h~4uJ`a!$tE{Qu$|frWqVdOIg&$h_LF;#gy)x*Uv1}&L6hrRdC?^fmDgM(%tX;D4r=8QVocvMadVbZ;Ewn@=z5-P< zq?LXs`jKoe)sr-=&lk*?V0B2Ypnv8m)OY#xXuv`Ij^ULeTFxATd*xv zproCWUae#>FWvh9taiX)9_IO09U*8Sbk40OH);YyhVlnMU4Z?A*0y5wpe6I##Jgg= z-H>m?5WVO8<}XFfg{+zgpAVZpC>a^{*Q-^|>U``LAdBiVQ0jw43DI=Es8%l? z)k1nlQ`6e8y|u>k3FXDBfOkdFmOHSUXayyPbL$qGOOP+ADvyntqIgkvFcF*{9*8OVE)NCK~@?eZ|(rp)6M8!@uPAn&Xe z#3w^v1IxnJoLyIr3;}nA6PK&5h@#O2-*I4?>wcRe)xvR!9bY$U?KKj~o}%i|GdVQn zsP*F{L09HRM#5!w!eAR-l}e4R4~eMD#N-#jU4BEMC&x@6OWcall*LmC%Q|Jk_K9X! zbQcE4XQrHPkRdDcrdLMCgxqgTVWan;h7#7(N3Uol7V$tw@N5y9D`)FTAHNIkq*pxH zDUK`Lss!Cmq?zl5y4!nN(Qns>J>7OfFt&2Sh0U(6xT_%OSip}mEi0wH^F!*sAbVEZ z1|8CnwXgbz z-F!=-gGL?UY9kO?X7Ju;arPNee(nBsJsH54WcZLKbWJ(~?kM1x{OX#<5z;TcPTFLL~yeV{jL$)%T#+jq=D zk1K^=6=rdfJAS%3$=r0qzw&I|$iDQi^X8--zlc_4a@Suky7*Y?wHW8b;$SQ_^m1x* zSd`!BC}^%y)I450Do;7@2X{JKwZgfrWW>6jIkkAC?0;!Um@<^wU)Fmrm2UP5Gi3QD zfsUK%zd$Y01C(W{{QYX1Y|zf?@+16wQnh$pwP}Ba5lb$(Q#mY53V9*_>Y9puDY?~) z6-2yXWOo7vhu0Q}oI##=oyHaIFWcExK^q(~MD)1-2v5bu=i@&bZI`UJ8ep`M*=cw1 zt16K?vAJHOl+<<3_(GU=A@R;_e$f&k`rHHF*U zi$XrHaIvm0YZa+O4pRHwxu#s1+w3;Yd8K=hb@aGVf6rSbac->9Ol48M%#r7hw(U^SGH9>7V#_h8{E~Q9Qk1d#%TML2{tXljBHqG2_}YCshsymC z@@v|c?WKpT+q;d{H|b~cp}Ua}i<(>Z55nv#JT2ARYPe8z9DE@{F$@UkQ7k z;IV4Mw#%E|Id)QuVrL&!W⁣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 VY3E0sm|i@YJfB0#W5=Hl|Jeoiu$=$^ diff --git a/packages/flutter_box_transform/playground/lib/main.dart b/packages/flutter_box_transform/playground/lib/main.dart index b9271d4..8723d04 100644 --- a/packages/flutter_box_transform/playground/lib/main.dart +++ b/packages/flutter_box_transform/playground/lib/main.dart @@ -1,3 +1,4 @@ +import 'dart:async'; import 'dart:developer'; import 'dart:math' hide log; @@ -8,14 +9,16 @@ import 'package:flutter/services.dart'; import 'package:flutter_box_transform/flutter_box_transform.dart'; import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher_string.dart'; -import 'package:vector_math/vector_math.dart' hide Colors; +import 'package:vector_math/vector_math_64.dart' hide Colors; import 'resources/asset_icons.dart'; import 'resources/images.dart'; import 'test_recorder.dart'; -bool showTestRecorder = - const bool.fromEnvironment('test_recorder', defaultValue: false); +bool showTestRecorder = const bool.fromEnvironment( + 'test_recorder', + defaultValue: true, +); void main() { runApp(const MyApp()); @@ -38,11 +41,11 @@ class MyApp extends StatelessWidget { colorSchemeSeed: Colors.blue, inputDecorationTheme: InputDecorationTheme( isDense: true, - contentPadding: - const EdgeInsets.symmetric(horizontal: 10, vertical: 12), - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(6), + contentPadding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 12, ), + border: OutlineInputBorder(borderRadius: BorderRadius.circular(6)), ), ), dark: ThemeData( @@ -51,11 +54,11 @@ class MyApp extends StatelessWidget { colorSchemeSeed: Colors.blue, inputDecorationTheme: InputDecorationTheme( isDense: true, - contentPadding: - const EdgeInsets.symmetric(horizontal: 10, vertical: 12), - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(6), + contentPadding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 12, ), + border: OutlineInputBorder(borderRadius: BorderRadius.circular(6)), ), ), initial: AdaptiveThemeMode.system, @@ -84,20 +87,27 @@ class PlaygroundModel with ChangeNotifier { int selectedBoxIndex = -1; + // Debug visualization toggles — all default off for clean UX. + bool debugShowBoundingRect = false; + bool debugShowUnrotatedRect = false; + bool debugShowRotationArrows = false; + bool debugPaintHandleBounds = false; + BoxData? get selectedBox => selectedBoxIndex != -1 ? boxes[selectedBoxIndex] : null; - void reset(BuildContext context) { + Future reset(BuildContext context) async { final Size size = MediaQuery.of(context).size; final double width = size.width - kSidePanelWidth - kBoxesPanelWidth; final double height = size.height; - clampingRect = Rect.fromLTWH( - 0, - 0, - width, - size.height, - ); + clampingRect = Rect.fromLTWH(0, 0, width, size.height); + + final Size imageSize = await _resolveImageSize(Images.image1); + final double scale = + kInitialMaxSide / max(imageSize.width, imageSize.height); + final double boxWidth = imageSize.width * scale; + final double boxHeight = imageSize.height * scale; boxes.clear(); boxes.add( @@ -105,10 +115,10 @@ class PlaygroundModel with ChangeNotifier { name: 'Box 1', imageAsset: Images.image1, rect: Rect.fromLTWH( - (width - kInitialWidth) / 2, - (height - kInitialHeight) / 2, - kInitialWidth, - kInitialHeight, + (width - boxWidth) / 2, + (height - boxHeight) / 2, + boxWidth, + boxHeight, ), flip: Flip.none, constraintsEnabled: true, @@ -171,16 +181,23 @@ class PlaygroundModel with ChangeNotifier { if (notify) notifyListeners(); } - void addNewBox() { + Future addNewBox() async { + final String asset = Images.values[boxes.length % Images.values.length]; + final Size imageSize = await _resolveImageSize(asset); + final double scale = + kInitialMaxSide / max(imageSize.width, imageSize.height); + final double width = imageSize.width * scale; + final double height = imageSize.height * scale; + boxes.add( BoxData( name: 'Box ${boxes.length + 1}', - imageAsset: Images.values[boxes.length % Images.values.length], + imageAsset: asset, rect: Rect.fromLTWH( - playgroundArea!.center.dx - kInitialWidth / 2, - playgroundArea!.center.dy - kInitialHeight / 2, - kInitialWidth, - kInitialHeight, + playgroundArea!.center.dx - width / 2, + playgroundArea!.center.dy - height / 2, + width, + height, ), flip: Flip.none, ), @@ -235,6 +252,48 @@ class PlaygroundModel with ChangeNotifier { notifyListeners(); } + // --- Rotation controls --------------------------------------------------- + + void setRotation(double radians) { + if (selectedBoxIndex == -1) return; + selectedBox!.rotation = radians; + notifyListeners(); + } + + void toggleRotatable(bool enabled) { + if (selectedBoxIndex == -1) return; + selectedBox!.rotatable = enabled; + notifyListeners(); + } + + void setBindingStrategy(BindingStrategy strategy) { + if (selectedBoxIndex == -1) return; + selectedBox!.bindingStrategy = strategy; + notifyListeners(); + } + + // --- Debug toggles ------------------------------------------------------- + + void toggleDebugShowBoundingRect(bool v) { + debugShowBoundingRect = v; + notifyListeners(); + } + + void toggleDebugShowUnrotatedRect(bool v) { + debugShowUnrotatedRect = v; + notifyListeners(); + } + + void toggleDebugShowRotationArrows(bool v) { + debugShowRotationArrows = v; + notifyListeners(); + } + + void toggleDebugPaintHandleBounds(bool v) { + debugPaintHandleBounds = v; + notifyListeners(); + } + void toggleResizing(bool enabled) { if (selectedBoxIndex == -1) return; selectedBox!.resizable = enabled; @@ -367,8 +426,9 @@ class PlaygroundModel with ChangeNotifier { final BoxData box = boxes.removeAt(oldIndex); boxes.insert(newIndex, box); if (selectedBox != null) { - selectedBoxIndex = - boxes.indexWhere((box) => box.name == selectedBox.name); + selectedBoxIndex = boxes.indexWhere( + (box) => box.name == selectedBox.name, + ); } notifyListeners(); @@ -386,9 +446,36 @@ const double kSidePanelWidth = 280; const double kBoxesPanelWidth = 250; const double kInitialWidth = 400; const double kInitialHeight = 300; +const double kInitialMaxSide = 400; const double kStrokeWidth = 1.5; const Color kGridColor = Color.fromARGB(126, 27, 181, 228); +Future _resolveImageSize(String asset) { + final completer = Completer(); + final ImageStream stream = AssetImage( + asset, + ).resolve(ImageConfiguration.empty); + late final ImageStreamListener listener; + listener = ImageStreamListener( + (ImageInfo info, bool _) { + if (!completer.isCompleted) { + completer.complete( + Size(info.image.width.toDouble(), info.image.height.toDouble()), + ); + } + stream.removeListener(listener); + }, + onError: (Object error, StackTrace? _) { + if (!completer.isCompleted) { + completer.complete(const Size(kInitialWidth, kInitialHeight)); + } + stream.removeListener(listener); + }, + ); + stream.addListener(listener); + return completer.future; +} + class _PlaygroundState extends State with WidgetsBindingObserver { Set pressedKeys = {}; @@ -438,8 +525,10 @@ class _PlaygroundState extends State with WidgetsBindingObserver { 0, 0, max(size.width - kSidePanelWidth - kBoxesPanelWidth, 100), - max(size.height, - 100), // safe size for when window is resized extremely small. + max( + size.height, + 100, + ), // safe size for when window is resized extremely small. ); final Rect playgroundArea = model.playgroundArea!; @@ -562,16 +651,20 @@ class _ImageBoxState extends State { UITransformResult? lastResult; bool get isShiftPressed => - WidgetsBinding.instance.keyboard.logicalKeysPressed - .contains(LogicalKeyboardKey.shiftLeft) || - WidgetsBinding.instance.keyboard.logicalKeysPressed - .contains(LogicalKeyboardKey.shiftRight); + WidgetsBinding.instance.keyboard.logicalKeysPressed.contains( + LogicalKeyboardKey.shiftLeft, + ) || + WidgetsBinding.instance.keyboard.logicalKeysPressed.contains( + LogicalKeyboardKey.shiftRight, + ); bool get isAltPressed => - WidgetsBinding.instance.keyboard.logicalKeysPressed - .contains(LogicalKeyboardKey.altLeft) || - WidgetsBinding.instance.keyboard.logicalKeysPressed - .contains(LogicalKeyboardKey.altRight); + WidgetsBinding.instance.keyboard.logicalKeysPressed.contains( + LogicalKeyboardKey.altLeft, + ) || + WidgetsBinding.instance.keyboard.logicalKeysPressed.contains( + LogicalKeyboardKey.altRight, + ); ResizeMode get currentResizeMode { if (isShiftPressed && isAltPressed) { @@ -587,14 +680,21 @@ class _ImageBoxState extends State { @override Widget build(BuildContext context) { - final PlaygroundModel model = context.read(); + final PlaygroundModel model = context.watch(); final Color handleColor = Theme.of(context).colorScheme.primary; return TransformableBox( key: ValueKey('image-box-${box.name}'), rect: box.rect, flip: box.flip, + rotation: box.rotation, + rotatable: widget.selected && box.rotatable, + bindingStrategy: box.bindingStrategy, clampingRect: model.clampingEnabled ? model.clampingRect : null, constraints: box.constraintsEnabled ? box.constraints : null, + debugShowBoundingRect: model.debugShowBoundingRect, + debugShowUnrotatedRect: model.debugShowUnrotatedRect, + debugShowRotationArrows: model.debugShowRotationArrows, + debugPaintHandleBounds: model.debugPaintHandleBounds, onChanged: (result, event) { widget.onChanged?.call(result); largestClampingBox = result.largestRect; @@ -602,6 +702,22 @@ class _ImageBoxState extends State { lastResult = result; model.onRectChanged(result); }, + onResizeUpdate: (result, event) { + if (!showTestRecorder || + currentAction == null || + !recorder.isRecording) { + return; + } + recorder.onUpdate( + action: currentAction!, + localPosition: event.localPosition, + result: result, + ); + }, + onRotationUpdate: (result, event) { + box.rotation = result.rotation; + setState(() {}); + }, resizable: widget.selected && box.resizable, visibleHandles: !widget.selected || !box.resizable ? {} : box.visibleHandles, @@ -623,21 +739,18 @@ class _ImageBoxState extends State { clampingRect: model.clampingEnabled ? model.clampingRect : null, constraints: box.constraintsEnabled ? box.constraints : null, flipRect: box.flipRectWhileResizing, + rotation: box.rotation, + bindingStrategy: box.bindingStrategy, ); }, onResizeEnd: (handle, event) { if (!showTestRecorder || currentAction == null || - !recorder.isRecording || - lastResult == null) { + !recorder.isRecording) { return; } - log('Recording resize action result'); - // recorder.onResult( - // action: currentAction!, - // result: lastResult!, - // localPosition: event.localPosition, - // ); + log('Resize gesture ended (${currentAction!.id})'); + currentAction = null; }, onTerminalSizeReached: ( bool reachedMinWidth, @@ -763,10 +876,27 @@ class _ClampingRectState extends State { label = 'Clamping Box'; } - final minWidth = model.boxes.fold(0.0, - (previousValue, element) => max(previousValue, element.rect.width)); - final minHeight = model.boxes.fold(0.0, - (previousValue, element) => max(previousValue, element.rect.height)); + // Size the clamping minimum per each box's strategy: + // boundingBox: at least the rotated bounding rect (rendered footprint). + // originalBox: at least the unrotated rect (rotated corners may poke + // out of the clamp and that's OK under originalBox semantics). + // Fold over boxes taking the max so the clamp fits every box at once. + final minWidth = model.boxes.fold(0.0, (previousValue, element) { + final ecr = RotatedLayout.computeEffectiveContainmentRect( + rect: element.rect, + rotation: element.rotation, + bindingStrategy: element.bindingStrategy, + ); + return max(previousValue, ecr.width); + }); + final minHeight = model.boxes.fold(0.0, (previousValue, element) { + final ecr = RotatedLayout.computeEffectiveContainmentRect( + rect: element.rect, + rotation: element.rotation, + bindingStrategy: element.bindingStrategy, + ); + return max(previousValue, ecr.height); + }); return TransformableBox( key: const ValueKey('clamping-box'), @@ -797,36 +927,25 @@ class _ClampingRectState extends State { }); }, handleAlignment: HandleAlignment.inside, - cornerHandleBuilder: (context, handle) => AngularHandle( - handle: handle, - color: mainColor, - hasShadow: false, - ), - sideHandleBuilder: (context, handle) => AngularHandle( - handle: handle, - color: mainColor, - hasShadow: false, - ), + cornerHandleBuilder: (context, handle) => + AngularHandle(handle: handle, color: mainColor, hasShadow: false), + sideHandleBuilder: (context, handle) => + AngularHandle(handle: handle, color: mainColor, hasShadow: false), contentBuilder: (context, _, flip) => Container( width: model.clampingRect.width, height: model.clampingRect.height, alignment: Alignment.bottomRight, decoration: BoxDecoration( border: Border.symmetric( - horizontal: BorderSide( - color: horizontalEdgeColor, - width: 1.5, - ), - vertical: BorderSide( - color: verticalEdgeColor, - width: 1.5, - ), + horizontal: BorderSide(color: horizontalEdgeColor, width: 1.5), + vertical: BorderSide(color: verticalEdgeColor, width: 1.5), ), ), child: DecoratedBox( decoration: BoxDecoration( - color: - (anyTerminalSize ? Colors.orange : mainColor).withValues(alpha: 0.1), + color: (anyTerminalSize ? Colors.orange : mainColor).withValues( + alpha: 0.1, + ), borderRadius: const BorderRadius.only( topLeft: Radius.circular(6), ), @@ -878,7 +997,8 @@ class ControlPanel extends StatelessWidget { IconButton( tooltip: 'Open on GitHub', onPressed: () => launchUrlString( - 'https://github.com/birjuvachhani/rect_resizer'), + 'https://github.com/birjuvachhani/rect_resizer', + ), icon: const Icon(Icons.open_in_new_rounded), ), const SizedBox(width: 8), @@ -941,6 +1061,10 @@ class ControlPanel extends StatelessWidget { const Divider(height: 1), const ConstraintsControls(), const Divider(height: 1), + const RotationControls(), + const Divider(height: 1), + const DebugControls(), + const Divider(height: 1), ] else ...[ const SizedBox(height: 44), Text( @@ -996,10 +1120,7 @@ class BoxesPanel extends StatelessWidget { padding: const EdgeInsets.fromLTRB(16, 0, 4, 0), child: Row( children: [ - const SectionHeader( - 'Boxes', - padding: EdgeInsets.zero, - ), + const SectionHeader('Boxes', padding: EdgeInsets.zero), Text( ' • ${model.boxes.length}', style: TextStyle( @@ -1055,7 +1176,9 @@ class BoxesPanel extends StatelessWidget { key: ValueKey(box.name), child: Container( color: box.name == model.selectedBox?.name - ? Theme.of(context).colorScheme.primary.withValues(alpha: 0.2) + ? Theme.of( + context, + ).colorScheme.primary.withValues(alpha: 0.2) : null, child: ListTile( title: Text(box.name), @@ -1109,13 +1232,9 @@ class PositionControls extends StatelessWidget { const SizedBox(height: 8), Row( children: [ - Expanded( - child: ValueText(box.rect.left.floor().toString()), - ), + Expanded(child: ValueText(box.rect.left.floor().toString())), const SizedBox(width: 16), - Expanded( - child: ValueText(box.rect.top.floor().toString()), - ), + Expanded(child: ValueText(box.rect.top.floor().toString())), ], ), const SizedBox(height: 16), @@ -1129,9 +1248,7 @@ class PositionControls extends StatelessWidget { const SizedBox(height: 8), Row( children: [ - Expanded( - child: ValueText(box.rect.right.floor().toString()), - ), + Expanded(child: ValueText(box.rect.right.floor().toString())), const SizedBox(width: 16), Expanded( child: ValueText(box.rect.bottom.floor().toString()), @@ -1149,9 +1266,7 @@ class PositionControls extends StatelessWidget { const SizedBox(height: 8), Row( children: [ - Expanded( - child: ValueText(box.rect.width.toStringAsFixed(0)), - ), + Expanded(child: ValueText(box.rect.width.toStringAsFixed(0))), const SizedBox(width: 16), Expanded( child: ValueText(box.rect.height.toStringAsFixed(0)), @@ -1259,10 +1374,9 @@ class _HandleControlsState extends State { Expanded( child: Text( 'Enabled Handles', - style: Theme.of(context) - .textTheme - .titleSmall! - .copyWith( + style: Theme.of( + context, + ).textTheme.titleSmall!.copyWith( color: Theme.of(context).colorScheme.secondary, ), @@ -1328,19 +1442,21 @@ class _HandleControlsState extends State { }, child: Padding( padding: const EdgeInsets.only( - left: 36, top: 4, bottom: 4), + left: 36, + top: 4, + bottom: 4, + ), child: Row( children: [ Expanded( child: Text( handle.prettify, - style: Theme.of(context) - .textTheme - .labelMedium - ?.copyWith( - color: Theme.of(context) - .colorScheme - .secondary, + style: Theme.of( + context, + ).textTheme.labelMedium?.copyWith( + color: Theme.of( + context, + ).colorScheme.secondary, ), ), ), @@ -1349,8 +1465,9 @@ class _HandleControlsState extends State { child: Transform.scale( scale: 0.5, child: Switch( - value: box.enabledHandles - .contains(handle), + value: box.enabledHandles.contains( + handle, + ), onChanged: (bool? value) { if (value == null) return; if (value) { @@ -1380,10 +1497,9 @@ class _HandleControlsState extends State { Expanded( child: Text( 'Visible Handles', - style: Theme.of(context) - .textTheme - .titleSmall! - .copyWith( + style: Theme.of( + context, + ).textTheme.titleSmall!.copyWith( color: Theme.of(context).colorScheme.secondary, ), @@ -1449,19 +1565,21 @@ class _HandleControlsState extends State { }, child: Padding( padding: const EdgeInsets.only( - left: 36, top: 4, bottom: 4), + left: 36, + top: 4, + bottom: 4, + ), child: Row( children: [ Expanded( child: Text( handle.prettify, - style: Theme.of(context) - .textTheme - .labelMedium - ?.copyWith( - color: Theme.of(context) - .colorScheme - .secondary, + style: Theme.of( + context, + ).textTheme.labelMedium?.copyWith( + color: Theme.of( + context, + ).colorScheme.secondary, ), ), ), @@ -1470,8 +1588,9 @@ class _HandleControlsState extends State { child: Transform.scale( scale: 0.5, child: Switch( - value: box.visibleHandles - .contains(handle), + value: box.visibleHandles.contains( + handle, + ), onChanged: (bool? value) { if (value == null) return; if (value) { @@ -1544,10 +1663,9 @@ class FlipControls extends StatelessWidget { widthFactor: 0.9, child: Text( 'Allows to flip the rect while resizing. The actual contents of the rect won\'t be flipped.', - style: Theme.of(context) - .textTheme - .bodySmall! - .copyWith( + style: Theme.of( + context, + ).textTheme.bodySmall!.copyWith( color: Theme.of(context).colorScheme.secondary, ), ), @@ -1594,10 +1712,9 @@ class FlipControls extends StatelessWidget { widthFactor: 0.9, child: Text( 'Flip the contents of the rect when it is flipped.', - style: Theme.of(context) - .textTheme - .bodySmall! - .copyWith( + style: Theme.of( + context, + ).textTheme.bodySmall!.copyWith( color: Theme.of(context).colorScheme.secondary, ), ), @@ -1631,10 +1748,7 @@ class FlipControls extends StatelessWidget { model.flipVertically(); } }, - isSelected: [ - box.flip.isHorizontal, - box.flip.isVertical, - ], + isSelected: [box.flip.isHorizontal, box.flip.isVertical], selectedColor: Theme.of(context).colorScheme.primary, constraints: const BoxConstraints.tightFor(height: 32), children: const [ @@ -1714,14 +1828,18 @@ class _ClampingControlsState extends State { @override void initState() { super.initState(); - leftController = - TextEditingController(text: model.clampingRect.left.toStringAsFixed(0)); - topController = - TextEditingController(text: model.clampingRect.top.toStringAsFixed(0)); + leftController = TextEditingController( + text: model.clampingRect.left.toStringAsFixed(0), + ); + topController = TextEditingController( + text: model.clampingRect.top.toStringAsFixed(0), + ); bottomController = TextEditingController( - text: model.clampingRect.bottom.toStringAsFixed(0)); + text: model.clampingRect.bottom.toStringAsFixed(0), + ); rightController = TextEditingController( - text: model.clampingRect.right.toStringAsFixed(0)); + text: model.clampingRect.right.toStringAsFixed(0), + ); model.addListener(onModelChanged); } @@ -1775,10 +1893,9 @@ class _ClampingControlsState extends State { Expanded( child: Text( 'CLAMPING', - style: Theme.of(context) - .textTheme - .titleSmall! - .copyWith( + style: Theme.of( + context, + ).textTheme.titleSmall!.copyWith( color: Theme.of(context).colorScheme.secondary, ), @@ -1954,14 +2071,18 @@ class _ConstraintsControlsState extends State { @override void initState() { super.initState(); - minWidthController = - TextEditingController(text: formatted(box.constraints.minWidth)); - minHeightController = - TextEditingController(text: formatted(box.constraints.minHeight)); - maxHeightController = - TextEditingController(text: formatted(box.constraints.maxHeight)); - maxWidthController = - TextEditingController(text: formatted(box.constraints.maxWidth)); + minWidthController = TextEditingController( + text: formatted(box.constraints.minWidth), + ); + minHeightController = TextEditingController( + text: formatted(box.constraints.minHeight), + ); + maxHeightController = TextEditingController( + text: formatted(box.constraints.maxHeight), + ); + maxWidthController = TextEditingController( + text: formatted(box.constraints.maxWidth), + ); model.addListener(onModelChanged); } @@ -2025,10 +2146,9 @@ class _ConstraintsControlsState extends State { Expanded( child: Text( 'CONSTRAINTS', - style: Theme.of(context) - .textTheme - .titleSmall! - .copyWith( + style: Theme.of( + context, + ).textTheme.titleSmall!.copyWith( color: Theme.of(context).colorScheme.secondary, ), @@ -2169,10 +2289,12 @@ class _ConstraintsControlsState extends State { const SizedBox(height: 16), FilledButton.tonalIcon( onPressed: () { - model.setConstraints(const BoxConstraints( - minWidth: double.infinity, - minHeight: double.infinity, - )); + model.setConstraints( + const BoxConstraints( + minWidth: double.infinity, + minHeight: double.infinity, + ), + ); }, icon: const Icon(Icons.refresh), label: const Text('Reset'), @@ -2224,8 +2346,9 @@ class KeyboardListenerIndicator extends StatelessWidget { ), boxShadow: [ BoxShadow( - color: - Theme.of(context).colorScheme.onPrimary.withValues(alpha: 0.2), + color: Theme.of( + context, + ).colorScheme.onPrimary.withValues(alpha: 0.2), blurRadius: 1, offset: const Offset(1, 3), ), @@ -2244,10 +2367,7 @@ class KeyboardListenerIndicator extends StatelessWidget { onPressed: onClear, splashRadius: 16, iconSize: 18, - icon: Icon( - Icons.clear, - color: Colors.grey.shade400, - ), + icon: Icon(Icons.clear, color: Colors.grey.shade400), ), ], ); @@ -2291,10 +2411,7 @@ class ValueText extends StatelessWidget { @override Widget build(BuildContext context) { - return Text( - value, - style: Theme.of(context).textTheme.titleMedium, - ); + return Text(value, style: Theme.of(context).textTheme.titleMedium); } } @@ -2303,12 +2420,7 @@ class SectionHeader extends StatelessWidget { final EdgeInsets? padding; final double? height; - const SectionHeader( - this.title, { - super.key, - this.padding, - this.height, - }); + const SectionHeader(this.title, {super.key, this.padding, this.height}); @override Widget build(BuildContext context) { @@ -2326,6 +2438,163 @@ class SectionHeader extends StatelessWidget { } } +class RotationControls extends StatelessWidget { + const RotationControls({super.key}); + + @override + Widget build(BuildContext context) { + final model = context.watch(); + final box = model.selectedBox; + if (box == null) return const SizedBox.shrink(); + + return Padding( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Rotation', + style: Theme.of(context).textTheme.titleSmall!.copyWith( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 8), + Row( + children: [ + const Text('Rotatable'), + const Spacer(), + SizedBox( + height: 20, + child: Transform.scale( + scale: 0.7, + child: Switch( + value: box.rotatable, + onChanged: (v) => model.toggleRotatable(v), + ), + ), + ), + ], + ), + const SizedBox(height: 4), + Row( + children: [ + const Text('Angle'), + const SizedBox(width: 8), + Expanded( + child: Slider( + min: -pi, + max: pi, + value: box.rotation.clamp(-pi, pi).toDouble(), + onChanged: (v) => model.setRotation(v), + ), + ), + SizedBox( + width: 48, + child: Text( + '${(box.rotation * 180 / pi).toStringAsFixed(0)}\u00B0', + textAlign: TextAlign.right, + style: Theme.of(context).textTheme.bodySmall, + ), + ), + ], + ), + const SizedBox(height: 4), + Row( + children: [ + const Text('Binding'), + const SizedBox(width: 8), + Expanded( + child: DropdownButton( + value: box.bindingStrategy, + isDense: true, + isExpanded: true, + items: const [ + DropdownMenuItem( + value: BindingStrategy.originalBox, + child: Text('Original Box'), + ), + DropdownMenuItem( + value: BindingStrategy.boundingBox, + child: Text('Bounding Box'), + ), + ], + onChanged: (v) { + if (v != null) model.setBindingStrategy(v); + }, + ), + ), + ], + ), + ], + ), + ); + } +} + +class DebugControls extends StatelessWidget { + const DebugControls({super.key}); + + @override + Widget build(BuildContext context) { + final model = context.watch(); + + Widget toggleRow(String label, bool value, ValueChanged onChanged) { + return Row( + children: [ + Expanded( + child: Text(label, style: Theme.of(context).textTheme.bodySmall), + ), + SizedBox( + height: 20, + child: Transform.scale( + scale: 0.7, + child: Switch(value: value, onChanged: onChanged), + ), + ), + ], + ); + } + + return Padding( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Debug Visualizations', + style: Theme.of(context).textTheme.titleSmall!.copyWith( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 8), + toggleRow( + 'Bounding rect (red)', + model.debugShowBoundingRect, + model.toggleDebugShowBoundingRect, + ), + toggleRow( + 'Unrotated rect (green)', + model.debugShowUnrotatedRect, + model.toggleDebugShowUnrotatedRect, + ), + toggleRow( + 'Rotation arrows', + model.debugShowRotationArrows, + model.toggleDebugShowRotationArrows, + ), + toggleRow( + 'Handle gesture regions', + model.debugPaintHandleBounds, + model.toggleDebugPaintHandleBounds, + ), + ], + ), + ); + } +} + class BoxData { final String name; Rect rect = Rect.zero; @@ -2339,6 +2608,9 @@ class BoxData { bool constraintsEnabled = false; bool resizable = true; bool draggable = true; + bool rotatable = false; + double rotation = 0.0; + BindingStrategy bindingStrategy = BindingStrategy.boundingBox; Set enabledHandles; Set visibleHandles; @@ -2357,6 +2629,9 @@ class BoxData { this.constraintsEnabled = false, this.draggable = true, this.resizable = true, + this.rotatable = false, + this.rotation = 0.0, + this.bindingStrategy = BindingStrategy.boundingBox, Set? enabledHandles, Set? visibleHandles, }) : enabledHandles = enabledHandles ?? {...HandlePosition.values} @@ -2367,7 +2642,15 @@ class BoxData { List? extendLineToRect(Rect rect, Vector2 p1, Vector2 p2) { final result = extendLinePointsToRectPoints( - rect.left, rect.top, rect.right, rect.bottom, p1.x, p1.y, p2.x, p2.y); + rect.left, + rect.top, + rect.right, + rect.bottom, + p1.x, + p1.y, + p2.x, + p2.y, + ); if (result == null) return null; diff --git a/packages/flutter_box_transform/playground/lib/resources/images.dart b/packages/flutter_box_transform/playground/lib/resources/images.dart index 6780cb7..937e67d 100644 --- a/packages/flutter_box_transform/playground/lib/resources/images.dart +++ b/packages/flutter_box_transform/playground/lib/resources/images.dart @@ -2,7 +2,6 @@ class Images { Images._(); static const String image1 = 'assets/images/image1.jpg'; - static const String image10 = 'assets/images/image10.jpg'; static const String image2 = 'assets/images/image2.jpg'; static const String image3 = 'assets/images/image3.jpg'; static const String image4 = 'assets/images/image4.jpg'; @@ -14,7 +13,6 @@ class Images { static const List values = [ image1, - image10, image2, image3, image4, @@ -22,6 +20,6 @@ class Images { image6, image7, image8, - image9 + image9, ]; } diff --git a/packages/flutter_box_transform/playground/lib/test_recorder.dart b/packages/flutter_box_transform/playground/lib/test_recorder.dart index e770744..6c5a143 100644 --- a/packages/flutter_box_transform/playground/lib/test_recorder.dart +++ b/packages/flutter_box_transform/playground/lib/test_recorder.dart @@ -38,6 +38,8 @@ class TestRecorder with ChangeNotifier { required HandlePosition handle, required Offset cursorPosition, required bool flipRect, + required double rotation, + required BindingStrategy bindingStrategy, Rect? clampingRect, BoxConstraints? constraints, }) { @@ -50,22 +52,36 @@ class TestRecorder with ChangeNotifier { clampingBox: clampingRect, constraints: constraints, flipRect: flipRect, + rotation: rotation, + bindingStrategy: bindingStrategy, ); current.add(TestRecord(action: action)); return action; } - void onResult({ + // Append a single onResizeUpdate tick to the matching record. The recorder + // captures every tick of a gesture so the exported test can replay the + // same micro-delta sequence — the bug we chase often only manifests + // tick-by-tick, not on a single direct jump from start to end. + void onUpdate({ required TestAction action, required Offset localPosition, required UITransformResult result, }) { final record = current.firstWhere((item) => item.action.id == action.id); - record.result = result; - record.localPosition = localPosition; - notifyListeners(); + record.ticks.add(TestTick(localPosition: localPosition, result: result)); } + // Legacy: kept for callers that only push a final result. Implemented as + // a tick append so old call-sites still produce a valid (single-tick) + // recording. + void onResult({ + required TestAction action, + required Offset localPosition, + required UITransformResult result, + }) => + onUpdate(action: action, localPosition: localPosition, result: result); + void stopRecording({String? saveAs}) { if (current.isNotEmpty) { tests[saveAs ?? testBeingRecorded ?? 'Test ${tests.length + 1}'] = [ @@ -81,14 +97,16 @@ class TestRecorder with ChangeNotifier { class TestRecord { final TestAction action; - UITransformResult? result; - Offset? localPosition; + final List ticks = []; - TestRecord({ - required this.action, - this.result, - this.localPosition, - }); + TestRecord({required this.action}); +} + +class TestTick { + final Offset localPosition; + final UITransformResult result; + + TestTick({required this.localPosition, required this.result}); } class TestAction with EquatableMixin { @@ -101,6 +119,8 @@ class TestAction with EquatableMixin { final Rect? clampingBox; final BoxConstraints? constraints; final bool flipRect; + final double rotation; + final BindingStrategy bindingStrategy; TestAction({ required this.resizeMode, @@ -111,6 +131,8 @@ class TestAction with EquatableMixin { this.clampingBox, this.constraints, this.flipRect = false, + this.rotation = 0.0, + this.bindingStrategy = BindingStrategy.boundingBox, }) : id = DateTime.now().millisecondsSinceEpoch; @override @@ -124,6 +146,8 @@ class TestAction with EquatableMixin { clampingBox, constraints, flipRect, + rotation, + bindingStrategy, ]; } @@ -289,10 +313,11 @@ class _TestRecorderUIState extends State { if (settings == null) return; - final path = await FilePicker.platform.saveFile( + final path = await FilePicker.saveFile( dialogTitle: 'Export tests', fileName: 'resizing_test.dart', allowedExtensions: ['.dart'], + type: FileType.custom, ); if (path == null) return; @@ -301,6 +326,7 @@ class _TestRecorderUIState extends State { roundValues: settings['roundValues'] == true, withTolerance: settings['withTolerance'] == true, ); + log('Exporting tests to $path with settings: $settings'); } catch (error, stacktrace) { log(error.toString()); log(stacktrace.toString()); @@ -317,7 +343,11 @@ class _TestRecorderUIState extends State { final List tests = []; for (final record in recorder.tests.entries) { final name = record.key; - final records = record.value; + // Skip records that captured no ticks (recorder paused mid-gesture + // before any onResizeUpdate fired). + final records = + record.value.where((r) => r.ticks.isNotEmpty).toList(); + if (records.isEmpty) continue; final contents = []; for (var index = 0; index < records.length; index++) { final record = records[index]; @@ -340,7 +370,7 @@ class _TestRecorderUIState extends State { final testFile = ''' import 'package:test/test.dart'; - import 'package:vector_math/vector_math.dart'; + import 'package:vector_math/vector_math_64.dart'; import 'package:box_transform/box_transform.dart'; ${withTolerance ? "import 'utils.dart';" : ''} @@ -349,7 +379,9 @@ class _TestRecorderUIState extends State { } '''; - final formatted = DartFormatter().format(testFile); + final formatted = DartFormatter( + languageVersion: DartFormatter.latestLanguageVersion, + ).format(testFile); final dir = Directory('tests'); if (!await dir.exists()) await dir.create(); @@ -397,13 +429,6 @@ class _TestRecorderUIState extends State { final String width = formattedValue(record.action.box.width); final String height = formattedValue(record.action.box.height); - String matcher = - 'Box.fromLTWH(${formattedValue(record.result!.rect.left)}, ${formattedValue(record.result!.rect.top)}, ${formattedValue(record.result!.rect.width)}, ${formattedValue(record.result!.rect.height)})'; - - if (withTolerance) { - matcher = 'withTolerance($matcher)'; - } - String? clampingRect; String? constraints; @@ -417,24 +442,54 @@ class _TestRecorderUIState extends State { 'Constraints(minWidth: ${formattedValue(record.action.constraints!.minWidth)}, minHeight: ${formattedValue(record.action.constraints!.minHeight)}, maxWidth: ${formattedValue(record.action.constraints!.maxWidth)}, maxHeight: ${formattedValue(record.action.constraints!.maxHeight)})'; } + // Emit the tick cursor sequence. The replay loop calls + // `BoxTransformer.resize` once per tick — the engine is stateless so + // every tick uses the SAME initialRect/initialLocalPosition (gesture + // start), with only `localPosition` varying. This is exactly how + // TransformableBoxController calls the engine during a real gesture. + final tickList = record.ticks + .map((t) => + 'Vector2(${formattedValue(t.localPosition.dx)}, ${formattedValue(t.localPosition.dy)})') + .join(',\n '); + + final hasClamp = clampingRect != null; + buffer.writeln(''' - - ${index == 0 ? 'var ' : ''}result = BoxTransformer.resize( - resizeMode: ${record.action.resizeMode}, - initialFlip: ${record.action.flip}, - initialBox: Box.fromLTWH($left, $top, $width, $height), - handle: ${record.action.handle}, - initialLocalPosition: Vector2(${formattedValue(record.action.position.dx)}, ${formattedValue(record.action.position.dy)}), - flipRect: ${record.action.flipRect}, - localPosition: Vector2(${formattedValue(record.localPosition!.dx)}, ${formattedValue(record.localPosition!.dy)}), - ${clampingRect != null ? 'clampingRect: $clampingRect,' : ''} - ${constraints != null ? 'constraints: $constraints,' : ''} - ); - - expect(result.flip, ${record.result!.flip}); - expect(result.rect${roundValues ? '.floor()' : ''}, $matcher); - expect(result.resizeMode, ${record.result!.resizeMode}); - + + ${index == 0 ? 'final ' : ''}initialRect = Box.fromLTWH($left, $top, $width, $height); + ${index == 0 ? 'final ' : ''}initialCursor = Vector2(${formattedValue(record.action.position.dx)}, ${formattedValue(record.action.position.dy)}); + ${index == 0 ? 'final ' : ''}cursors = [ + $tickList, + ]; + ${index == 0 ? 'late RawResizeResult ' : ''}result; + for (var i = 0; i < cursors.length; i++) { + result = BoxTransformer.resize( + resizeMode: ${record.action.resizeMode}, + initialFlip: ${record.action.flip}, + initialRect: initialRect, + handle: ${record.action.handle}, + initialLocalPosition: initialCursor, + allowFlipping: ${record.action.flipRect}, + rotation: ${record.action.rotation}, + bindingStrategy: ${record.action.bindingStrategy}, + localPosition: cursors[i], + ${hasClamp ? 'clampingRect: $clampingRect,' : ''} + ${constraints != null ? 'constraints: $constraints,' : ''} + ); + ${hasClamp ? ''' + // Invariant: rect must stay inside clamp at every tick. + final clamp = $clampingRect; + expect(result.rect.left, greaterThanOrEqualTo(clamp.left - 1e-3), + reason: 'tick \$i: rect.left=\${result.rect.left} leaked clamp.left=\${clamp.left}'); + expect(result.rect.top, greaterThanOrEqualTo(clamp.top - 1e-3), + reason: 'tick \$i: rect.top=\${result.rect.top} leaked clamp.top=\${clamp.top}'); + expect(result.rect.right, lessThanOrEqualTo(clamp.right + 1e-3), + reason: 'tick \$i: rect.right=\${result.rect.right} leaked clamp.right=\${clamp.right}'); + expect(result.rect.bottom, lessThanOrEqualTo(clamp.bottom + 1e-3), + reason: 'tick \$i: rect.bottom=\${result.rect.bottom} leaked clamp.bottom=\${clamp.bottom}'); + ''' : ''} + } + '''); return buffer.toString(); diff --git a/packages/flutter_box_transform/playground/macos/Podfile b/packages/flutter_box_transform/playground/macos/Podfile index 049abe2..9ec46f8 100644 --- a/packages/flutter_box_transform/playground/macos/Podfile +++ b/packages/flutter_box_transform/playground/macos/Podfile @@ -1,4 +1,4 @@ -platform :osx, '10.14' +platform :osx, '10.15' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/packages/flutter_box_transform/playground/macos/Runner.xcodeproj/project.pbxproj b/packages/flutter_box_transform/playground/macos/Runner.xcodeproj/project.pbxproj index 2bf17b0..cbc4062 100644 --- a/packages/flutter_box_transform/playground/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/flutter_box_transform/playground/macos/Runner.xcodeproj/project.pbxproj @@ -406,7 +406,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -485,7 +485,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -532,7 +532,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/packages/flutter_box_transform/playground/macos/Runner/DebugProfile.entitlements b/packages/flutter_box_transform/playground/macos/Runner/DebugProfile.entitlements index d35e43a..f8697e3 100644 --- a/packages/flutter_box_transform/playground/macos/Runner/DebugProfile.entitlements +++ b/packages/flutter_box_transform/playground/macos/Runner/DebugProfile.entitlements @@ -4,5 +4,7 @@ com.apple.security.cs.allow-jit + com.apple.security.files.user-selected.read-write + diff --git a/packages/flutter_box_transform/playground/macos/Runner/Release.entitlements b/packages/flutter_box_transform/playground/macos/Runner/Release.entitlements index 0c67376..080e1e0 100644 --- a/packages/flutter_box_transform/playground/macos/Runner/Release.entitlements +++ b/packages/flutter_box_transform/playground/macos/Runner/Release.entitlements @@ -1,5 +1,8 @@ - + + com.apple.security.files.user-selected.read-write + + diff --git a/packages/flutter_box_transform/playground/macos/Runner/RunnerDebug.entitlements b/packages/flutter_box_transform/playground/macos/Runner/RunnerDebug.entitlements index d35e43a..f8697e3 100644 --- a/packages/flutter_box_transform/playground/macos/Runner/RunnerDebug.entitlements +++ b/packages/flutter_box_transform/playground/macos/Runner/RunnerDebug.entitlements @@ -4,5 +4,7 @@ com.apple.security.cs.allow-jit + com.apple.security.files.user-selected.read-write + diff --git a/packages/flutter_box_transform/playground/macos/RunnerTests/RunnerTests.swift b/packages/flutter_box_transform/playground/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..61f3bd1 --- /dev/null +++ b/packages/flutter_box_transform/playground/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Cocoa +import FlutterMacOS +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/packages/flutter_box_transform/playground/pubspec.yaml b/packages/flutter_box_transform/playground/pubspec.yaml index 39ecf8c..e326283 100644 --- a/packages/flutter_box_transform/playground/pubspec.yaml +++ b/packages/flutter_box_transform/playground/pubspec.yaml @@ -5,26 +5,28 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 0.1.0+1 environment: - sdk: '>=3.0.0 <4.0.0' - flutter: ">=3.3.0" + sdk: ^3.6.0 + flutter: ">=3.27.0" + +resolution: workspace dependencies: flutter: sdk: flutter - adaptive_theme: ^3.6.0 + adaptive_theme: ^3.7.0 url_launcher: ^6.3.0 - provider: ^6.1.2 - equatable: ^2.0.5 - dart_style: ^2.3.6 + provider: ^6.1.5 + equatable: ^2.0.7 + dart_style: ^3.1.0 vector_math: ^2.1.4 - file_picker: ^8.0.7 + file_picker: ^11.0.0 flutter_box_transform: path: ../ dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^4.0.0 + flutter_lints: ^6.0.0 flutter: uses-material-design: true @@ -34,10 +36,10 @@ flutter: - assets/images/image1.jpg - assets/images/image2.jpg - assets/images/image3.jpg + - assets/images/image1.jpg - assets/images/image4.jpg - assets/images/image5.jpg - assets/images/image6.jpg - assets/images/image7.jpg - assets/images/image8.jpg - assets/images/image9.jpg - - assets/images/image10.jpg diff --git a/packages/flutter_box_transform/pubspec.yaml b/packages/flutter_box_transform/pubspec.yaml index f589a0d..14f44c7 100644 --- a/packages/flutter_box_transform/pubspec.yaml +++ b/packages/flutter_box_transform/pubspec.yaml @@ -9,8 +9,10 @@ issue_tracker: https://github.com/hyper-designed/box_transform/issues documentation: https://docs.page/hyper-designed/box_transform environment: - sdk: '>=3.0.0 <4.0.0' - flutter: ">=3.10.0" + sdk: ^3.6.0 + flutter: ">=3.27.0" + +resolution: workspace dependencies: flutter: @@ -21,7 +23,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^5.0.0 + flutter_lints: ^6.0.0 topics: - rectangle diff --git a/packages/flutter_box_transform/test/binding_strategy_helpers_test.dart b/packages/flutter_box_transform/test/binding_strategy_helpers_test.dart new file mode 100644 index 0000000..5127b10 --- /dev/null +++ b/packages/flutter_box_transform/test/binding_strategy_helpers_test.dart @@ -0,0 +1,128 @@ +import 'dart:math' as math; + +import 'package:flutter/widgets.dart'; +import 'package:flutter_box_transform/flutter_box_transform.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + group('RotatedLayout.computeEffectiveContainmentRect (pure function)', () { + test('boundingBox returns the rotated AABB for rotated rects', () { + const rect = Rect.fromLTWH(0, 0, 100, 100); + final ecr = RotatedLayout.computeEffectiveContainmentRect( + rect: rect, + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.boundingBox, + ); + expect(ecr.width, closeTo(100 * math.sqrt2, 1e-4)); + expect(ecr.height, closeTo(100 * math.sqrt2, 1e-4)); + // Centered at the same point as the unrotated rect. + expect(ecr.center.dx, closeTo(50, 1e-9)); + expect(ecr.center.dy, closeTo(50, 1e-9)); + }); + + test('originalBox returns the unrotated rect unchanged', () { + const rect = Rect.fromLTWH(10, 20, 100, 80); + final ecr = RotatedLayout.computeEffectiveContainmentRect( + rect: rect, + rotation: math.pi / 3, + bindingStrategy: BindingStrategy.originalBox, + ); + expect(ecr, rect); + }); + + test('theta=0 both strategies equal the rect', () { + const rect = Rect.fromLTWH(5, 5, 80, 60); + for (final s in BindingStrategy.values) { + final ecr = RotatedLayout.computeEffectiveContainmentRect( + rect: rect, + rotation: 0.0, + bindingStrategy: s, + ); + expect(ecr, rect, reason: 'strategy $s at theta=0 must equal rect'); + } + }); + }); + + group('controller.effectiveContainmentRect', () { + test('boundingBox controller returns rotated AABB', () { + final c = TransformableBoxController( + rect: const Rect.fromLTWH(0, 0, 100, 100), + rotation: math.pi / 4, + bindingStrategy: BindingStrategy.boundingBox, + ); + expect(c.effectiveContainmentRect.width, closeTo(100 * math.sqrt2, 1e-4)); + // Same as boundingRect for this strategy. + expect(c.effectiveContainmentRect, c.boundingRect); + }); + + test('originalBox controller returns unrotated rect', () { + final c = TransformableBoxController( + rect: const Rect.fromLTWH(10, 20, 100, 80), + rotation: math.pi / 3, + bindingStrategy: BindingStrategy.originalBox, + ); + expect(c.effectiveContainmentRect, c.rect); + }); + }); + + group('setBindingStrategy reconciliation', () { + test('reconciles position when switching to a tighter strategy', () { + // Box at (0, 0, 100, 100), rotation pi/4. Clamp (-100, -100, 100, 100). + // Under originalBox: rect corners at (0,0), (100,0), (100,100), (0,100) + // — last corner is outside clamp.right=100? (100, 100) is at the + // clamp boundary. For this geometry, originalBox is basically + // at the edge. + // Under boundingBox: rotated bounding half-width = 70.71, center at + // (50, 50). Rotated right-extreme at 50 + 70.71 = 120.71, OUTSIDE + // clamp.right=100. So under boundingBox this config is infeasible + // — switching to boundingBox must translate the box left so the + // rotated bounding fits. + // Target center.x = 100 - 70.71 = 29.29, so rect.left = -20.71. + // By symmetry, center.y = 29.29, rect.top = -20.71. + final c = TransformableBoxController( + rect: const Rect.fromLTWH(0, 0, 100, 100), + rotation: math.pi / 4, + clampingRect: const Rect.fromLTRB(-100, -100, 100, 100), + bindingStrategy: BindingStrategy.originalBox, + ); + // Sanity: initial rect untouched. + expect(c.rect.left, 0); + expect(c.rect.top, 0); + + c.setBindingStrategy(BindingStrategy.boundingBox); + + // Translated to fit rotated bounding in clamp. + expect(c.rect.left, lessThan(-1), + reason: 'box must translate when switching to tighter strategy'); + // Size preserved (translate-only reconciliation, no shrink). + expect(c.rect.width, closeTo(100, 1e-6)); + expect(c.rect.height, closeTo(100, 1e-6)); + }); + + test('no-op when new strategy is already satisfied', () { + // Generous clamp — rect is valid under either strategy; no change. + final c = TransformableBoxController( + rect: const Rect.fromLTWH(0, 0, 100, 100), + rotation: math.pi / 4, + clampingRect: const Rect.fromLTRB(-500, -500, 500, 500), + bindingStrategy: BindingStrategy.originalBox, + ); + final initialRect = c.rect; + c.setBindingStrategy(BindingStrategy.boundingBox); + expect(c.rect.left, initialRect.left); + expect(c.rect.top, initialRect.top); + expect(c.rect.width, initialRect.width); + expect(c.rect.height, initialRect.height); + }); + + test('bindingStrategy field reflects the new value', () { + final c = TransformableBoxController( + rect: const Rect.fromLTWH(0, 0, 100, 100), + bindingStrategy: BindingStrategy.originalBox, + ); + expect(c.bindingStrategy, BindingStrategy.originalBox); + c.setBindingStrategy(BindingStrategy.boundingBox); + expect(c.bindingStrategy, BindingStrategy.boundingBox); + }); + }); +} diff --git a/packages/flutter_box_transform/test/clamp_shrink_continuity_test.dart b/packages/flutter_box_transform/test/clamp_shrink_continuity_test.dart new file mode 100644 index 0000000..6a9766c --- /dev/null +++ b/packages/flutter_box_transform/test/clamp_shrink_continuity_test.dart @@ -0,0 +1,419 @@ +import 'dart:math' as math; + +import 'package:flutter/material.dart'; +import 'package:flutter_box_transform/flutter_box_transform.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Reproduces the user report: slowly dragging the playground's clamping +/// rect's right edge toward the box via "aggressive tiny deltas" causes +/// the box to visibly "flick" to an odd offset at the moment the clamp +/// reaches its minimum width (= rotated bounding rect of the box). +/// +/// Root cause: each parent repump with a tighter clamp used to trigger +/// `setClampingRect(..., recalculate: true)` in `didUpdateWidget`, which +/// runs a zero-delta `recalculateSize` under `ResizeMode.scale`. For a +/// rotated box against a tight clamp the scale solver picks the largest +/// (w, h) that fits — strictly smaller than the current box by a sliver. +/// Accumulated over many ticks, the slivers manifest as a visible shrink +/// + off-edge flick. +/// +/// This first test bypasses the widget layer and directly calls +/// `controller.setClampingRect(...)` per tick with `recalculate: true`. +/// It does NOT reproduce the bug on its own (see test 2 for the widget- +/// level reproduction that does). It's retained as a lower-level sanity +/// guard — any regression that leaks into the controller path would +/// flick here too. +void main() { + test( + 'shrinking clamp from the right in 1 px ticks must produce continuous ' + 'box motion — no flicks at the last tick before saturation', + () { + const theta = math.pi / 6; + final c = TransformableBoxController( + rect: const Rect.fromLTWH(200, 200, 100, 100), + rotation: theta, + clampingRect: const Rect.fromLTRB(50, 50, 500, 500), + bindingStrategy: BindingStrategy.boundingBox, + ); + final double initialBoundingW = c.boundingRect.width; + final double initialBoundingH = c.boundingRect.height; + final double minClampRight = 50 + initialBoundingW; + + double prevLeft = c.rect.left; + double prevTop = c.rect.top; + const double tick = 1.0; + + // Shrink until (and including) clamp.width == boundingW (saturation). + // We do NOT over-shrink beyond saturation — the clamp's own controller + // in the playground refuses to shrink below minWidth, so we honour + // that boundary here. + double right = 500.0; + int stepIdx = 0; + while (right > minClampRight + tick * 0.5) { + right -= tick; + c.setClampingRect(Rect.fromLTRB(50, 50, right, 500)); + final dLeft = (c.rect.left - prevLeft).abs(); + final dTop = (c.rect.top - prevTop).abs(); + expect( + dLeft, + lessThanOrEqualTo(tick + 0.01), + reason: 'step $stepIdx (right=$right): box.left jumped by $dLeft ' + '(>tick=$tick) — flick bug', + ); + expect( + dTop, + lessThanOrEqualTo(tick + 0.01), + reason: 'step $stepIdx (right=$right): box.top jumped by $dTop ' + '(>tick=$tick) — flick bug', + ); + prevLeft = c.rect.left; + prevTop = c.rect.top; + stepIdx++; + } + + // Final saturation tick exactly at boundingW. + c.setClampingRect(Rect.fromLTRB(50, 50, minClampRight, 500)); + final dSatLeft = (c.rect.left - prevLeft).abs(); + final dSatTop = (c.rect.top - prevTop).abs(); + expect( + dSatLeft, + lessThanOrEqualTo(tick + 0.01), + reason: 'saturation tick: box.left flicked by $dSatLeft', + ); + expect( + dSatTop, + lessThanOrEqualTo(tick + 0.01), + reason: 'saturation tick: box.top flicked by $dSatTop', + ); + + // Sanity: size preserved throughout (pure translation). + expect(c.rect.width, closeTo(100, 1e-6)); + expect(c.rect.height, closeTo(100, 1e-6)); + expect(c.boundingRect.width, closeTo(initialBoundingW, 1e-6)); + expect(c.boundingRect.height, closeTo(initialBoundingH, 1e-6)); + }, + ); + + testWidgets( + 'WIDGET (user scenario): 396x428 box, rotation ~15°, aggressive shrink', + (tester) async { + // Mirror the playground screenshot: box at (269, 165, 396, 428), + // rotation ~15° (0.26 rad), clampingRect starts wide and shrinks from + // the right. The playground's ClampingRect widget computes minWidth + // from the box's bounding rect, but at each tick the clamp feeds back + // a new rect, so we simulate the exact widget pump. + const theta = 0.26; + const double boxW = 396; + const double boxH = 428; + final boundingW = + boxW * math.cos(theta).abs() + boxH * math.sin(theta).abs(); + + final key = GlobalKey>(); + Future pumpWithClamp(Rect clamp) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: SizedBox( + width: 1400, + height: 1200, + child: Stack( + children: [ + TransformableBox( + key: key, + rect: const Rect.fromLTWH(269, 165, boxW, boxH), + rotation: theta, + clampingRect: clamp, + bindingStrategy: BindingStrategy.boundingBox, + contentBuilder: (_, __, ___) => + const ColoredBox(color: Color(0xFF4B9EF4)), + ), + ], + ), + ), + ), + ), + ); + } + + TransformableBoxController readC() => + // ignore: avoid_dynamic_calls + (key.currentState! as dynamic).controller + as TransformableBoxController; + + // Initial clamp spans the whole stage. + await pumpWithClamp(const Rect.fromLTRB(0, 0, 1400, 1200)); + final initW = readC().rect.width; + final initH = readC().rect.height; + double prevLeft = readC().rect.left; + double prevTop = readC().rect.top; + const double tick = 1.0; + + int idx = 0; + // Shrink clamp.right aggressively, going through saturation and beyond. + // Clamp minWidth stop is ~boundingW; test drives it all the way. + for (double right = 1400 - tick; right >= boundingW - 50; right -= tick) { + await pumpWithClamp(Rect.fromLTRB(0, 0, right, 1200)); + final c = readC(); + final dLeft = (c.rect.left - prevLeft).abs(); + final dTop = (c.rect.top - prevTop).abs(); + final dW = (c.rect.width - initW).abs(); + final dH = (c.rect.height - initH).abs(); + expect(dLeft, lessThanOrEqualTo(tick + 0.01), + reason: 'step $idx (right=$right): box.left flicked $dLeft'); + expect(dTop, lessThanOrEqualTo(tick + 0.01), + reason: 'step $idx (right=$right): box.top flicked $dTop'); + expect(dW, lessThanOrEqualTo(0.01), + reason: 'step $idx (right=$right): box.width shrank by $dW ' + '(should be pure translation, no size change)'); + expect(dH, lessThanOrEqualTo(0.01), + reason: 'step $idx (right=$right): box.height shrank by $dH'); + prevLeft = c.rect.left; + prevTop = c.rect.top; + idx++; + } + }, + ); + + testWidgets( + 'WIDGET: progressive clampingRect shrink via pumpWidget — no flick', + (tester) async { + // True widget-level reproduction using the playground's pattern: + // NO external controller — `clampingRect` is passed as a widget arg, + // so each re-pump triggers didUpdateWidget → setClampingRect(...) + // (internal recalc) + recalculatePosition + recalculateSize. + const theta = math.pi / 6; + // Keep a reference to the internal controller via a Global key so we + // can read its rect between pumps. + final key = GlobalKey>(); + + Future pumpWithClamp(Rect clamp) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: SizedBox( + width: 800, + height: 600, + child: Stack( + children: [ + TransformableBox( + key: key, + rect: const Rect.fromLTWH(200, 200, 100, 100), + rotation: theta, + clampingRect: clamp, + bindingStrategy: BindingStrategy.boundingBox, + contentBuilder: (_, __, ___) => + const ColoredBox(color: Color(0xFF4B9EF4)), + ), + ], + ), + ), + ), + ), + ); + } + + // Read the internal controller via reflection on the State's field. + TransformableBoxController readController() { + // ignore: avoid_dynamic_calls + return (key.currentState! as dynamic).controller + as TransformableBoxController; + } + + await pumpWithClamp(const Rect.fromLTRB(50, 50, 500, 500)); + double prevLeft = readController().rect.left; + double prevTop = readController().rect.top; + const double tick = 1.0; + + int idx = 0; + for (double right = 500 - tick; right >= 100; right -= tick) { + await pumpWithClamp(Rect.fromLTRB(50, 50, right, 500)); + final c = readController(); + final dLeft = (c.rect.left - prevLeft).abs(); + final dTop = (c.rect.top - prevTop).abs(); + expect( + dLeft, + lessThanOrEqualTo(tick + 0.01), + reason: 'widget step $idx (right=$right): box.left ' + 'jumped by $dLeft (>tick=$tick) — FLICK', + ); + expect( + dTop, + lessThanOrEqualTo(tick + 0.01), + reason: 'widget step $idx (right=$right): box.top ' + 'jumped by $dTop (>tick=$tick) — FLICK', + ); + prevLeft = c.rect.left; + prevTop = c.rect.top; + idx++; + } + }, + ); + + test( + 'widget-style double recalc path: shrink clamp in 1 px ticks, no flick', + () { + // Mirror the exact sequence `TransformableBox.didUpdateWidget` runs + // when the parent passes a new clampingRect: + // 1. controller.setClampingRect(new, notify: false) + // → internally calls recalculate() = recalculatePosition + // + recalculateSize (both zero-delta). + // 2. controller.recalculatePosition(notify: false) (explicit) + // 3. controller.recalculateSize(notify: false) (explicit) + // My earlier direct-controller test only ran step 1's recalc; this + // test runs all three per tick, matching what the playground actually + // invokes. + const theta = math.pi / 6; + final c = TransformableBoxController( + rect: const Rect.fromLTWH(200, 200, 100, 100), + rotation: theta, + clampingRect: const Rect.fromLTRB(50, 50, 500, 500), + bindingStrategy: BindingStrategy.boundingBox, + ); + + double right = 500.0; + const double tick = 1.0; + double prevLeft = c.rect.left; + double prevTop = c.rect.top; + + int stepIdx = 0; + // Drive clamp.right down to and through saturation in 1 px steps. + while (right > 50 + 100) { + right -= tick; + c.setClampingRect(Rect.fromLTRB(50, 50, right, 500)); + c.recalculatePosition(notify: false); + c.recalculateSize(notify: false); + final dLeft = (c.rect.left - prevLeft).abs(); + final dTop = (c.rect.top - prevTop).abs(); + expect( + dLeft, + lessThanOrEqualTo(tick + 0.01), + reason: 'step $stepIdx (right=$right): box.left jumped by $dLeft', + ); + expect( + dTop, + lessThanOrEqualTo(tick + 0.01), + reason: 'step $stepIdx (right=$right): box.top jumped by $dTop', + ); + prevLeft = c.rect.left; + prevTop = c.rect.top; + stepIdx++; + } + }, + ); + + testWidgets( + 'E2E (both widgets in tree): dragging ClampingRect\'s right handle ' + 'translates the rotated inner box without shrinking it', + (tester) async { + // Faithful reproduction of the playground's controlled-component loop: + // outer ClampingRect emits onChanged → setState → outer rebuilds with + // new rect AND inner rebuilds with new clampingRect. The inner's + // widget.rect is intentionally held constant across pumps: in the + // playground, ImageBox's widget.rect comes from PlaygroundModel and + // is ONLY updated by direct image gestures via onChanged. Clamp- + // driven internal translations via recalculatePosition(notify:false) + // never propagate back to the model, so the playground's + // widget.rect is stale across the entire clamp drag — exactly what + // a constant widget.rect here simulates. Saturation (clamp stops + // changing while parent keeps rebuilding) is the frame where the + // didUpdateWidget rect-sync branch must not snap the controller + // back to widget.rect without re-applying clamp translation. + const theta = math.pi / 6; + const Rect initialImg = Rect.fromLTWH(200, 200, 100, 100); + Rect clamp = const Rect.fromLTRB(50, 50, 700, 550); + + final imgKey = GlobalKey>(); + TransformableBoxController readInner() => + // ignore: avoid_dynamic_calls + (imgKey.currentState! as dynamic).controller + as TransformableBoxController; + + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: SizedBox( + width: 800, + height: 600, + child: StatefulBuilder( + builder: (context, setState) { + // Mirror playground/main.dart:828 — minWidth/minHeight for + // the clamp widget are derived from the inner box's rotated + // bounding rect. Inner shouldn't shrink, so this is stable. + final innerBounding = ClampHelpers.calculateBoundingRect( + initialImg.toBox(rotation: theta), + ); + return Stack( + children: [ + TransformableBox( + rect: clamp, + flip: Flip.none, + clampingRect: const Rect.fromLTRB(0, 0, 800, 600), + allowFlippingWhileResizing: false, + constraints: BoxConstraints( + minWidth: innerBounding.width, + minHeight: innerBounding.height, + ), + onChanged: (result, _) => setState(() { + clamp = result.rect; + }), + contentBuilder: (_, __, ___) => + const ColoredBox(color: Color(0x22FF0000)), + ), + TransformableBox( + key: imgKey, + rect: initialImg, + rotation: theta, + clampingRect: clamp, + bindingStrategy: BindingStrategy.boundingBox, + contentBuilder: (_, __, ___) => + const ColoredBox(color: Color(0xFF4B9EF4)), + ), + ], + ); + }, + ), + ), + ), + ); + + // Outer clamp is unrotated; right-middle handle sits at (700, 300). + final gesture = await tester.startGesture(const Offset(700, 300)); + await tester.pump(); + + final double initW = readInner().rect.width; + final double initH = readInner().rect.height; + double prevLeft = readInner().rect.left; + double prevTop = readInner().rect.top; + const double stepPx = 1.0; + + // Drag inward ~600 px. clamp.right goes 700 → ~100. Saturation for the + // inner 100x100 @ pi/6 happens near 50 + bounding.width ≈ 50 + 137. + // We over-drive past saturation to prove the clamp bottoms out cleanly. + for (int i = 0; i < 600; i++) { + await gesture.moveBy(const Offset(-stepPx, 0)); + await tester.pump(); + + final c = readInner(); + final dLeft = (c.rect.left - prevLeft).abs(); + final dTop = (c.rect.top - prevTop).abs(); + final dW = (c.rect.width - initW).abs(); + final dH = (c.rect.height - initH).abs(); + + expect(dLeft, lessThanOrEqualTo(stepPx + 0.05), + reason: 'step $i: inner.left flicked $dLeft'); + expect(dTop, lessThanOrEqualTo(stepPx + 0.05), + reason: 'step $i: inner.top flicked $dTop'); + expect(dW, lessThanOrEqualTo(0.05), + reason: 'step $i: inner.width drifted $dW (not pure translation)'); + expect(dH, lessThanOrEqualTo(0.05), + reason: 'step $i: inner.height drifted $dH'); + + prevLeft = c.rect.left; + prevTop = c.rect.top; + } + + await gesture.up(); + await tester.pump(); + }, + ); +} diff --git a/packages/flutter_box_transform/test/resize_force_flip_fallback_test.dart b/packages/flutter_box_transform/test/resize_force_flip_fallback_test.dart new file mode 100644 index 0000000..a5ded15 --- /dev/null +++ b/packages/flutter_box_transform/test/resize_force_flip_fallback_test.dart @@ -0,0 +1,131 @@ +import 'dart:math' as math; + +import 'package:flutter/material.dart'; +import 'package:flutter_box_transform/flutter_box_transform.dart'; +import 'package:flutter_test/flutter_test.dart'; + +// When a rotated freeform resize gesture pushes the cursor past the anchor +// in a force-flip direction but the flipped state can't satisfy clamp + +// constraints, the engine falls back to the natural (un-flipped) direction. +// The rect then tracks the cursor by clamp-pinning at the natural wall — +// "expectantly clamped" — instead of freezing. +// +// Freeze (controller holds last-feasible, result.feasible=false) is now +// reserved for the rare case where neither force-flip NOR natural direction +// can produce a valid rect — a scenario that effectively requires the +// gesture-start state to also be infeasible, which the controller setup +// itself guards against. + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + + const theta = math.pi / 6; + const rectSize = 100.0; + const rectLeft = 50.0; + const rectTop = 50.0; + final center = Offset(rectLeft + rectSize / 2, rectTop + rectSize / 2); + final cosT = math.cos(theta); + final sinT = math.sin(theta); + + Offset rotateAroundCenter(Offset unrotated) { + final dx = unrotated.dx - center.dx; + final dy = unrotated.dy - center.dy; + return Offset( + center.dx + dx * cosT - dy * sinT, + center.dy + dx * sinT + dy * cosT, + ); + } + + group('Resize gesture: natural-direction fallback when flip is infeasible', + () { + test( + 'cursor past anchor in flip territory tracks natural direction ' + 'instead of freezing (rect stays inside clamp, no flip)', + () { + final c = TransformableBoxController( + rect: const Rect.fromLTWH(rectLeft, rectTop, rectSize, rectSize), + clampingRect: const Rect.fromLTRB(0, 0, 200, 200), + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + constraints: const BoxConstraints( + minWidth: 80, + minHeight: 80, + maxWidth: 500, + maxHeight: 500, + ), + ); + c.onResizeStart(rotateAroundCenter(const Offset(rectLeft, rectTop))); + + // Cursor far past the bottomRight anchor → would request a + // diagonal flip. Min 80×80 flipped at this rotation can't fit + // the clamp. Engine falls back to natural direction; result is + // feasible with no flip. + final tick = c.onResizeUpdate( + const Offset(1000, 1000), + HandlePosition.topLeft, + ); + expect(tick.feasible, isTrue, + reason: 'natural-direction fallback keeps the gesture feasible'); + expect(tick.flip, equals(Flip.none), + reason: 'fallback rect is not flipped'); + // Rect must stay inside clamp. + const clamp = Rect.fromLTRB(0, 0, 200, 200); + expect(tick.rect.left, greaterThanOrEqualTo(clamp.left - 1e-3)); + expect(tick.rect.top, greaterThanOrEqualTo(clamp.top - 1e-3)); + expect(tick.rect.right, lessThanOrEqualTo(clamp.right + 1e-3)); + expect(tick.rect.bottom, lessThanOrEqualTo(clamp.bottom + 1e-3)); + }, + ); + + test( + 'rect tracks cursor through flip territory (multiple ticks): ' + 'each tick produces a fresh natural-direction result, not frozen', + () { + // Move the cursor through several positions deep in flip territory. + // Without the fallback, every tick would freeze at last-feasible + // (the same rect every tick). With the fallback, each tick gets + // a fresh feasible rect that depends on the cursor position. + final c = TransformableBoxController( + rect: const Rect.fromLTWH(rectLeft, rectTop, rectSize, rectSize), + clampingRect: const Rect.fromLTRB(0, 0, 200, 200), + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + constraints: const BoxConstraints( + minWidth: 80, + minHeight: 80, + maxWidth: 500, + maxHeight: 500, + ), + ); + c.onResizeStart(rotateAroundCenter(const Offset(rectLeft, rectTop))); + // All three cursor positions are far past the bottomRight anchor + // (force-flip territory), but at different distances. + final t1 = + c.onResizeUpdate(const Offset(800, 800), HandlePosition.topLeft); + final r1 = c.rect; + final t2 = + c.onResizeUpdate(const Offset(1200, 1200), HandlePosition.topLeft); + final r2 = c.rect; + final t3 = + c.onResizeUpdate(const Offset(2000, 2000), HandlePosition.topLeft); + final r3 = c.rect; + for (final t in [t1, t2, t3]) { + expect(t.feasible, isTrue, + reason: 'fallback feasible for every tick in flip territory'); + expect(t.flip, equals(Flip.none)); + } + // Rect must be clamp-pinned (large size); verifying it actually + // moves with the cursor would require a non-degenerate clamp wall + // intersection — what we can assert universally is that none of + // the three states is the gesture-start sentinel. + for (final r in [r1, r2, r3]) { + expect( + r, + isNot(equals( + const Rect.fromLTWH(rectLeft, rectTop, rectSize, rectSize))), + reason: 'rect must respond to cursor, not stay at start'); + } + }, + ); + }); +} diff --git a/packages/flutter_box_transform/test/rotated_drag_hit_gate_test.dart b/packages/flutter_box_transform/test/rotated_drag_hit_gate_test.dart new file mode 100644 index 0000000..f961f85 --- /dev/null +++ b/packages/flutter_box_transform/test/rotated_drag_hit_gate_test.dart @@ -0,0 +1,215 @@ +import 'dart:math' as math; + +import 'package:flutter/material.dart'; +import 'package:flutter_box_transform/flutter_box_transform.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Regression: the drag GestureDetector is axis-aligned over the rotated +/// box's AABB. Before the RotatedHitGate, the four triangular wedges of +/// the AABB outside the rotated polygon registered drag/tap events — +/// visible as "draggable outside the rendered rotated pixels." These +/// tests assert the hit region matches the rotated polygon exactly. +void main() { + Future pumpBox( + WidgetTester tester, { + required Rect rect, + required double rotation, + VoidCallback? onTap, + double stageW = 800, + double stageH = 600, + }) async { + final controller = TransformableBoxController( + rect: rect, + rotation: rotation, + ); + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: SizedBox( + width: stageW, + height: stageH, + child: Stack( + children: [ + TransformableBox( + controller: controller, + onTap: onTap, + contentBuilder: (context, r, flip) => + const ColoredBox(color: Color(0xFF4B9EF4)), + ), + ], + ), + ), + ), + ); + await tester.pump(); + return controller; + } + + group('square @ pi/4 (center at 250,250)', () { + testWidgets( + 'tap in AABB wedge (outside rotated polygon) does NOT fire onTap', + (tester) async { + int tapCount = 0; + await pumpBox( + tester, + rect: const Rect.fromLTWH(200, 200, 100, 100), + rotation: math.pi / 4, + onTap: () => tapCount++, + ); + // AABB ~ (179.3, 179.3, 320.7, 320.7). (180, 180) is in the + // top-left wedge: rotated back by -pi/4 about (250,250), local + // ~ (151, 250) — outside rect (200,200,300,300). + await tester.tapAt(const Offset(180, 180)); + await tester.pump(); + expect(tapCount, 0, reason: 'tap in AABB wedge must not fire onTap'); + }, + ); + + testWidgets( + 'tap at polygon center fires onTap', + (tester) async { + int tapCount = 0; + await pumpBox( + tester, + rect: const Rect.fromLTWH(200, 200, 100, 100), + rotation: math.pi / 4, + onTap: () => tapCount++, + ); + await tester.tapAt(const Offset(250, 250)); + await tester.pump(); + expect(tapCount, 1); + }, + ); + + testWidgets( + 'drag started in AABB wedge does NOT move the box', + (tester) async { + final c = await pumpBox( + tester, + rect: const Rect.fromLTWH(200, 200, 100, 100), + rotation: math.pi / 4, + ); + final Rect initial = c.rect; + final gesture = await tester.startGesture(const Offset(180, 180)); + await tester.pump(); + await gesture.moveBy(const Offset(50, 50)); + await tester.pump(); + await gesture.up(); + await tester.pump(); + expect(c.rect, initial, + reason: 'drag from AABB wedge must not move box'); + }, + ); + + testWidgets( + 'drag started in polygon translates the box normally', + (tester) async { + final c = await pumpBox( + tester, + rect: const Rect.fromLTWH(200, 200, 100, 100), + rotation: math.pi / 4, + ); + final gesture = await tester.startGesture(const Offset(250, 250)); + await tester.pump(); + await gesture.moveBy(const Offset(-50, 0)); + await tester.pump(); + await gesture.up(); + await tester.pump(); + expect(c.rect.left, closeTo(150, 0.5)); + expect(c.rect.top, closeTo(200, 0.5)); + }, + ); + }); + + testWidgets( + 'theta=0: interior tap fires (no regression)', + (tester) async { + int tapCount = 0; + await pumpBox( + tester, + rect: const Rect.fromLTWH(200, 200, 100, 100), + rotation: 0.0, + onTap: () => tapCount++, + ); + // Single interior tap. With no rotation the gate's unrotated check is + // the identity, so any interior AABB point must pass through. + await tester.tapAt(const Offset(250, 250)); + await tester.pump(); + expect(tapCount, 1); + }, + ); + + testWidgets( + 'non-square 160x80 @ pi/6: wedge tap rejected, center tap accepted', + (tester) async { + int tapCount = 0; + await pumpBox( + tester, + rect: const Rect.fromLTWH(200, 200, 160, 80), + rotation: math.pi / 6, + onTap: () => tapCount++, + ); + // Center of this rect is (280, 240). AABB ~ (190.7, 165.4, 369.3, 314.6). + // (191, 166) is in the top-left wedge: rotated back, local ~ (165.9, + // 220.4) — outside rect (200, 200, 360, 280). + await tester.tapAt(const Offset(191, 166)); + await tester.pump(); + expect(tapCount, 0, reason: 'non-square @ pi/6 wedge tap must not fire'); + // Polygon center IS inside. + await tester.tapAt(const Offset(280, 240)); + await tester.pump(); + expect(tapCount, 1); + }, + ); + + testWidgets( + 'far-translated box (center ~1000,1000): wedge vs polygon', + (tester) async { + // Default test surface is 800x600; enlarge so (1000,1000) is on-screen. + tester.view.physicalSize = const Size(1200, 1200); + tester.view.devicePixelRatio = 1.0; + addTearDown(tester.view.resetPhysicalSize); + addTearDown(tester.view.resetDevicePixelRatio); + + int tapCount = 0; + await pumpBox( + tester, + rect: const Rect.fromLTWH(950, 950, 100, 100), + rotation: math.pi / 4, + onTap: () => tapCount++, + stageW: 1200, + stageH: 1200, + ); + // AABB ~ (929.3, 929.3, 1070.7, 1070.7). (930, 930) is a wedge. + await tester.tapAt(const Offset(930, 930)); + await tester.pump(); + expect(tapCount, 0); + // Polygon center. + await tester.tapAt(const Offset(1000, 1000)); + await tester.pump(); + expect(tapCount, 1); + }, + ); + + testWidgets( + 'drag started in polygon CONTINUES when pointer exits polygon ' + '(gesture arena caches the hit path at pointer-down)', + (tester) async { + final c = await pumpBox( + tester, + rect: const Rect.fromLTWH(200, 200, 100, 100), + rotation: math.pi / 4, + ); + final gesture = await tester.startGesture(const Offset(250, 250)); + await tester.pump(); + // Translate far enough that intermediate pointer positions are + // well outside the ORIGINAL polygon centred at (250,250). + await gesture.moveBy(const Offset(300, 0)); + await tester.pump(); + await gesture.up(); + await tester.pump(); + expect(c.rect.left, closeTo(500, 1.0), + reason: 'gesture must continue once arena has recognized it'); + }, + ); +} diff --git a/packages/flutter_box_transform/test/rotated_gesture_integration_test.dart b/packages/flutter_box_transform/test/rotated_gesture_integration_test.dart new file mode 100644 index 0000000..643ba92 --- /dev/null +++ b/packages/flutter_box_transform/test/rotated_gesture_integration_test.dart @@ -0,0 +1,564 @@ +import 'dart:math' as math; + +import 'package:flutter/material.dart'; +import 'package:flutter_box_transform/flutter_box_transform.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// End-to-end widget tests that drive real pointer events through a +/// `TransformableBox` rotated at non-zero angle. +/// +/// These are the tests that _should_ fail before the Option B refactor and +/// pass after. They prove the coord-system fix end-to-end. +void main() { + /// Builds a minimally-sized harness hosting one `TransformableBox` at a + /// known position, so test coordinates map directly to parent-frame coords. + Future pumpBox( + WidgetTester tester, { + required double rotation, + bool rotatable = false, + Rect rect = const Rect.fromLTWH(200, 200, 100, 100), + Rect? clampingRect, + BoxConstraints? constraints, + BindingStrategy bindingStrategy = BindingStrategy.originalBox, + }) async { + final controller = TransformableBoxController( + rect: rect, + rotation: rotation, + clampingRect: clampingRect, + constraints: constraints, + bindingStrategy: bindingStrategy, + ); + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: SizedBox( + width: 800, + height: 600, + child: Stack( + children: [ + TransformableBox( + controller: controller, + rotatable: rotatable, + contentBuilder: (context, rect, flip) => const ColoredBox( + color: Color(0xFF4B9EF4), + ), + ), + ], + ), + ), + ), + ); + // Allow one frame for any post-frame callbacks. + await tester.pump(); + return controller; + } + + group('Tap behaviour (contentBuilder onTap must fire)', () { + testWidgets('tap inside box fires contentBuilder onTap', (tester) async { + int tapCount = 0; + final controller = TransformableBoxController( + rect: const Rect.fromLTWH(200, 200, 100, 100), + ); + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: SizedBox( + width: 800, + height: 600, + child: Stack( + children: [ + TransformableBox( + controller: controller, + contentBuilder: (context, rect, flip) => GestureDetector( + behavior: HitTestBehavior.translucent, + onTap: () => tapCount++, + child: Container(color: const Color(0xFF4B9EF4)), + ), + ), + ], + ), + ), + ), + ); + await tester.pump(); + await tester.tapAt(const Offset(250, 250)); + await tester.pump(); + expect(tapCount, 1, + reason: 'contentBuilder onTap must fire on tap inside box'); + }); + + testWidgets('tap on rotated box still fires contentBuilder onTap', + (tester) async { + int tapCount = 0; + final controller = TransformableBoxController( + rect: const Rect.fromLTWH(200, 200, 100, 100), + rotation: math.pi / 4, + ); + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: SizedBox( + width: 800, + height: 600, + child: Stack( + children: [ + TransformableBox( + controller: controller, + contentBuilder: (context, rect, flip) => GestureDetector( + behavior: HitTestBehavior.translucent, + onTap: () => tapCount++, + child: Container(color: const Color(0xFF4B9EF4)), + ), + ), + ], + ), + ), + ), + ); + await tester.pump(); + // Tap the centre of the box (250, 250). Under rotation the centre is + // unchanged, so this must still hit the rotated content. + await tester.tapAt(const Offset(250, 250)); + await tester.pump(); + expect(tapCount, 1, reason: 'rotated content onTap must still fire'); + }); + }); + + group('Rotated drag tracks cursor', () { + testWidgets('theta=0: drag by (50, 0) moves rect by (50, 0)', + (tester) async { + final c = await pumpBox(tester, rotation: 0); + // Start drag at box centre (250, 250) in screen = (250, 250) here. + final gesture = await tester.startGesture(const Offset(250, 250)); + await tester.pump(); + await gesture.moveBy(const Offset(50, 0)); + await tester.pump(); + await gesture.up(); + await tester.pump(); + expect(c.rect.left, closeTo(250, 1.0)); + expect(c.rect.top, closeTo(200, 1.0)); + }); + + testWidgets('theta=pi/4: drag by (50, 0) moves rect by (50, 0) in parent', + (tester) async { + final c = await pumpBox(tester, rotation: math.pi / 4); + // The box is visually rotated 45°; its centre is still (250, 250). + // Dragging by (50, 0) on screen should translate the unrotated rect + // by (50, 0) in the parent frame. + final gesture = await tester.startGesture(const Offset(250, 250)); + await tester.pump(); + await gesture.moveBy(const Offset(50, 0)); + await tester.pump(); + await gesture.up(); + await tester.pump(); + expect(c.rect.left, closeTo(250, 1.0)); + expect(c.rect.top, closeTo(200, 1.0)); + expect(c.rotation, closeTo(math.pi / 4, 1e-9)); + }); + }); + + group('Continuous drag (multi-step, catches accumulation bugs)', () { + testWidgets('theta=0: 5 moves of 10px right total 50px rect shift', + (tester) async { + final c = await pumpBox(tester, rotation: 0); + final gesture = await tester.startGesture(const Offset(250, 250)); + await tester.pump(); + for (int i = 0; i < 5; i++) { + await gesture.moveBy(const Offset(10, 0)); + await tester.pump(); + // Per-step pointer tracking: box.left should increase by exactly + // 10px each step (1:1 cursor tracking, not accumulating). + expect(c.rect.left, closeTo(200 + (i + 1) * 10, 0.01), + reason: 'step $i: drift from 1:1 tracking'); + } + await gesture.up(); + await tester.pump(); + expect(c.rect.left, closeTo(250, 0.01)); + expect(c.rect.top, closeTo(200, 0.01)); + }); + + testWidgets('theta=pi/4: 5 moves of 10px right total 50px rect shift', + (tester) async { + final c = await pumpBox(tester, rotation: math.pi / 4); + final gesture = await tester.startGesture(const Offset(250, 250)); + await tester.pump(); + for (int i = 0; i < 5; i++) { + await gesture.moveBy(const Offset(10, 0)); + await tester.pump(); + expect(c.rect.left, closeTo(200 + (i + 1) * 10, 0.01), + reason: 'step $i under rotation: drift from 1:1 tracking'); + } + await gesture.up(); + await tester.pump(); + expect(c.rect.left, closeTo(250, 0.01)); + expect(c.rect.top, closeTo(200, 0.01)); + }); + }); + + group('Multi-step resize tracks cursor 1:1', () { + // Box 200x200, rotation=0. Grab bottomRight at (300,300), drag it in + // 5 steps of (10, 0) each. After each step, width should grow by 10 + // exactly. Height should remain 100. + testWidgets('theta=0: multi-step resize on bottomRight grows width 1:1', + (tester) async { + final c = await pumpBox(tester, rotation: 0); + final gesture = await tester.startGesture(const Offset(300, 300)); + await tester.pump(); + for (int i = 0; i < 5; i++) { + await gesture.moveBy(const Offset(10, 0)); + await tester.pump(); + expect(c.rect.width, closeTo(100 + (i + 1) * 10, 0.01), + reason: 'step $i: width drift'); + expect(c.rect.height, closeTo(100, 0.01), + reason: 'step $i: height drift (should be unchanged)'); + expect(c.rect.left, closeTo(200, 0.01), + reason: 'step $i: left drift (anchor must stay)'); + } + await gesture.up(); + await tester.pump(); + }); + + // Same box, rotation=pi/2 (CCW). The visual bottomRight is at + // ClampHelpers.rotatePointAround((300,300), (250,250), pi/2) = (200, 300). Grab there; + // drag (10, 0) in world each step. New dimensions follow + // delta (in local frame) = (10 * cos(-pi/2), 10 * sin(-pi/2)) = (0, -10), + // i.e. the box visually grows left, which in local frame reduces height + // by 10 per step (since the local "bottom" edge moves up). Let's just + // assert bounding rect tracks cursor 1:1 for the dragged corner. + testWidgets('theta=pi/2: multi-step resize keeps visual anchor fixed', + (tester) async { + // Anchor (visual topLeft) for bottomRight-handle resize is + // ClampHelpers.rotatePointAround(rect.topLeft, rect.center, rotation). + final c = await pumpBox(tester, rotation: math.pi / 2); + // rect = (200,200,300,300). Visual bottomRight @ pi/2 = (200, 300). + final gesture = await tester.startGesture(const Offset(200, 300)); + await tester.pump(); + for (int i = 0; i < 5; i++) { + await gesture.moveBy(const Offset(-10, 0)); // further left + await tester.pump(); + // Visual topLeft (anchor) in world should be stable. + // topLeft unrotated = (200, 200). Rotated pi/2 around center (250,250). + // dx=-50, dy=-50, cos=0, sin=1: x' = 250 + 50 = 300, y' = 250 - 50 = 200. + // So visual anchor = (300, 200). + final cx = (c.rect.left + c.rect.right) / 2; + final cy = (c.rect.top + c.rect.bottom) / 2; + final anchorUnrot = Offset(c.rect.left, c.rect.top); + final anchorVisual = RotatedLayout.rotateOffsetAround( + anchorUnrot, Offset(cx, cy), c.rotation); + expect(anchorVisual.dx, closeTo(300, 0.1), + reason: 'step $i: visual anchor drifted'); + expect(anchorVisual.dy, closeTo(200, 0.1), + reason: 'step $i: visual anchor drifted'); + } + await gesture.up(); + await tester.pump(); + }); + }); + + group('Rotated box clamp: no shrinking under bounded movement/resize', () { + // Scenario: rotated box entirely inside a generous clamp. Drag the box + // toward a clamp edge. Expect translation to stop at the wall, with no + // change in box dimensions at any step. + testWidgets('theta=pi/6: drag into clamp wall preserves size', + (tester) async { + final c = await pumpBox( + tester, + rotation: math.pi / 6, + rect: const Rect.fromLTWH(200, 200, 100, 100), + clampingRect: const Rect.fromLTRB(100, 100, 500, 500), + ); + final initialSize = c.rect.size; + // Drag far to the left, into the clamp. + final gesture = await tester.startGesture(const Offset(250, 250)); + await tester.pump(); + for (int i = 0; i < 10; i++) { + await gesture.moveBy(const Offset(-20, 0)); + await tester.pump(); + expect(c.rect.width, closeTo(initialSize.width, 0.01), + reason: 'width must not change during drag (step $i)'); + expect(c.rect.height, closeTo(initialSize.height, 0.01), + reason: 'height must not change during drag (step $i)'); + } + await gesture.up(); + await tester.pump(); + }); + + // Resize a rotated corner handle outward past the clamp. Box should + // grow, then stop. Neither dimension should ever decrease during the + // gesture. + testWidgets('theta=pi/6: resize into clamp wall does not shrink', + (tester) async { + // Box 100x100 at rotation pi/6. Clamp barely bigger. + // Rotated-box AABB ≈ 100*(cos(pi/6)+sin(pi/6)) = 100 * (0.866+0.5) = 136.6. + // Place clamp so resizing outward eventually hits a corner. + final c = await pumpBox( + tester, + rotation: math.pi / 6, + rect: const Rect.fromLTWH(200, 200, 100, 100), + clampingRect: const Rect.fromLTRB(100, 100, 400, 400), + ); + final initialW = c.rect.width; + final initialH = c.rect.height; + // Visual bottomRight under rotation pi/6 around centre (250, 250). + final handleWorld = RotatedLayout.rotateOffsetAround( + const Offset(300, 300), const Offset(250, 250), math.pi / 6); + final gesture = await tester.startGesture(handleWorld); + await tester.pump(); + for (int i = 0; i < 10; i++) { + await gesture.moveBy(const Offset(20, 20)); + await tester.pump(); + expect(c.rect.width, greaterThanOrEqualTo(initialW - 0.01), + reason: 'width must not shrink during resize-outward (step $i)'); + expect(c.rect.height, greaterThanOrEqualTo(initialH - 0.01), + reason: 'height must not shrink during resize-outward (step $i)'); + } + await gesture.up(); + await tester.pump(); + }); + }); + + group('Non-bottomRight handles under rotation', () { + // Default playground-like setup: 100x100 box rotated ~30°, clamp big + // (plenty of room), constraints 100/500 on both axes. + Future setup(WidgetTester tester) => pumpBox( + tester, + rotation: math.pi / 6, + rect: const Rect.fromLTWH(200, 200, 100, 100), + clampingRect: const Rect.fromLTRB(0, 0, 950, 600), + constraints: const BoxConstraints( + minWidth: 100, + minHeight: 100, + maxWidth: 500, + maxHeight: 500, + ), + ); + + // User drags visual topRight corner horizontally right. Both w and h + // should grow monotonically, never shrink. 15 steps of 20px → S=300, + // which crosses the threshold (~S=225) where the pre-fix math starts + // shrinking h via bogus mirror-corner inequalities. + testWidgets('topRight handle: drag right 15x20px grows w+h monotonically', + (tester) async { + final c = await setup(tester); + final handleWorld = RotatedLayout.rotateOffsetAround( + const Offset(300, 200), const Offset(250, 250), math.pi / 6); + final gesture = await tester.startGesture(handleWorld); + await tester.pump(); + double lastW = c.rect.width; + double lastH = c.rect.height; + for (int i = 0; i < 15; i++) { + await gesture.moveBy(const Offset(20, 0)); + await tester.pump(); + expect(c.rect.width, greaterThanOrEqualTo(lastW - 0.01), + reason: 'step $i: width must not shrink'); + expect(c.rect.height, greaterThanOrEqualTo(lastH - 0.01), + reason: 'step $i: height must not shrink'); + lastW = c.rect.width; + lastH = c.rect.height; + } + await gesture.up(); + await tester.pump(); + }); + + // Playground-like geometry: 100x100 box centred in 950x600 clamp, + // rotation pi/6. Grab topLeft and drag outward by (-300, -300). Pre-fix + // math collapses width to ~100 (minWidth). Correct math keeps width + // substantially above min. + testWidgets('topLeft handle: centred box, big outward drag keeps shape', + (tester) async { + final c = await pumpBox( + tester, + rotation: math.pi / 6, + rect: const Rect.fromLTWH(425, 250, 100, 100), + clampingRect: const Rect.fromLTRB(0, 0, 950, 600), + constraints: const BoxConstraints( + minWidth: 100, + minHeight: 100, + maxWidth: 500, + maxHeight: 500, + ), + ); + final handleWorld = RotatedLayout.rotateOffsetAround( + const Offset(425, 250), const Offset(475, 300), math.pi / 6); + final gesture = await tester.startGesture(handleWorld); + await tester.pump(); + await gesture.moveBy(const Offset(-300, -300)); + await tester.pump(); + expect(c.rect.width, greaterThan(200.0), + reason: 'topLeft big outward drag: width collapsed to ~min'); + expect(c.rect.height, greaterThan(200.0), + reason: 'topLeft big outward drag: height collapsed to ~min'); + await gesture.up(); + await tester.pump(); + }); + + // Bottom-left handle: 7 steps of (-20, 0) → S=140. Stays inside the + // clamp so the rotated corner doesn't legitimately exit; any shrink + // here would be a bogus mirror-polygon artefact. + testWidgets('bottomLeft handle: drag left 7x20px grows w+h monotonically', + (tester) async { + final c = await setup(tester); + final handleWorld = RotatedLayout.rotateOffsetAround( + const Offset(200, 300), const Offset(250, 250), math.pi / 6); + final gesture = await tester.startGesture(handleWorld); + await tester.pump(); + double lastW = c.rect.width; + double lastH = c.rect.height; + for (int i = 0; i < 7; i++) { + await gesture.moveBy(const Offset(-20, 0)); + await tester.pump(); + expect(c.rect.width, greaterThanOrEqualTo(lastW - 0.01), + reason: 'step $i: width must not shrink'); + expect(c.rect.height, greaterThanOrEqualTo(lastH - 0.01), + reason: 'step $i: height must not shrink'); + lastW = c.rect.width; + lastH = c.rect.height; + } + await gesture.up(); + await tester.pump(); + }); + }); + + group('Rotation tracks gesture angle exactly', () { + // Box centered at (250, 250), rotatable=true, initial rotation=0. + // Place the pointer just beyond the bottomRight corner at (312, 312) + // (vector from centre = (62, 62), screen angle = atan2(62, 62) = pi/4). + // Drag to (188, 312), vector (-62, 62), angle atan2(62, -62) = 3*pi/4. + // Expected net rotation delta = 3*pi/4 - pi/4 = pi/2 exactly. + testWidgets('quarter-turn pointer sweep produces exactly pi/2 rotation', + (tester) async { + final c = await pumpBox(tester, rotation: 0, rotatable: true); + final gesture = await tester.startGesture(const Offset(312, 312)); + await tester.pump(); + await gesture.moveBy(const Offset(-124, 0)); + await tester.pump(); + await gesture.up(); + await tester.pump(); + expect(c.rotation, closeTo(math.pi / 2, 1e-3), + reason: 'rotation should track pointer angle delta 1:1'); + }); + + // Same setup; smaller, intermediate rotation. + testWidgets('one-eighth turn produces exactly pi/4 rotation', + (tester) async { + final c = await pumpBox(tester, rotation: 0, rotatable: true); + final gesture = await tester.startGesture(const Offset(312, 312)); + await tester.pump(); + // Target the angle pi/2 (vector (0, 87.68) from centre). + // That's a pi/4 delta from start (pi/4 → pi/2). + await gesture.moveBy(const Offset(-62, 25.68)); + await tester.pump(); + await gesture.up(); + await tester.pump(); + expect(c.rotation, closeTo(math.pi / 4, 0.02), + reason: 'rotation should track pointer angle delta 1:1'); + }); + }); + + group('Rotated resize tracks cursor', () { + testWidgets( + 'theta=pi/2: dragging the visual bottomRight handle grows the box', + (tester) async { + final c = await pumpBox( + tester, + rotation: math.pi / 2, + rect: const Rect.fromLTWH(200, 200, 100, 100), + ); + // At rotation pi/2 (90° CCW), the unrotated bottomRight (300, 300) + // is visually at (200, 300). Grab the visual handle there. + final initialArea = c.rect.width * c.rect.height; + final gesture = await tester.startGesture(const Offset(200, 300)); + await tester.pump(); + // Drag outward (further from centre). + await gesture.moveBy(const Offset(-30, 30)); + await tester.pump(); + await gesture.up(); + await tester.pump(); + // Resize must make the box _larger_, not smaller or jump elsewhere. + expect(c.rect.width * c.rect.height, greaterThan(initialArea), + reason: 'dragging outward should grow the box'); + // Box centre should remain close to the original (250, 250). + final newCentre = c.rect.center; + expect(newCentre.dx, closeTo(250, 25)); + expect(newCentre.dy, closeTo(250, 25)); + }); + }); + + group('rotatable=true resize uses correct absolute pointer', () { + testWidgets( + 'resize click at box corner stores world-space initialLocalPosition, not inner-padding-local', + (tester) async { + final c = await pumpBox( + tester, + rotation: 0, + rotatable: true, + ); + // Box's unrotated bottomRight is at (300, 300). rotatable=true means + // the handle is a 64x64 zone centered on that corner, with the 24x24 + // resize gesture in the middle. Tap at the exact corner (inside the + // resize zone). + final gesture = await tester.startGesture(const Offset(300, 300)); + await tester.pump(); + // Commit the pan recognizer with a tiny move past touch slop. + await gesture.moveBy(const Offset(10, 10)); + await tester.pump(); + // controller.initialLocalPosition captured at onResizeStart should be + // the world click point (300, 300), not offset by the Padding gap. + expect(c.initialLocalPosition.dx, closeTo(300, 1.0)); + expect(c.initialLocalPosition.dy, closeTo(300, 1.0)); + await gesture.up(); + await tester.pump(); + }); + }); + + group('rotatable=true combined with rotation!=0', () { + testWidgets( + 'rotation=pi/4 + rotatable: resize via inner zone tracks world cursor', + (tester) async { + final c = await pumpBox( + tester, + rotation: math.pi / 4, + rotatable: true, + ); + // Unrotated bottomRight (300, 300), rotated around centre (250, 250) + // by pi/4: + // dx=50, dy=50, cos=sin=sqrt(2)/2 -> (250 + 0, 250 + 50*sqrt2). + // ~= (250.0, 250 + 70.71) = (250.0, 320.71). + const visualBR = Offset(250.0, 320.71); + final gesture = await tester.startGesture(visualBR); + await tester.pump(); + await gesture.moveBy(const Offset(10, 10)); + await tester.pump(); + // initialLocalPosition should be approximately the visual BR. + expect(c.initialLocalPosition.dx, closeTo(visualBR.dx, 2.0)); + expect(c.initialLocalPosition.dy, closeTo(visualBR.dy, 2.0)); + await gesture.up(); + await tester.pump(); + }); + }); + + group('Rotate via handle', () { + testWidgets('dragging outside a corner rotates the box', (tester) async { + final c = await pumpBox( + tester, + rotation: 0, + rotatable: true, + ); + // Rotation outer ring is 64px; visible visual handle is 24px at the + // corner. Grab the outer ring just past the bottomRight corner. + final start = Offset(300 + 12, 300 + 12); + final gesture = await tester.startGesture(start); + await tester.pump(); + // Arc the pointer a quarter-turn around the centre (250, 250). + // Start vector from centre: (62, 62). Quarter-turn CCW target vector: + // (-62, 62) → absolute point (188, 312). + await gesture.moveTo(const Offset(188, 312)); + await tester.pump(); + await gesture.up(); + await tester.pump(); + // Expect roughly pi/2 rotation (tolerance: trackpad quantisation). + expect(c.rotation.abs(), greaterThan(math.pi / 4), + reason: 'rotation should have significantly changed'); + }); + }); +} diff --git a/packages/flutter_box_transform/test/rotated_layout_test.dart b/packages/flutter_box_transform/test/rotated_layout_test.dart new file mode 100644 index 0000000..349c5ff --- /dev/null +++ b/packages/flutter_box_transform/test/rotated_layout_test.dart @@ -0,0 +1,195 @@ +import 'dart:math' as math; + +import 'package:flutter/widgets.dart'; +import 'package:flutter_box_transform/flutter_box_transform.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + group('RotatedLayout.rotateOffsetAround', () { + test('identity at theta=0', () { + const p = Offset(10, 5); + final r = RotatedLayout.rotateOffsetAround(p, const Offset(2, 2), 0.0); + expect(r.dx, closeTo(10, 1e-9)); + expect(r.dy, closeTo(5, 1e-9)); + }); + + test('rotates pi/2 around origin maps (1,0) -> (0,1)', () { + final r = RotatedLayout.rotateOffsetAround( + const Offset(1, 0), Offset.zero, math.pi / 2); + expect(r.dx, closeTo(0, 1e-9)); + expect(r.dy, closeTo(1, 1e-9)); + }); + + test('round-trip with negated angle', () { + const p = Offset(42, -3); + const pivot = Offset(5, 7); + final there = RotatedLayout.rotateOffsetAround(p, pivot, 0.6435); + final back = RotatedLayout.rotateOffsetAround(there, pivot, -0.6435); + expect(back.dx, closeTo(42, 1e-9)); + expect(back.dy, closeTo(-3, 1e-9)); + }); + }); + + group('RotatedLayout.handleCornerInParent', () { + final r = const Rect.fromLTWH(100, 200, 50, 40); + + test('topLeft', () { + expect(RotatedLayout.handleCornerInParent(r, HandlePosition.topLeft), + const Offset(100, 200)); + }); + test('bottomRight', () { + expect(RotatedLayout.handleCornerInParent(r, HandlePosition.bottomRight), + const Offset(150, 240)); + }); + test('top centre', () { + expect(RotatedLayout.handleCornerInParent(r, HandlePosition.top), + const Offset(125, 200)); + }); + test('right centre', () { + expect(RotatedLayout.handleCornerInParent(r, HandlePosition.right), + const Offset(150, 220)); + }); + }); + + group('RotatedLayout.rotatedCornerInWorld', () { + final r = const Rect.fromLTWH(0, 0, 100, 100); + + test('theta=0 equals unrotated corner', () { + expect(RotatedLayout.rotatedCornerInWorld(r, HandlePosition.topLeft, 0.0), + const Offset(0, 0)); + }); + test('pi/2 around center (50,50) maps topLeft -> topRight visual', () { + // Rotate (0,0) by pi/2 around (50,50): + // dx=-50, dy=-50 -> cos=0, sin=1 -> (50 + 0 - (-50), 50 + (-50) + 0) = (100, 0) + final c = RotatedLayout.rotatedCornerInWorld( + r, HandlePosition.topLeft, math.pi / 2); + expect(c.dx, closeTo(100, 1e-9)); + expect(c.dy, closeTo(0, 1e-9)); + }); + }); + + group('RotatedLayout.anchorInHandle', () { + const size = 64.0; + + test('center alignment always returns centre', () { + for (final h in const [ + HandlePosition.topLeft, + HandlePosition.topRight, + HandlePosition.bottomLeft, + HandlePosition.bottomRight, + ]) { + expect(RotatedLayout.anchorInHandle(h, size, HandleAlignment.center), + const Offset(32, 32), + reason: 'center alignment, handle=$h'); + } + }); + + test('inside alignment puts anchor at handle corner nearest box corner', + () { + expect( + RotatedLayout.anchorInHandle( + HandlePosition.topLeft, size, HandleAlignment.inside), + const Offset(0, 0)); + expect( + RotatedLayout.anchorInHandle( + HandlePosition.topRight, size, HandleAlignment.inside), + const Offset(64, 0)); + expect( + RotatedLayout.anchorInHandle( + HandlePosition.bottomLeft, size, HandleAlignment.inside), + const Offset(0, 64)); + expect( + RotatedLayout.anchorInHandle( + HandlePosition.bottomRight, size, HandleAlignment.inside), + const Offset(64, 64)); + }); + + test('outside alignment is the mirror of inside', () { + expect( + RotatedLayout.anchorInHandle( + HandlePosition.topLeft, size, HandleAlignment.outside), + const Offset(64, 64)); + expect( + RotatedLayout.anchorInHandle( + HandlePosition.bottomRight, size, HandleAlignment.outside), + const Offset(0, 0)); + }); + }); + + group('RotatedLayout.handleTopLeftInWorld', () { + const size = 64.0; + final r = const Rect.fromLTWH(100, 100, 200, 200); + + test('rotation=0, center alignment, topLeft', () { + // Corner in world: (100, 100). Anchor inside handle = (32, 32). + // handleTopLeftWorld = (100, 100) - (32, 32) = (68, 68). + final p = RotatedLayout.handleTopLeftInWorld( + rect: r, + handle: HandlePosition.topLeft, + rotation: 0, + handleSize: size, + alignment: HandleAlignment.center, + ); + expect(p.dx, closeTo(68, 1e-9)); + expect(p.dy, closeTo(68, 1e-9)); + }); + + test('rotation=pi/2, topLeft corner visually moves to top-right', () { + // Unrotated topLeft (100, 100). Center (200, 200). + // Rotated by pi/2: (100,100) -> (300, 100). + // Anchor inside handle still (32, 32). handleTopLeftWorld = (268, 68). + final p = RotatedLayout.handleTopLeftInWorld( + rect: r, + handle: HandlePosition.topLeft, + rotation: math.pi / 2, + handleSize: size, + alignment: HandleAlignment.center, + ); + expect(p.dx, closeTo(268, 1e-9)); + expect(p.dy, closeTo(68, 1e-9)); + }); + }); + + group('RotatedLayout.sideHandleRectInWorld', () { + final r = const Rect.fromLTWH(100, 200, 80, 60); + const tap = 24.0; + + test('top handle (center): horizontal strip inset from corners', () { + final rect = RotatedLayout.sideHandleRectInWorld( + r, + HandlePosition.top, + handleTapSize: tap, + alignment: HandleAlignment.center, + ); + // Top handle centred on rect.top, inset 12 from each corner-handle edge. + expect(rect.left, closeTo(100 + tap / 2, 1e-9)); + expect(rect.right, closeTo(180 - tap / 2, 1e-9)); + expect(rect.top, closeTo(200 - tap / 2, 1e-9)); + expect(rect.bottom, closeTo(200 + tap / 2, 1e-9)); + }); + + test('left handle (inside): vertical strip inside box', () { + final rect = RotatedLayout.sideHandleRectInWorld( + r, + HandlePosition.left, + handleTapSize: tap, + alignment: HandleAlignment.inside, + ); + expect(rect.left, closeTo(100, 1e-9)); + expect(rect.width, closeTo(tap, 1e-9)); + expect(rect.top, closeTo(200 + tap, 1e-9)); + expect(rect.bottom, closeTo(260 - tap, 1e-9)); + }); + + test('right handle (outside): vertical strip outside right edge', () { + final rect = RotatedLayout.sideHandleRectInWorld( + r, + HandlePosition.right, + handleTapSize: tap, + alignment: HandleAlignment.outside, + ); + expect(rect.left, closeTo(180, 1e-9)); + expect(rect.width, closeTo(tap, 1e-9)); + }); + }); +} diff --git a/packages/flutter_box_transform/test/rotation_controller_test.dart b/packages/flutter_box_transform/test/rotation_controller_test.dart new file mode 100644 index 0000000..27e9dc8 --- /dev/null +++ b/packages/flutter_box_transform/test/rotation_controller_test.dart @@ -0,0 +1,271 @@ +import 'dart:math' as math; + +import 'package:flutter/material.dart'; +import 'package:flutter_box_transform/flutter_box_transform.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + group('TransformableBoxController rotation gestures', () { + test('onRotateStart snapshots current rotation into initialRotation', () { + final c = TransformableBoxController( + rect: const Rect.fromLTWH(0, 0, 100, 100), + rotation: 0.3, + ); + c.onRotateStart(const Offset(100, 50)); + expect(c.initialRotation, closeTo(0.3, 1e-9)); + expect(c.initialLocalPosition, const Offset(100, 50)); + }); + + test('onRotateUpdate advances rotation additively from initialRotation', + () { + final c = TransformableBoxController( + rect: const Rect.fromLTWH(-50, -50, 100, 100), + rotation: 0.0, + ); + // Center is (0,0). Pointer goes from (+X) to (+Y) = +pi/2. + c.onRotateStart(const Offset(100, 0)); + c.onRotateUpdate(const Offset(0, 100), HandlePosition.bottomRight); + expect(c.rotation, closeTo(math.pi / 2, 1e-6)); + }); + + test('onRotateEnd clears gesture state', () { + final c = TransformableBoxController( + rect: const Rect.fromLTWH(0, 0, 100, 100), + rotation: 0.0, + ); + c.onRotateStart(const Offset(100, 50)); + c.onRotateEnd(); + expect(c.initialRotation, 0.0); + expect(c.initialRect, Rect.zero); + expect(c.initialLocalPosition, Offset.zero); + }); + + test('onRotateUpdate freezes rotation when clamp cannot fit the angle', () { + // 100×100 box exactly filling a 100×100 clamp. Any non-cardinal + // rotation (here π/4) inflates the AABB beyond the clamp, and no + // translation can rescue it. + final c = TransformableBoxController( + rect: const Rect.fromLTWH(0, 0, 100, 100), + clampingRect: const Rect.fromLTRB(0, 0, 100, 100), + rotation: 0.0, + bindingStrategy: BindingStrategy.boundingBox, + ); + // Center is (50, 50). Pointer goes from (+X) to angle π/4 of center. + c.onRotateStart(const Offset(100, 50)); + final result = c.onRotateUpdate( + Offset( + 50 + 50 * math.cos(math.pi / 4), 50 + 50 * math.sin(math.pi / 4)), + HandlePosition.bottomRight, + ); + expect(result.feasible, isFalse); + expect(c.rotation, equals(0.0), + reason: 'Controller must not update rotation on infeasible result.'); + expect(c.rect, equals(const Rect.fromLTWH(0, 0, 100, 100)), + reason: 'Controller must not update rect on infeasible result.'); + }); + + test( + 'multi-tick gesture: feasible → infeasible (frozen) → reverse ' + '(feasible again)', + () { + // R1: drag past the cap, gesture freezes at last feasible state; + // reversing pointer direction unfreezes and resumes tracking. + // Geometry: 100×100 centered in 130×130 clamp → AABB at π/12 fits + // (122.5 < 130) but AABB at π/6 doesn't (136.6 > 130). + final c = TransformableBoxController( + rect: const Rect.fromLTWH(15, 15, 100, 100), + clampingRect: const Rect.fromLTRB(0, 0, 130, 130), + rotation: 0.0, + bindingStrategy: BindingStrategy.boundingBox, + ); + // Pointer rotates around the box center (65, 65). + Offset pointerAt(double theta) => + Offset(65 + 50 * math.cos(theta), 65 + 50 * math.sin(theta)); + c.onRotateStart(pointerAt(0)); + + // Tick 1: small rotation (feasible). + const theta1 = math.pi / 12; + final r1 = c.onRotateUpdate( + pointerAt(theta1), + HandlePosition.bottomRight, + ); + expect(r1.feasible, isTrue); + expect(c.rotation, closeTo(theta1, 1e-9)); + final frozenRotation = c.rotation; + final frozenRect = c.rect; + + // Tick 2: rotation past the cap → infeasible. + const theta2 = math.pi / 6; + final r2 = c.onRotateUpdate( + pointerAt(theta2), + HandlePosition.bottomRight, + ); + expect(r2.feasible, isFalse); + expect(c.rotation, equals(frozenRotation), + reason: 'Frozen at last feasible rotation.'); + expect(c.rect, equals(frozenRect), + reason: 'Rect frozen at last feasible position.'); + + // Tick 3: reverse direction back to a feasible rotation. + const theta3 = math.pi / 24; + final r3 = c.onRotateUpdate( + pointerAt(theta3), + HandlePosition.bottomRight, + ); + expect(r3.feasible, isTrue); + expect(c.rotation, closeTo(theta3, 1e-9), + reason: 'Reversal resumes tracking from gesture-start, not ' + 'from the frozen rotation.'); + }, + ); + + test( + 'side-handle resize tick-by-tick across clamp boundary stays clean', + () { + // Reproduces the user-reported symptom: dragging the right side + // handle in tiny ticks, the box's bottom-right corner intersects + // clamp.bottom, and the box appears to grow in the reverse + // direction before clamping. + const theta = math.pi / 12; + final c = TransformableBoxController( + rect: const Rect.fromLTWH(150, 250, 100, 100), + clampingRect: const Rect.fromLTRB(0, 0, 400, 400), + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + ); + // World position of the rotated right edge midpoint (where the + // strip sits visually under rotation). + final rectCenter = const Offset(200, 300); + final unrotatedRightMid = const Offset(250, 300); + final dx = unrotatedRightMid.dx - rectCenter.dx; + final dy = unrotatedRightMid.dy - rectCenter.dy; + final cosT = math.cos(theta); + final sinT = math.sin(theta); + final rotatedRightMidWorld = Offset( + rectCenter.dx + dx * cosT - dy * sinT, + rectCenter.dy + dx * sinT + dy * cosT, + ); + + c.onResizeStart(rotatedRightMidWorld); + // Drag tick-by-tick along the rotated +x direction (visually + // outward from the right edge). + const ticks = 30; + const stepPx = 5.0; + final widths = []; + for (int i = 1; i <= ticks; i++) { + final stepWorld = Offset( + rotatedRightMidWorld.dx + i * stepPx * cosT, + rotatedRightMidWorld.dy + i * stepPx * sinT, + ); + final result = c.onResizeUpdate(stepWorld, HandlePosition.right); + widths.add(result.rect.width); + } + // Must be monotonic non-decreasing. + for (int i = 1; i < widths.length; i++) { + expect( + widths[i], + greaterThanOrEqualTo(widths[i - 1] - 1e-6), + reason: 'tick $i: width regressed ' + '(${widths[i - 1]} → ${widths[i]})', + ); + } + }, + ); + + test( + 'force-flip during rotated resize keeps rect in clamp', + () { + // User reports: dragging a corner past anchor (force-flip) under + // rotation can leave the rect bleeding past clamp boundaries. + const theta = math.pi / 12; + final c = TransformableBoxController( + rect: const Rect.fromLTWH(150, 150, 100, 100), + clampingRect: const Rect.fromLTRB(0, 0, 400, 400), + rotation: theta, + bindingStrategy: BindingStrategy.boundingBox, + ); + // World position of the rotated bottomRight corner. + final centerWorld = const Offset(200, 200); + final unrotatedBR = const Offset(250, 250); + final cosT = math.cos(theta); + final sinT = math.sin(theta); + final dx = unrotatedBR.dx - centerWorld.dx; + final dy = unrotatedBR.dy - centerWorld.dy; + final initialBR = Offset( + centerWorld.dx + dx * cosT - dy * sinT, + centerWorld.dy + dx * sinT + dy * cosT, + ); + c.onResizeStart(initialBR); + // Drag past topLeft anchor and continue to clamp's far corner. + for (int i = 0; i <= 60; i++) { + // Cursor sweeps from BR toward upper-left in screen, eventually + // past clamp.left and clamp.top. + final targetWorld = Offset( + initialBR.dx - i * 8.0, + initialBR.dy - i * 8.0, + ); + final result = + c.onResizeUpdate(targetWorld, HandlePosition.bottomRight); + // Verify the controller's rect's rotated corners stay in clamp. + final r = result.rect; + final rcx = r.center.dx; + final rcy = r.center.dy; + final rrot = c.rotation; + final rcosT = math.cos(rrot); + final rsinT = math.sin(rrot); + final corners = [ + r.topLeft, + r.topRight, + r.bottomRight, + r.bottomLeft, + ].map((p) { + final ddx = p.dx - rcx; + final ddy = p.dy - rcy; + return Offset( + rcx + ddx * rcosT - ddy * rsinT, + rcy + ddx * rsinT + ddy * rcosT, + ); + }).toList(); + for (int k = 0; k < 4; k++) { + expect( + corners[k].dx, greaterThanOrEqualTo(c.clampingRect.left - 1e-3), + reason: 'tick $i corner $k leaked left'); + expect( + corners[k].dy, greaterThanOrEqualTo(c.clampingRect.top - 1e-3), + reason: 'tick $i corner $k leaked top'); + expect( + corners[k].dx, lessThanOrEqualTo(c.clampingRect.right + 1e-3), + reason: 'tick $i corner $k leaked right'); + expect( + corners[k].dy, lessThanOrEqualTo(c.clampingRect.bottom + 1e-3), + reason: 'tick $i corner $k leaked bottom'); + } + } + }, + ); + + test('onRotateUpdate slides rect into clamp when slack room exists', () { + // 100×100 box flush against top-left of a 200×200 clamp. Rotating + // by π/12 inflates the AABB by ~11 px on each axis; the box must + // slide into the clamp so the AABB fits. + final c = TransformableBoxController( + rect: const Rect.fromLTWH(0, 0, 100, 100), + clampingRect: const Rect.fromLTRB(0, 0, 200, 200), + rotation: 0.0, + bindingStrategy: BindingStrategy.boundingBox, + ); + const theta = math.pi / 12; + c.onRotateStart(const Offset(100, 50)); + final result = c.onRotateUpdate( + Offset(50 + 50 * math.cos(theta), 50 + 50 * math.sin(theta)), + HandlePosition.bottomRight, + ); + expect(result.feasible, isTrue); + expect(c.rotation, closeTo(theta, 1e-9)); + // Rect should have moved (not still at 0,0). + expect(c.rect.left, greaterThan(0.0)); + expect(c.rect.top, greaterThan(0.0)); + }); + }); +} diff --git a/packages/flutter_box_transform/test/rotation_widget_smoke_test.dart b/packages/flutter_box_transform/test/rotation_widget_smoke_test.dart new file mode 100644 index 0000000..f816b80 --- /dev/null +++ b/packages/flutter_box_transform/test/rotation_widget_smoke_test.dart @@ -0,0 +1,43 @@ +import 'dart:math' as math; + +import 'package:flutter/material.dart'; +import 'package:flutter_box_transform/flutter_box_transform.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + testWidgets('controller initialized with rotation reports boundingRect', + (tester) async { + final controller = TransformableBoxController( + rect: const Rect.fromLTWH(0, 0, 100, 100), + rotation: math.pi / 4, + ); + final expectedBoundingSide = 100 * math.sqrt(2); + expect( + controller.boundingRect.width, + closeTo(expectedBoundingSide, 1e-12), + ); + expect( + controller.boundingRect.height, + closeTo(expectedBoundingSide, 1e-12), + ); + expect(controller.rotation, closeTo(math.pi / 4, 1e-12)); + }); + + test( + 'controller.onDragUpdate under rotation clamps corners into clampingRect', + () { + final c = TransformableBoxController( + rect: const Rect.fromLTWH(0, 0, 100, 100), + rotation: math.pi / 4, + clampingRect: const Rect.fromLTRB(-100, -100, 200, 200), + bindingStrategy: BindingStrategy.boundingBox, + ); + c.onDragStart(const Offset(50, 50)); + final result = c.onDragUpdate(const Offset(300, 300)); + // BoundingRect tracks the rendered AABB. Must stay within clampingRect. + expect(result.boundingRect.left, greaterThanOrEqualTo(-100 - 1e-4)); + expect(result.boundingRect.right, lessThanOrEqualTo(200 + 1e-4)); + expect(result.boundingRect.top, greaterThanOrEqualTo(-100 - 1e-4)); + expect(result.boundingRect.bottom, lessThanOrEqualTo(200 + 1e-4)); + }); +} diff --git a/pubspec.yaml b/pubspec.yaml index 8640c24..4ed1a1d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,11 @@ -name: melos_box_transform +name: box_transform_workspace +publish_to: none environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.6.0 -dev_dependencies: - melos: ^6.3.2 +workspace: + - packages/box_transform + - packages/flutter_box_transform + - packages/flutter_box_transform/example + - packages/flutter_box_transform/playground diff --git a/scripts/find_globals.sh b/scripts/find_globals.sh new file mode 100755 index 0000000..2c830c8 --- /dev/null +++ b/scripts/find_globals.sh @@ -0,0 +1,82 @@ +#!/usr/bin/env bash +# Enumerate top-level (global) function declarations in lib/ files of both +# packages. Anything matching one of these patterns at column 0 is a +# top-level function: +# +# (...) // returns a value +# void (...) // void +# <...>(...) // generic +# Future<...> (...) // async +# (...) // bare (no return type, rare) +# +# Excludes class members (those are indented under a class) and getters. +# Imperfect but good enough as a worklist seed: the user can verify each +# hit before refactoring. + +set -euo pipefail +cd "$(dirname "$0")/../packages" + +# Match a line that: +# * starts at column 0 +# * begins with a Dart identifier or one of: void / Future / Iterable / List / Map / Set / Stream / FutureOr / Box / Vector2 / Offset / Rect / Size / Constraints / Resizer / Flip / HandlePosition / RotateResult / ResizeResult / MoveResult / RawResizeResult / RawMoveResult / RawRotateResult / Box? / int / double / bool / String / num +# * (followed by name, optional generics, '(' ) +# * and is NOT a class declaration / abstract / sealed / typedef / extension / library / part / export / import / final / const / var / late +# +# We grep first, then filter out obviously-not-function lines. + +LIB_GLOBS=( + "box_transform/lib/**/*.dart" + "flutter_box_transform/lib/**/*.dart" +) + +FILES=$(find box_transform/lib flutter_box_transform/lib -name '*.dart' | sort) + +echo "# Top-level (global) declarations in lib/" +echo +echo "Generated $(date -u +%Y-%m-%dT%H:%M:%SZ) by scripts/find_globals.sh." +echo +echo "Each row is a candidate global function/getter for refactoring into a" +echo "class-scoped static. Verify by hand before moving." +echo + +for f in $FILES; do + # Lines that LOOK like top-level function decls. Excludes: + # class / abstract class / sealed class / final class / mixin / + # extension / typedef / enum / part / part of / library / import / + # export / @ + awk ' + BEGIN { in_block_comment = 0 } + /^\/\*/ { in_block_comment = 1 } + /\*\// { in_block_comment = 0; next } + in_block_comment { next } + /^\/\// { next } + /^[[:space:]]*$/ { next } + /^[[:space:]]/ { next } # any indented line is class member + /^class / { next } + /^abstract / { next } + /^sealed / { next } + /^final class / { next } + /^mixin / { next } + /^extension / { next } + /^typedef / { next } + /^enum / { next } + /^part / { next } + /^library/ { next } + /^import / { next } + /^export / { next } + /^@/ { next } + /^const / { next } + /^final / { next } + /^var / { next } + /^late / { next } + /^void main\(/ { next } # entry point of bench/cli + /^void mainMethod\(/ { next } + # A line that has a `(` and a likely identifier prefix. + /\(/ { + # Skip pure-statement lines (no identifier-followed-by-paren). + if ($0 ~ /^[A-Za-z_<>?,[:space:]]+[A-Za-z_][A-Za-z0-9_]*[[:space:]]*\(/) { + printf "%s:%d %s\n", FILENAME, NR, $0 + } + } + ' "$f" +done From 6446c35be7a326d61dfd125a8628a963a6b552ff Mon Sep 17 00:00:00 2001 From: Saad Ardati Date: Wed, 27 May 2026 19:10:04 +0300 Subject: [PATCH 2/3] fix(rotation): normalize deltaAngle, lock symmetric side-handle axis, restore feasible equality --- packages/box_transform/lib/src/geometry.dart | 17 +++++++++-- packages/box_transform/lib/src/result.dart | 19 ++++++++++++- .../box_transform/lib/src/transformer.dart | 28 +++++++++++++++---- .../lib/src/handles.dart | 6 ++-- .../playground/lib/test_recorder.dart | 3 +- 5 files changed, 60 insertions(+), 13 deletions(-) diff --git a/packages/box_transform/lib/src/geometry.dart b/packages/box_transform/lib/src/geometry.dart index 21e1646..aa83e63 100644 --- a/packages/box_transform/lib/src/geometry.dart +++ b/packages/box_transform/lib/src/geometry.dart @@ -568,6 +568,9 @@ class Box { /// rectangle and this rectangle. The two rectangles must overlap /// for this to be meaningful. If the two rectangles do not overlap, /// then the resulting Box will have a negative width or height. + /// + /// Note: this is an axis-aligned intersection. The returned box has + /// `rotation == 0` regardless of either operand's rotation. Box intersect(Box other) => Box.fromLTRB( math.max(left, other.left), math.max(top, other.top), @@ -576,6 +579,9 @@ class Box { /// Returns a new rectangle which is the bounding box containing this /// rectangle and the given rectangle. + /// + /// Note: this is an axis-aligned union. The returned box has + /// `rotation == 0` regardless of either operand's rotation. Box expandToInclude(Box other) => Box.fromLTRB( math.min(left, other.left), math.min(top, other.top), @@ -674,6 +680,9 @@ class Box { /// is specified. /// /// [child] the child box to clamp inside this box. + /// + /// Note: this is an axis-aligned containment operation. The returned box + /// has `rotation == 0` regardless of either operand's rotation. Box containOther(Box child) { final double xSign = child.width.sign; final double ySign = child.height.sign; @@ -698,20 +707,24 @@ class Box { ); } - /// Returns a new box with all the values ceiling rounded. + /// Returns a new box with all the values ceiling rounded. Preserves + /// [rotation]. Box ceil() => Box.fromLTRB( left.ceilToDouble(), top.ceilToDouble(), right.ceilToDouble(), bottom.ceilToDouble(), + rotation: rotation, ); - /// Returns a new box with all the values floor rounded. + /// Returns a new box with all the values floor rounded. Preserves + /// [rotation]. Box floor() => Box.fromLTRB( left.floorToDouble(), top.floorToDouble(), right.floorToDouble(), bottom.floorToDouble(), + rotation: rotation, ); /// Linearly interpolate between two rectangles. diff --git a/packages/box_transform/lib/src/result.dart b/packages/box_transform/lib/src/result.dart index 31a329b..ff94474 100644 --- a/packages/box_transform/lib/src/result.dart +++ b/packages/box_transform/lib/src/result.dart @@ -171,7 +171,10 @@ class TransformResult 'minHeightReached: $minHeightReached, ' 'maxHeightReached: $maxHeightReached, ' 'largestBox: $largestRect, ' - 'handle: $handle' + 'handle: $handle, ' + 'rotation: $rotation, ' + 'boundingRect: $boundingRect, ' + 'oldBoundingRect: $oldBoundingRect' ')'; } @@ -241,6 +244,13 @@ class ResizeResult this.feasible = true, }); + @override + bool operator ==(Object other) => + super == other && other is ResizeResult && other.feasible == feasible; + + @override + int get hashCode => Object.hash(super.hashCode, feasible); + @override String toString() => 'ResizeResult(' 'rect: $rect, ' @@ -292,6 +302,13 @@ class RotateResult handle: HandlePosition.none, ); + @override + bool operator ==(Object other) => + super == other && other is RotateResult && other.feasible == feasible; + + @override + int get hashCode => Object.hash(super.hashCode, feasible); + @override String toString() => 'RotateResult(rect: $rect, oldRect: $oldRect, rotation: $rotation, ' diff --git a/packages/box_transform/lib/src/transformer.dart b/packages/box_transform/lib/src/transformer.dart index 5cff271..b1e56f2 100644 --- a/packages/box_transform/lib/src/transformer.dart +++ b/packages/box_transform/lib/src/transformer.dart @@ -516,7 +516,14 @@ class BoxTransformer { ); final fromVec = initialLocalPosition - center; final toVec = localPosition - center; - final deltaAngle = atan2(toVec.y, toVec.x) - atan2(fromVec.y, fromVec.x); + // Signed angle in (-π, π] via atan2(cross, dot). Computing as the raw + // atan2 difference yields (-2π, 2π) and jumps by ±2π whenever the + // pointer-vs-center bearing crosses the negative-x ray — a common + // event for corner-anchored gestures spanning ~180°. + final deltaAngle = atan2( + fromVec.x * toVec.y - fromVec.y * toVec.x, + fromVec.x * toVec.x + fromVec.y * toVec.y, + ); final newRotation = initialRotation + deltaAngle; // Slide-then-freeze: compute the feasible (tx, ty) interval that keeps @@ -1178,6 +1185,17 @@ class BoxTransformer { final effMinH = constraints.minHeight.isFinite ? constraints.minHeight : 0.0; + // Side handles lock the perpendicular dimension at initialRect's value; + // pin min=max for that axis so the LP can't trade it away to satisfy + // coupled corner inequalities near a tight clamp. Mirrors the freeform + // path's locking above. + final double lpMinW = verticalSide ? initialRect.width : effMinW; + final double lpMaxW = + verticalSide ? initialRect.width : constraints.maxWidth; + final double lpMinH = horizontalSide ? initialRect.height : effMinH; + final double lpMaxH = + horizontalSide ? initialRect.height : constraints.maxHeight; + final ineqs = _ineqScratch; RotatedClampingSolver.buildCenterIneqsInto( ineqs, @@ -1192,10 +1210,10 @@ class BoxTransformer { out: projection, targetW: desiredW, targetH: desiredH, - minW: effMinW, - maxW: constraints.maxWidth, - minH: effMinH, - maxH: constraints.maxHeight, + minW: lpMinW, + maxW: lpMaxW, + minH: lpMinH, + maxH: lpMaxH, ); if (!projection.feasible) { return ResizeResult( diff --git a/packages/flutter_box_transform/lib/src/handles.dart b/packages/flutter_box_transform/lib/src/handles.dart index 4d4348d..6f6ef48 100644 --- a/packages/flutter_box_transform/lib/src/handles.dart +++ b/packages/flutter_box_transform/lib/src/handles.dart @@ -6,7 +6,7 @@ import 'package:flutter/material.dart'; import 'transformable_box.dart'; /// Default width of the border of the handles. -const _kDefaultHandleBorderWidth = 1.5; +const kDefaultHandleBorderWidth = 1.5; /// Alignment of the handle. enum HandleAlignment { @@ -83,7 +83,7 @@ class DefaultCornerHandle extends StatelessWidget { shape: BoxShape.circle, border: Border.all( color: Theme.of(context).colorScheme.primary, - width: _kDefaultHandleBorderWidth, + width: kDefaultHandleBorderWidth, ), ); } @@ -145,7 +145,7 @@ class DefaultSideHandle extends StatelessWidget { shape: StadiumBorder( side: BorderSide( color: Theme.of(context).colorScheme.primary, - width: _kDefaultHandleBorderWidth, + width: kDefaultHandleBorderWidth, ), ), ); diff --git a/packages/flutter_box_transform/playground/lib/test_recorder.dart b/packages/flutter_box_transform/playground/lib/test_recorder.dart index 6c5a143..1aaca0e 100644 --- a/packages/flutter_box_transform/playground/lib/test_recorder.dart +++ b/packages/flutter_box_transform/playground/lib/test_recorder.dart @@ -345,8 +345,7 @@ class _TestRecorderUIState extends State { final name = record.key; // Skip records that captured no ticks (recorder paused mid-gesture // before any onResizeUpdate fired). - final records = - record.value.where((r) => r.ticks.isNotEmpty).toList(); + final records = record.value.where((r) => r.ticks.isNotEmpty).toList(); if (records.isEmpty) continue; final contents = []; for (var index = 0; index < records.length; index++) { From b7b11833dde9c9586b4e2c4658d7eb34cd92d6fe Mon Sep 17 00:00:00 2001 From: lucifer Date: Tue, 23 Jun 2026 10:03:12 +0500 Subject: [PATCH 3/3] Migrated from onReorder to onReorderItem --- packages/flutter_box_transform/playground/lib/main.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/flutter_box_transform/playground/lib/main.dart b/packages/flutter_box_transform/playground/lib/main.dart index 8723d04..3ff2a73 100644 --- a/packages/flutter_box_transform/playground/lib/main.dart +++ b/packages/flutter_box_transform/playground/lib/main.dart @@ -418,7 +418,7 @@ class PlaygroundModel with ChangeNotifier { notifyListeners(); } - void onReorder(int oldIndex, int newIndex) { + void onReorderItem(int oldIndex, int newIndex) { if (oldIndex < newIndex) { newIndex -= 1; } @@ -1164,7 +1164,7 @@ class BoxesPanel extends StatelessWidget { if (model.boxes.isNotEmpty) ReorderableListView.builder( itemCount: model.boxes.length, - onReorder: model.onReorder, + onReorderItem: model.onReorderItem, reverse: true, shrinkWrap: true, buildDefaultDragHandles: false,