BorgVR Guide

macOS server utility

BorgVR Dataset Server

Convert, catalog, and serve datasets to native clients or the WebGPU browser without using the command line.

BorgVR dataset visualization

What the server app provides

The server app has two primary jobs: converting source volume and polygon data into BorgVR formats and publishing a directory of datasets, transfer functions, object assets, object files, and measurements over the network. It can optionally synchronize supported content with other BorgVR servers.

ServicePurposeTypical clients
Native dataset serverCatalog, metadata, and brick batches over the BorgVR protocolvisionOS, iOS, and macOS apps
WebGPU web serverBrowser UI, dataset resources, transfer functions, objects, and measurements over HTTP(S)WebGPU-capable browsers
Server synchronizationCopy missing or incomplete content from remote catalogsOther BorgVR servers

Starting a server

  1. Choose Server in the main menu and select the data directory. BorgVR scans .data, .tf1d, .mesh, .marker, and .measurement files.
  2. Check the displayed IP addresses and native port. The copy button places an address on the clipboard.
  3. Enable the WebGPU server in Settings when browser access is needed. Its protocol and port appear in the server window.
  4. Click Start Server. The data directory cannot be changed while the server is running.

The log records catalog scans, connections, errors, and synchronization progress. Clear Log clears only the visible output and does not remove data.

WebGPU and TLS

For network access, the WebGPU server uses HTTPS by default. Without a custom certificate, BorgVR creates a temporary self-signed certificate at startup. Browsers display a warning; after explicit confirmation, the site can be used.

Alternatively, import a PKCS#12 identity as a .p12 or .pfx file. Its password is stored in the macOS Keychain. For safety, unencrypted HTTP binds to localhost only.

Public deploymentFor deliberate public deployment, use a valid certificate and a reverse proxy. A self-signed certificate is intended for controlled testing on a local network.

Importing and exporting datasets

Volume import guides you through input, output, dataset description, and brick settings. Supported workflows include QVIS, NRRD/NHDR, PVM, and DICOM. The result is a standalone .data file. Single- and multi-channel data is preserved; BorgVR supports up to four channels with 8 or 16 bits and scalar 32-bit data. Volume export reconstructs a selected level of detail as a flat, uncompressed NRRD volume; LoD 0 is the full resolution.

Object import converts OBJ, STL, PLY, or USD geometry with a description and UUID into compact .mesh format. Positions, normals, colors, texture coordinates, and optional textures are preserved. Object export writes OBJ, MTL, and an optional texture file.

Brick size
Size of the spatial blocks. It affects management overhead, streaming, and the GPU atlas.
Overlap
Additional border voxels for continuous filtering between neighboring bricks.
Compression
Stores suitable bricks using LZ4 and leaves bricks that do not compress efficiently uncompressed.
Border handling
Determines how incomplete boundary bricks are filled when dataset dimensions are not divisible by the brick size.

Server-to-server synchronization

Settings can contain multiple remote BorgVR servers with hostname, port, interval, and optional password. The server app periodically compares their catalogs with the local directory.

  • New datasets, transfer functions, marker files, and mesh assets are copied.
  • Incomplete datasets resume instead of downloading from the beginning.
  • If multiple origins provide the same dataset, synchronization can switch to another source after a stall.
  • The server window shows active transfers and an idle, up-to-date state.

Access control and operation

A server password protects both the native protocol and web access. Clients store the password with the hostname and port in their server configuration. Before production use, also verify the firewall, reachable address, and selected port.

The MCP server integrated into the visual BorgVR apps is independent of the dataset and WebGPU server. The server utility provides datasets and catalog files but does not control a running visualization through MCP.

Automatic startup is useful on a dedicated machine. For headless or cross-platform operation, use the Swift or C++ command-line server.