Skip to main content

Realms

A realm is a space within which something happens. It can be as small as a single room or as large as the entire world. All other concepts, such as Objects, Areas, Instructions, Subscriptions, exist within the scope of a realm.

So, how big should your realms be?

To get the best performance out of Hivekit, your realms should encapsulate all objects that need to interact with each other, but not more. Here are some examples:

  • If you're providing car sharing or e-scooter services across multiple cities, make each city a realm. All the vehicles, customers, and maintenance personnel within a given city need to interact with each other, but each city is an isolated area and doesn't interact with other cities.

  • If you're running construction sites, it makes sense to make each construction site its own realm - unless you need to track deliveries and staff between sites, in which case it might be better to make the whole city or area you operate in a realm.

  • If you're running an airline and want to show global flight paths - create a realm for the whole world. However, if you also wish to cover ground traffic at airports, it might make sense to create a separate realm for each airport and transition the planes between the global realm and the airports as they take off and land.

Realm Meta Data

Just as with any other concept within Hivekit, realms allow you to store arbitraty data. The realm's data is a great place to keep global settings, such as object categories, visualisations, overlays or any other information that's not directly associated with a specific object, area or instruction.