Free and Pro
vectorstream comes in two parts. The free packages (@vectorstream/core, adapter, editor, leaflet,
openlayers, maplibre, toolbar-ui) are under the MIT license and contain everything an editor needs. vectorstream
Pro (@vectorstream/pro) is one more package that plugs into the free editor through its
extension interface and adds the parts listed below. Pro is not MIT-licensed; it comes with a license
agreement of its own.
Not yet published. No package has been released. This page describes how the code in this repository is cut, which is also how the first release will be cut. Prices and the way to buy a license are not part of this handbook.
What is free#
All tools and the topology under them: drawing, editing, moving, rotating and scaling, split, union, difference, cut
(with a polygon), simplify, copy, lasso, snapping with guide lines, tracing, undo and redo, the validity check,
GeoJSON import and export, the export of the map as an image, the three map adapters, the toolbar, and the five
languages. Of the rules between layers the free editor checks the two kinds innerhalb (within) and
ueberlappungsfrei (overlap-free), without a condition and without the red preview. There is no license key in the free
packages and nothing in them asks for one.
What Pro adds#
Ten more kinds of rule, attribute conditions on a rule, rules measured in meters, the red preview, snapping onto the target layers of the rules, the incremental check of the rules (after an edit only the elements near it are judged again), the circle as a cutting shape, and the list of rule violations.
Kinds of rule#
The kinds are stored by name. A rule of a Pro kind is checked only in an editor that has Pro; in an editor without it the rule is kept unchanged (see below).
| Kind | Package |
|---|---|
innerhalb |
Free |
ueberlappungsfrei |
Free |
beruehrt |
Pro |
beruehrungsfrei |
Pro |
schneidend |
Pro |
abdeckung |
Pro |
lueckenlos |
Pro |
aufLinie |
Pro |
aufRand |
Pro |
mindestabstand |
Pro |
mindestflaeche |
Pro |
mindestbreite |
Pro |
The kinds are described in Rules between layers (the two free ones) and in Rules between layers (Pro) (the ten others).
Other differences#
| Feature | Package | In code |
|---|---|---|
| The violations as data, and moving the map to an element | Free | regelVerstoesse, zeigeElement |
| Tracing along the boundaries of other layers | Free | nachzeichnenVorlagen |
| Asking an editor which kinds of rule it knows | Free | regelarten |
| Stored rules of kinds the editor does not know | Free | regeln |
| Attribute conditions on a rule | Pro | bedingungErfuellt |
| The red preview, snapping onto target layers, the incremental check | Pro | proErweiterung |
The circle as a cutting shape (cut-circle, difference-circle) |
Pro | CutCircleMode, DifferenceCircleMode, mitProWerkzeugen |
| The list of violations as a panel | Pro | baueVerstossliste |
| The state of the license key | Pro | pruefeLizenz, setzeProLizenz |
The first column names the feature, the last one the name in the code. The Pro names are exports of @vectorstream/pro
(baueVerstossliste of @vectorstream/pro/ui); the Free names are members of Editor.
A document with Pro rules in the free editor#
Opening a document that holds rules of a Pro kind in an editor without Pro loses nothing. The rules are kept, listed by
editor.regeln() with the status benoetigtErweiterung, saved again unchanged, and not checked. They can be removed but
not changed. The details are in Compatibility.
The license key and what it does#
Pro takes a license key. Without a valid one it still does everything; it shows a small label in the map and writes one line to the console. A key never switches a function off. How the key is checked, which states there are and what each one shows is described in Setting up the license key. The check runs in the page and opens no network connection; neither does anything else in the free packages or in Pro for license, counting or telemetry.
Where to read on#
- Extensions — the extension interface and a rule kind of your own.
- Installing Pro — the private package registry.
- Introduction — the packages and how they work together.