Introducing extensions
Published May 9, 2026 · 5 min read
Extensions are a powerful way to extend the Geomatic engine with custom functions. Unlike macros, which bundle existing commands together, extensions let you add entirely new geometric primitives and operations to the editor.
What is an extension?
Think of an extension as a plugin that adds new capabilities to the Geomatic engine. You can write custom functions in JavaScript that implement any geometric operation you can imagine—from specialized calculations to complex constructions—and load them into the editor to use alongside the built-in commands.
Loading an extension
Loading an extension is simple. Visit the extensions page and paste the URL to a manifest.json file. The manifest describes your extension and tells the engine where to find your code.
For example, you can load this test extension:
https://vinsis.github.io/test-ext/manifest.json
This extension implements two new functions: n-star and perp-line. Once loaded, the functions defined in the extension become available in the editor, ready to use just like any built-in command.
Building an extension
Creating an extension is straightforward. You'll need:
- A manifest.json file that describes your extension (name, version, author, description)
- A JavaScript file that exports your custom functions
- Host these files somewhere accessible via URL
Your JavaScript functions should follow the Geomatic function signature, accepting parameters and returning geometric objects or values. The engine handles the rest—integrating your functions into the command system and making them available for use.
Free for everyone
Unlike macros, loading extensions is completely free and available to all users. You don't need a premium account to extend the editor with your own functions. This openness is by design—we believe that empowering users to customize their tools leads to better outcomes for everyone.
The power of extensibility
Allowing anyone to write their own extension and load it makes the editor even more powerful. It transforms Geomatic from a fixed set of tools into an open platform that can adapt to any need. Whether you're working on specialized research, teaching a unique concept, or exploring new geometric ideas, extensions give you the freedom to build exactly what you need.
This extensibility also fosters a community around the tool. As users create and share useful extensions, everyone benefits from a growing ecosystem of geometric capabilities. You can build on others' work, contribute back, and help shape the future of geometric computing.
Getting started
Ready to create your own extension? Visit the extensions page to load existing extensions or start building your own. The possibilities are limited only by your imagination.