- [ ] Annotate Analyzer, Animate
- [ ] equality-predicate vs. member-predicate for utils
- [ ] “Random Quadrilaterals” - Fix randomness
- [ ] Ordering of value instantiation <------
- [ ] TMS for linkages / region propagators?
- [ ] Picking/dealing with Error Values and contradictions
- [ ] Combining Topologies, Deduping points/lines
- [ ] Draw status of partially specified mechanisms.
- [X] Play with generating an isoceles triangle or Kite from its given properties
- [X] Regions for partial information
- [X] Basic Linkages - Bar + Joint
- [X] Establishing topology first
- [X] Basic automatic instantiation
- [X] Constraint language
- [X] Draw mechanisms [1/1]
- [X] Basic Conversion to figure elements
- [X] Replace “bar min” with Direction intervals for bar directions.
- [X] Numeric Intervals for joint thetas
- [ ] Generalize and learn from basic examples analysis results
- [ ] Experiment with finding minimal properties (Rhombus: only opposite angles equal sufficient? or pairs of edges equal?)
- [ ] Exclude extremely obvious facts!
- [X] Multi-element equalities built up from pairwise, “connected component”-esque
- [X] Properly extract points, etc. from polygons (maybe polygon can be generalized to a “group” of elements)?
- [X] Detect properties of square, rectangle, parallelogram, etc.
- [ ] Integrate names and dependencies in results.
- [X] Persist metadata about operations.
- [ ] Figure out randomness / overrides for constructions with intermediary steps
- [ ] Traversal / adjacency metadata
- [X] Randomly Generate square, rectangle, parallelogram, etc
- [X] Distance to Line
- [X] Random Point left of line
- [ ] Improve random point between rays when rays intersect!
- [ ] Improve Random Triangle
- [X] Improved close-enuf?
- [ ] Move away from origin (0, 0)
- [ ] Remap coordinates for drawing
- [X] Basic Generic print / pprint
- [X] Cells, Linkages, Regions
- [ ] Extend to other visual elements
- [ ] Change record types to structures – built-in printers?
- [X] Line by point and direction
- [X] line-through
- [X] Ray by point and direction
- [X] ray-through
- [X] angle-from, lines, rays,
- [X] smallest-angle-from
- [X] Horizontal, Vertical Lines
- [X] Flip lines direction
- [X] Line from Arm of Angle
- [X] Change angles to use vertex + two rays <–
- [X] Change rays to be just point and direction
- [ ] “Direction” as x, y as well vs. just theta?
- [ ] line-p1, ray-p1, etc
- [ ] ->vec
- [ ] Directions to vector (dir + distance)
- [ ] Angle arms
- [ ] Angle Measure
- [ ] Dealing with ordering of segments (a->b vs. b->a)? Standardize?
- [ ] Intersections of segments, rays, etc.
- [ ] Returning multiple intersections
- [ ] Representing / Measuring Arcs
- [ ] Circles, Radii, Diameter
- [ ] Tangents, etc.
- [X] Direction Intervals
- [X] Consider point+direction for line vs. two points
- [X] Angles as vertex point + two vecs
- [X] Change to using Record structures
- [X] Refactor files
- [ ] Points always named
- [ ] Bounds / specifying coordinate ranges (randomness)
- [X] Better Triangle Creator
- [X] Triangle Segments
- [ ] Triangle Angles
- [ ] Perpendicular-to (point-to-line)
- [ ] “Construct Altitudes”
- [ ] “Construct Parallelogram ABCD”
- [ ] Polygons, angles/segments/diagonals.
- [ ] Mutate vs. move?
- [ ] Duplicate angles
- [X] Translate Elements
- [X] Translate Randomly
- [X] Rotation about point
- [ ] Multiple rotation about point
- [X] Translate Randomly along Line
- [X] Rotate Randomly about Point
- [X] Random direction
- [X] Random Line
- [ ] Make first random choices nicely WLOG
- [ ] Handling errors / special cases of circles
- [ ] Backtracking -> “Animation”?
- [ ] Means to discard problems.
- [X] Basic “wiggling” animation
- [ ] Improve wiggling
- [ ] Name before vs. name after vs. use symbolic names everywhere…
- [ ] Multiple element return
- [X] Angle Equality
- [X] Complementary / Supplementary Angles
- [X] Parallel / Perpendicular
- [ ] General Angles which sum to same value
- [X] Basic Segment Length Equality
- [X] Gather all segments with equal lengths
- [X] Go beyond pairs
- [X] Segments not actually present?
- [ ] Concurrency of lines
- [X] Clean up multi-element pairs
- [ ] Perform constructions multiple times
- [ ] Maintain information
- [X] Keeping Track of known properties
- [ ] Exclude known vertex points from “concurrent”, for instance
- [ ] Provide property to minimize
- [ ] Provide some property to consider truth
- [ ] Provide/get new name for points, e.g. “Incenter”
- [ ] Draw Right Angles differently!
- [X] Colors for elements
- [X] Custom-set colors for elements
- [X] Labels for points
- [ ] Aux segment for secondary / hinted segments.
- [ ] Show directions on lines, segments, etc.
- [ ] Mark equal segments, bisectors, etc.
- [ ] Displaying on page nicely
- [ ] Organizing
- [X] Display several displays with timing between
- [X] Smoother Animations
- [X] Better Animation Interface
- [ ] Model + simulate as joins + telescoping, etc.
- [ ] Wiggle Existing choices vs. making new choices
- [ ] Add in examples from Triangle Magic
- [ ] Add in examples from 99 points of intersection
- [ ] Add in examples from GeoGebra Euclidean Examples
- Hyperbolic Geometry
- 3D, volumes
- Construction Problems
- Proofs
- Chasing Angles, solving exercises