one_dollar_unistroke_recognizer
The $1 Unistroke Recognizer, a 2D single-stroke recognizer, plus features like straight line recognition, the Protractor enhancement, a way to correct user's shapes, and more.
1.3.5
2.9K downloads/mo
#4719 most downloaded on pub.dev
adil192/one_dollar_unistroke_recognizer
What this package is like to depend on
Last release 10 days ago
13 Aug 2026
Release timing varies
gaps range from 8 days to 11 months
Most releases are documented
notes for 17 of 23 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
23 releases · first in 2023
2 releases in the last 12 months
see the full history below
Release timeline
23 releases · Oct 2023 to Aug 2026Releases
latest 23-
1.3.513 Aug 2026Nothing published for this version
-
1.3.409 Sep 2025Nothing published for this version
-
1.3.314 Dec 2024Nothing published for this version
-
1.3.208 Jul 2024Nothing published for this version
-
1.3.108 Jul 2024Nothing published for this version
-
1.3.008 Jul 2024Nothing published for this version
-
1.2.012 Apr 2024Release notes
Open source →- Fixed the 'spikes' in
convertToCanonicalPolygonfor lines. - If you're using custom unistrokes, you no longer need to specify
straightLineNameinrecognizeCustomUnistroke(..., straightLineName: ...). Just make sure your straight line unistroke template has exactly 2 distinct points and the recognizer will pick it up automatically.
- Fixed the 'spikes' in
-
1.1.215 Mar 2024 -
1.1.109 Mar 2024Release notes
Open source →- Fixes
RecognizedUnistroke.scorealways being close to 1.0 when the stroke is recognized as a straight line.
- Fixes
-
1.1.006 Mar 2024Release notes
Open source →- Separated the logic for straight lines and for other shapes to fix the issue where arbitrary strokes would often be incorrectly detected as a line.
-
1.0.009 Jan 2024Release notes
Open source →- Used a better algorithm (MAE) for detecting straight lines (#3). This fixes the issue where lines would often be incorrectly detected as a circle (saber-notes/saber#1039).
-
0.7.002 Dec 2023Release notes
Open source →- Removed the type parameter from
RecognizedUnistroke. Custom types will now use theRecognizedCustomUnistroke<K>type. recognizeUnistrokeOfTypehas been renamed torecognizeCustomUnistroke.
- Removed the type parameter from
-
0.6.130 Nov 2023 -
0.6.030 Nov 2023Release notes
Open source →- Added a line template, and the corresponding
RecognizedUnistroke.convertToLine()method.
- Added a line template, and the corresponding
-
0.5.030 Nov 2023Release notes
Open source →RecognizedUnistroke.nameis now using an enum instead of a string, e.g.DefaultUnistrokeNames.circleinstead of'circle'. If you're using custom unistrokes, see the README for how to use therecognizeUnistrokeOfTypemethod.convertToCanonicalPolygon()now returns a correctly rotated shape (https://github.com/adil192/one_dollar_unistroke_recognizer/issues/2).
-
0.4.228 Nov 2023 -
0.4.128 Nov 2023Release notes
Open source →- Fixed images in the README on pub.dev.
- Added a
RecognizedUnistroke.convertToOval()method.
-
0.4.028 Nov 2023Release notes
Open source →- This release has changed the default set of templates to contain better shapes. The old templates are still available in
example$1Unistrokes. The new templates are only a circle, rectangle, and triangle, where the old templates were more varied but were also sketched by hand and were not very pretty. - Inputs are now recognized even if they are drawn in the opposite direction of the template. For example, a clockwise circle will be recognized as a circle, even if the template is a counter-clockwise circle. This wasn't the case in previous releases.
- Like previous releases,
convertToCanonicalPolygon()is still returning incorrectly rotated shapes. See https://github.com/adil192/one_dollar_unistroke_recognizer/issues/2 to track progress on this issue.
- This release has changed the default set of templates to contain better shapes. The old templates are still available in
-
0.3.119 Nov 2023Release notes
Open source →- Scores can now only be between 0 and 1. Would-be negative scores are interpreted to mean that the stroke is not recognized, so
nullis returned.
- Scores can now only be between 0 and 1. Would-be negative scores are interpreted to mean that the stroke is not recognized, so
-
0.3.019 Nov 2023Release notes
Open source →- Added functions to
RecognizedUnistroketo get a "perfect" shape from the user's stroke: seeRecognizedUnistroke.convertToCanonicalPolygonandRecognizedUnistroke.convertToCircle.
- Added functions to
-
0.2.016 Nov 2023Release notes
Open source →- Recognize custom unistrokes by setting the
referenceUnistrokesvariable, or by passing theoverrideReferenceUnistrokesparameter torecognizeUnistroke.
- Recognize custom unistrokes by setting the
-
0.1.128 Oct 2023Release notes
Open source →- feat: Added a web demo here: https://adil192.github.io/one_dollar_unistroke_recognizer.
- feat: You can see the list of possible outputs in
knownUnistrokesNames. - fix: Strokes that are too short are ignored.
-
0.1.028 Oct 2023