Skip to content

Repository files navigation

XIDER

XIDER (eXtensible Integrated Development Environment for Reality) is a powerful and versatile IDE designed to streamline the development of applications for extended reality (XR) platforms. With its intuitive interface and robust feature set, XIDER empowers developers to create immersive experiences across a wide range of devices, including virtual reality (VR), augmented reality (AR), and mixed reality (MR) platforms.

Application Layer

XIDER is the application layer that combines the Utility, Evan, and Guillaume libraries into a single desktop and XR IDE shell.

  • Owns the top-level application object.
  • Bridges Guillaume scenes with Evan rendering.
  • Wraps the engine and event handler used by the platform entry points.
  • Provides the Home, Settings, and Sound scenes used by the app.

Features

  • Cross-Platform Support: Build applications that run smoothly on Windows, macOS, and Linux, as well as various XR platforms.
  • Extensible Architecture: Customize and extend the IDE with plugins and extensions to suit your specific development needs.
  • Integrated Debugging Tools: Debug your XR applications with ease using built-in tools that provide insights into performance, memory usage, and more.
  • Visual Scripting: Create complex interactions and behaviors without writing code, using a visual scripting system that is accessible to both programmers and non programmers.
  • Asset Management: Organize and manage your project assets efficiently with a built-in asset management system.

Strategic Objectives

This project focuses on four key strategic objectives to ensure successful development and community engagement. Each objective has been organized into dedicated documentation files for detailed reference.

Focus Area Description
Technological Watch Actively explore, test, and integrate emerging technologies with a critical approach.
Technical Architecture Structure, document, and ensure the reliability of the project's architecture.
Community Contributions Open the project to the community and encourage external contributions.
Performance and Optimization Measure, test, and optimize technical performance.

Build Notes

XIDER is built as a C++20 application/library through CMake. It fetches and links against Utility, Evan, and Guillaume. Select exactly one backend and one platform when configuring the project.

  • Backend: BUILD_FOR_OPENXR or BUILD_FOR_GLFW
  • Platform: BUILD_FOR_ANDROID, BUILD_FOR_LINUX, BUILD_FOR_WINDOWS, or BUILD_FOR_MACOS

Dependencies

  • CMake 3.10+
  • A C++20 compiler
  • The Vulkan SDK (download form LunarG)
  • Doxygen + Graphviz (only for -DBUILD_DOCS=ON)

XIDER fetches its dependencies (Utility, Evan, Guillaume) via CMake FetchContent.

Quickstart

cmake -S . -B build \
  -DBUILD_FOR_GLFW=ON \
  -DBUILD_FOR_LINUX=ON \
  -DBUILD_TESTING=ON
cmake --build build
ctest --test-dir build --output-on-failure

Optional options:

  • -DBUILD_TESTING=ON — build and run the test suite.
  • -DBUILD_DOCS=ON — build Doxygen documentation.
  • -DBUILD_BENCHMARKS=ON — build the benchmark harness.

Consuming as a dependency

Once installed, downstream projects can use find_package(xider):

cmake --install build --prefix /path/to/prefix
find_package(xider REQUIRED)
target_link_libraries(my_app PRIVATE xider::xider)

Documentation

For more detailed information on each part of the project, please refer to the following documentation files:

Contributing

We welcome contributions from the community! If you're interested in contributing to XIDER, please check out our Contributing Guidelines for more information on how to get involved.

Community

License

XIDER is released under the MIT License.

About

XIDER

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages