You have three options to install the application on Windows:
-
(easiest) Download the installer from the releases page and run it on your system. The installer will download all the necessary dependencies and install the application on your system. You can then run the application by opening the
biometrics-studioshortcut on your desktop. -
(moderate) Follow the #Development section below to install the application on your system.
-
(if you plan to debug or develop the app later) Clone or download the repository and run the installer script via the command line (make sure you are in the root directory of the project):
powershell -ExecutionPolicy Bypass -File .\install.ps1
|
Note
|
The above command would install dependencies onto your system. Then you can run the application by opening the .\start.bat file.
|
Since the application is not signed, you need to remove the quarantine attribute before running it. This step is required after installation, specifically after moving the application to the Applications folder. To do this, execute the following command in the terminal:
xattr -d com.apple.quarantine /Application/biometrics-studio.app
Make sure to use the correct path to the application.
First, you need to have Tauri installed (v2 at the time of writing)
Then just run the following commands to start the app:
pnpm i pnpm tauri dev
-
Create a New Class
-
Add the new marking class to the
MarkingClassenum inMarkingBase. -
Add a new class extending
MarkingBase:-
Assign the
markingClassvariable. -
Override the necessary methods, especially
isVisible.
-
-
Add the new class to the parameter properties of the
updateTemporaryMarkingmethod inMarkings.tsfor proper updating.
-
-
Add Translations
-
Add the new class to the list of keys in
translation.ts. -
Exclude functions from translation by adding an exclusion for their names.
-
Add translations in
locales/lang/object.ts.
-
-
Create Drawing Logic
-
In
marking.utils.tsx, add a case for the new class and implement the drawing logic.-
If the logic uses absolute positioning, calculate its
viewportPositionto ensure it works properly with zoom (based onMarkingBase.calculateOriginViewportPosition).
-
-
-
Create a Handler for Mouse Events
-
Add new 'ClassMarkingHandler' extending 'MarkingHandler'
-
In
markingModePlugin.ts, add a case for the new class and invoke the created handler
-
-
Add a Cursor Mode Button to the Toolbar
-
In
toolbar.tsx, add aToggleGroupItemfor the new class.-
Browse icons at LucideIcons.
-
-
-
Adjust Save Markings to File Logic in
saveMarkingsDataWithDialog.ts-
Add properties to
ExportObject.Data.Markings. Marking class-specific properties should be nullable. -
Add the new properties to the
getReducedMarkingsfunction.
-
-
Adjust Load Markings from File Logic in
loadMarkingsDataWithDialog.ts-
Add a case and properties to the
inferMarkingfunction.
-
-
Add shortcut to
useKeyboardShortcuts.tsx. (optional)
