Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
2a8ce38
Update requirements to remove compas_fab and suggest `uv` instead of …
gonzalocasas Mar 13, 2026
a97e3bf
Remove Rhino 7 integration (post install hooks)
gonzalocasas Mar 13, 2026
48bee34
Update components for Rhino 8
gonzalocasas Mar 13, 2026
02f3f43
Merge branch 'remove_2.7_support' of https://github.com/compas-dev/co…
gonzalocasas Mar 13, 2026
b7cbdf3
Update to build cpython components
gonzalocasas Mar 13, 2026
3b2d631
build gh components
jckenny59 Mar 13, 2026
a049646
Update copyright year
gonzalocasas Mar 13, 2026
e5a7a9e
Enable mkdocs doc building
gonzalocasas Mar 13, 2026
669cdb1
Migrate citing
gonzalocasas Mar 13, 2026
0cf93ba
Not needed
gonzalocasas Mar 13, 2026
29e7623
Delete old sphinx config
gonzalocasas Mar 13, 2026
c892707
Contribution guidelines
gonzalocasas Mar 13, 2026
3d9144e
Index to md
gonzalocasas Mar 13, 2026
0f9d7a7
License to md
gonzalocasas Mar 13, 2026
5f65f32
Installation to md
gonzalocasas Mar 13, 2026
d284421
API to md
gonzalocasas Mar 13, 2026
22c5d78
Remove 2.7 left overs
gonzalocasas Mar 13, 2026
1f67f37
Fix mismatching param names
gonzalocasas Mar 13, 2026
4b4f9bf
Update inits at top level
gonzalocasas Mar 13, 2026
f9cce68
User guide to md
gonzalocasas Mar 13, 2026
a0b1408
Unity to md
gonzalocasas Mar 13, 2026
50d5b59
Merge branch 'prep-release' of https://github.com/compas-dev/compas_x…
gonzalocasas Mar 13, 2026
590ce0a
Tabbed md docs extension
gonzalocasas Mar 13, 2026
c9c7564
Remove old rst
gonzalocasas Mar 13, 2026
3fbb1ec
Fix missing docstrings
gonzalocasas Mar 13, 2026
a3ff720
Add correct inventory for 0.7 compas_timber
gonzalocasas Mar 13, 2026
356eaec
Add changelog to docs
gonzalocasas Mar 13, 2026
2069729
Migrated docstring types to python 3 type hints + mkdocs [part 1]
gonzalocasas Mar 14, 2026
7d97908
fix titles
gonzalocasas Mar 14, 2026
1d77624
add eve inventory
gonzalocasas Mar 14, 2026
cf71c0b
remove crap
gonzalocasas Mar 14, 2026
8109ba0
migration messages to md
gonzalocasas Mar 14, 2026
d731d53
Update docstrings [part 2]
gonzalocasas Mar 14, 2026
fb2e0ea
realtime db static -> db
gonzalocasas Mar 14, 2026
b8a345b
Update changelog
gonzalocasas Mar 14, 2026
768878a
Not needed
gonzalocasas Mar 14, 2026
5abf6ba
Remove old IronPython test runner
gonzalocasas Mar 14, 2026
669ecc3
Add missing pytest dev
gonzalocasas Mar 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

* Added type hints to all public methods and functions

### Changed

* Update Grasshopper components to build as CPython 3.x components
* Migrated documentation to Mkdocs format

### Removed

* Removed Support for IronPython 2.7 support
* Removes dependency on `compas_fab`
* Removed Rhino 7 post installation hooks

## [1.0.0] 2024-06-26

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ In short, this is how that works.
3. Install development dependencies:

```bash
pip install -e .[dev]
pip install -e ".[dev]"
```

4. Make sure all tests pass:
Expand All @@ -21,7 +21,7 @@ In short, this is how that works.
invoke test
```

5. Start making your changes to the **master** branch (or branch off of it).
5. Start making your changes to the **main** branch (or branch off of it).
6. Make sure all tests still pass:

```bash
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2023-2024 ETH Zurich, Princeton University
Copyright (c) 2023-2026 ETH Zurich, Princeton University

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@

## Installation

> It is recomended you install `compas_xr` inside a virtual environment.
It is recommended to install `compas_xr` inside a virtual environment. We suggest using [uv](https://docs.astral.sh/uv/) for faster and more reliable dependency management.

```bash
pip install compas_xr
uv pip install compas_xr
```

To install `compas_xr` to Rhino run
To use `compas_xr` in Rhino 8, add the requirements header to your script:

```bash
python -m compas_rhino.install
```python
# r: compas_xr
```

## First Steps
Expand Down
Binary file added docs/_logo/compas_logo_white_transparent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_logo/favicon.ico
Binary file not shown.
9 changes: 0 additions & 9 deletions docs/api.rst

This file was deleted.

1 change: 1 addition & 0 deletions docs/api/compas_xr.ghpython.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# ::: compas_xr.ghpython
2 changes: 0 additions & 2 deletions docs/api/compas_xr.ghpython.rst

This file was deleted.

1 change: 1 addition & 0 deletions docs/api/compas_xr.mqtt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# ::: compas_xr.mqtt
2 changes: 0 additions & 2 deletions docs/api/compas_xr.mqtt.rst

This file was deleted.

1 change: 1 addition & 0 deletions docs/api/compas_xr.project.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# ::: compas_xr.project
2 changes: 0 additions & 2 deletions docs/api/compas_xr.project.rst

This file was deleted.

1 change: 1 addition & 0 deletions docs/api/compas_xr.realtime_database.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# ::: compas_xr.realtime_database
2 changes: 0 additions & 2 deletions docs/api/compas_xr.realtime_database.rst

This file was deleted.

7 changes: 0 additions & 7 deletions docs/api/compas_xr.rst

This file was deleted.

1 change: 1 addition & 0 deletions docs/api/compas_xr.storage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# ::: compas_xr.storage
2 changes: 0 additions & 2 deletions docs/api/compas_xr.storage.rst

This file was deleted.

36 changes: 36 additions & 0 deletions docs/api/compas_xr_unity.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# COMPAS XR Unity

The COMPAS XR Unity package contains an application & Unity file that work together with the `compas_xr` Python library.

## Initialize.unity

- `FirebaseInitializer.cs` (initializes Firebase with configured settings and manages scene transitions upon successful initialization, utilizing MqttFirebaseConfigManager for disconnecting MQTT and HelpersExtensions.ChangeScene for scene navigation.)
- `FirebaseConfigSettings.cs` (manages user input Firebase configuration settings, saving and loading them from Player Preferences, and updates a singleton instance FirebaseManager with these values.)
- `MqttFirebaseConfigManager.cs` (manages MQTT connections, handles message events, and allows subscription to custom topics for sending Firebase configuration information.)
- `LogManager.cs` (manages logging by creating a log directory, deleting old log files, and writing log messages with timestamps, scene names, log types, and stack traces to a specified log file.)

## Login.unity

- `UserManager.cs` (manages user records and device configurations in Firebase, allowing creation of new users and updating existing ones based on unique identifiers.)


## MainGame.unity

- `AppModeControler.cs` (defines a ModeControler class within the CompasXR.AppSettings namespace that manages two enums, VisulizationMode and TouchMode, to control visualization modes and touch interaction modes in an application.)
- `ApplicationSettings.cs` (defines a ApplicationSettings class within the CompasXR.AppSettings namespace, which includes properties for managing the project name, storage folder path, and a boolean for z-to-y axis remapping configuration in an application.)
- `CheckFirebase.cs` (defines a CheckFirebase class within the CompasXR.Database.FirebaseManagement namespace, which checks and initializes Firebase on the Start method, and triggers an event to confirm successful initialization or logs an error if it fails.)
- `CoreData.cs` (defines several classes within the CompasXR.Core.Data namespace, handling data structures, data conversion, and deserialization. The classes represent parts of a building assembly, including nodes, parts, frames, attributes, building plans, steps, data, and user information.)
- `DatabaseManager.cs` (manages a Unity application's integration with Firebase Realtime Database and Storage, handling data synchronization, event-driven updates, and deserialization of complex data structures for a construction planning and tracking system.)
- `Eventmanager.cs` (orchestrates the setup, initialization, and event-driven interactions between various components and Firebase services within the CompasXR Unity application.)
- `Extentions.cs` (extends Unity engine functionality with methods for scene management, object finding, value remapping, UI interaction checks, data type printing, camera-facing behavior, and object position storage in the CompasXR.Core.Extentions namespace.)
- `FirebaseManager.cs` (implements a sealed singleton class using the Singleton Pattern to manage Firebase configuration settings such as appId, apiKey, databaseUrl, storageBucket, and projectId, with initialization based on the current operating system detected by OperatingSystemManager.GetCurrentOS().)
- `InstantiateObjects.cs` (manages the AR space instantiation and control of objects based on building plan data, handling object visualization, user indicators, and interaction with materials and textures.)
- `MQTTDataCompasXR.cs` (define classes and data structures for managing MQTT communication, service states, and custom message formats within the Compas XR system, ensuring standardized messaging and service management across robotic applications.)
- `MqttTrajectoryManager.cs` (implements an MQTT client in Unity for managing robot trajectory requests and approvals, featuring message handling, connection management, and UI interactions.)
- `ObjectTransformations.cs` ( provides static methods for converting object positions and rotations between Unity and Rhino coordinate systems, utilizing various rotation and transformation algorithms.)
- `OperatingSystemManager.cs` (identifies and logs the current operating system (Android, iOS, or Unknown) based on the Unity platform, providing a static method to retrieve this information.)
- `QRLocalization.cs` (manages the real-time localization of objects in a scene based on QR code data, updating their positions and rotations dynamically.)
- `RosConnectionManager.cs` ( handles the connection to a ROSBridge server, manages connection status, and updates UI elements based on communication toggle state in the CompasXR Application.)
- `ScrollSearchManager.cs` (manages scrollable UI functionality for searching and interacting with elements, including dynamic cell creation, scrolling control, and object coloring based on user selection in the CompasXR Application.)
- `TrajectoryVisualizer.cs` (namespace manages robot visualization and interaction in Unity, facilitating tasks such as setting up robots in the scene, instantiating trajectories, configuring robot configurations from dictionaries, and attaching elements to end effectors based on received data.)
- `UIFunctionalities.cs` (manages various UI elements and functionalities, including primary UI controls, visualizer menus, additional menu functionalities, and communication settings such as MQTT and ROS connections.)
47 changes: 0 additions & 47 deletions docs/api/compas_xr_unity.rst

This file was deleted.

5 changes: 5 additions & 0 deletions docs/assets/stylesheets/custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:root > * {
--md-primary-fg-color: #0092d2;
--md-primary-fg-color--light: #0092d2;
--md-primary-fg-color--dark: #0092d2;
}
1 change: 1 addition & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--8<-- "CHANGELOG.md"
23 changes: 23 additions & 0 deletions docs/citing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Citing

If you use COMPAS XR for your work, please verify that you are citing us correctly:

```bibtex
@misc{compas-xr,
title={{COMPAS~XR}: extended reality workflows for the COMPAS Framework},
author={
Kenny, J. and
Casas, G. and
Alexi, E. and
Moisi, A. and
Gramazio, F. and
Kohler, M. and
Mitterberger, D.
},
howpublished={https://github.com/compas-dev/compas\_xr/},
note={ETH Z\"{u}rich, Princeton University},
year={2024},
doi={10.5281/zenodo.12514526},
url={https://doi.org/10.5281/zenodo.12514526},
}
```
27 changes: 0 additions & 27 deletions docs/citing.rst

This file was deleted.

Loading
Loading