{"id":13552336,"url":"https://github.com/stasgora/round-spot","last_synced_at":"2025-04-13T12:28:37.424Z","repository":{"id":52227387,"uuid":"345982860","full_name":"stasgora/round-spot","owner":"stasgora","description":"Customizable heat map interface analysis library","archived":false,"fork":false,"pushed_at":"2021-09-11T18:00:20.000Z","size":2813,"stargazers_count":45,"open_issues_count":6,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-13T12:28:13.148Z","etag":null,"topics":["accessibility","analysis","behaviour-analysis","dartlang","flutter","flutter-package","heat-map","library","ui"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/round_spot","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stasgora.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-09T11:27:54.000Z","updated_at":"2025-02-18T21:14:05.000Z","dependencies_parsed_at":"2022-09-11T10:01:21.884Z","dependency_job_id":null,"html_url":"https://github.com/stasgora/round-spot","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stasgora%2Fround-spot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stasgora%2Fround-spot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stasgora%2Fround-spot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stasgora%2Fround-spot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stasgora","download_url":"https://codeload.github.com/stasgora/round-spot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248713678,"owners_count":21149744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","analysis","behaviour-analysis","dartlang","flutter","flutter-package","heat-map","library","ui"],"created_at":"2024-08-01T12:02:02.386Z","updated_at":"2025-04-13T12:28:37.403Z","avatar_url":"https://github.com/stasgora.png","language":"Dart","funding_links":[],"categories":["Dart"],"sub_categories":[],"readme":"# \u003cdiv align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/stasgora/round-spot/master/assets/logo.png\" alt=\"icon\" width=\"100\"\u003e\u003cbr\u003e Round Spot\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  Customizable heat map interface analysis library\n  \n  \n  \u003ca href=\"https://pub.dev/packages/round_spot\"\u003e\u003cimg src=\"https://img.shields.io/pub/v/round_spot.svg?color=blueviolet\" alt=\"Pub\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pub.dev/packages/round_spot/score\"\u003e\u003cimg src=\"https://badges.bar/round_spot/likes\" alt=\"likes\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/stasgora/round-spot/actions\"\u003e\u003cimg src=\"https://github.com/stasgora/round-spot/workflows/build/badge.svg\" alt=\"build\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tenhobi/effective_dart\"\u003e\u003cimg src=\"https://img.shields.io/badge/style-effective_dart-40c4ff.svg\" alt=\"style: effective dart\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/stasgora/round-spot/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"License: MIT\"\u003e\u003c/a\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/stasgora/round-spot/master/assets/banner.png\" style=\"width: 100%\" alt=\"Banner\"\u003e\u003cbr\u003e\n\n**Round Spot** simplifies the UI accessibility and behaviour analysis for Flutter applications by handling the data gathering and processing.\nIt produces beautiful heat map visualizations that aim to make the UI improvement and troubleshooting easy and intuitive.\n\u003c/div\u003e\n\n\u003e **⚠️ Note:** This tool still in its development and currently only offers local on device heat map generation.\n\u003e This limits the number of interactions that can be included in a single image and therefore can be considered as a preview.\n\n## Usage\nImport the package in your main file:\n```dart\nimport 'package:round_spot/round_spot.dart';\n```\n\n### Setup\nWrap your `MaterialApp` widget to initialize the library:\n```dart\nvoid main() {\n  runApp(initialize(\n    child: Application()\n  ));\n}\n```\nAdd an observer for monitoring the navigator:\n```dart\nMaterialApp(\n  navigatorObservers: [ Observer() ]\n)\n```\n\n### Configuration\nProvide the callbacks for saving the processed output:\n```dart\ninitialize(\n  localRenderCallback: (data, info) =\u003e sendHeatMapImage(data)\n)\n```\nConfigure the tool to better fit your needs:\n```dart\ninitialize(\n  config: Config(\n    minSessionEventCount: 5,\n    uiElementSize: 15,\n    heatMapPixelRatio: 2.0,\n  )\n)\n```\n### UI Instrumentation\n\n#### Route naming\nRoute names are used to differentiate between pages.\nMake sure you are consistently specifying them both when \nusing [named routes](https://flutter.dev/docs/cookbook/navigation/named-routes) and\npushing [PageRoutes](https://api.flutter.dev/flutter/widgets/PageRoute-class.html)\n(inside [RouteSetting](https://api.flutter.dev/flutter/widgets/RouteSettings-class.html))\n\n#### Scrollable widgets\nTo correctly monitor interactions with any scrollable space a `Detector` \nhas to be placed as a direct parent of that widget:\n```dart\nDetector(\n  areaID: id,\n  child: ListView(\n    children: /* children */,\n  ),\n)\n```\n\n## Contributors\nCreated by [Stanisław Góra](https://github.com/stasgora/)\n\n## License\nThis tool is licenced under [`MIT License`](https://github.com/stasgora/round-spot/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstasgora%2Fround-spot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstasgora%2Fround-spot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstasgora%2Fround-spot/lists"}