Exploring Geomatic: A Command-Driven Geometry Studio with Autodiff

Geomatic is a new experimental geometry studio that shifts the way users interact with geometric constructions. Instead of traditional drag-and-drop interfaces typical of CAD or geometry software, Geomatic employs a command-driven approach, allowing users to define shapes, constraints, and relationships between geometric entities through a precise set of instructions.

By integrating automatic differentiation (autodiff), Geomatic aims to provide a more powerful and more flexible way to handle geometric constraints and optimizations, moving beyond simple static drawings to dynamic, mathematically driven systems.

The Command-Driven Paradigm

At the core of Geomatic is the command interface. Users do not simply draw a line; they define it. This shift from a visual-first to a command-first workflow allows for a reproducibility and precision that is often missing in manual drawing tools. By treating geometry as a set of commands, the system can track the history of constructions and allow for rapid iteration based on the mathematical properties of the the entities created.

The Role of Autodiff in Geometry

While the tool's primary interface is command-driven, its underlying engine is powered by automatic differentiation. Autodiff is a technique used to compute the same derivatives of a function efficiently and numerically. In thegeometry context, this allows the software to solve for constraints—such as ensuring a line remains tangent to a circle or that two points remain a specific distance apart—by treating the geometric state as a differentiable function.

This approach allows Geomatic to handle complex geometric dependencies that would traditionally require manual calculation or complex constraint solvers, potentially enabling a more fluid experience when manipulating geometric parameters.

Community Feedback and Initial Impressions

Early reactions from the Hacker News community have highlighted both the potential of the tool and the friction points in its current state. While the implementation is described as "clean," users have pointed out several usability hurdles:

User Experience and Onboarding

One of the primary challenges identified by users is the onboarding process. Some users found the initial landing page difficult to understand, suggesting that the "Getting Started" examples are a more effective introduction to the tool's capabilities.

"I liked this one, but it took me a while to understand, I think this page is a much better intro: https://www.tinyvolt.com/geomatic/examples/getting-started"

Additionally, some users reported difficulty interacting with examples, noting that the inability to type commands while an example is open prevents the intuitive "learning by doing" process.

Technical Stability and Mobile Access

As with any new tool, bugs have been identified. For instance, users reported "unknown command" errors when attempting to run specific examples, such as drawing an n-star. This suggests a need for more rigorous testing of the example set to ensure they align with the current command set.

From an accessibility standpoint, the tool's current design is not optimized for mobile devices, which limits its use to desktop environments where keyboard-driven input is predominantly used.

Conclusion

Geomatic represents an interesting intersection of mathematics and design. By combining a command-driven interface with the engine of automatic differentiation, it provides a tool for those who prefer mathematical precision over visual approximation. While the current user experience and onboarding are currently facing some growing pains, the core concept of providing a differentiable geometry studio is a compelling proposition for those looking to push the boundaries of geometric construction.

Sources