Skip to content

Latest commit

 

History

History
86 lines (60 loc) · 2.5 KB

CONTRIBUTING.adoc

File metadata and controls

86 lines (60 loc) · 2.5 KB

Welcome to Zen contribution guide

Thank you for investing your time in contributing to our project!

Read our Code of Conduct to keep our community approachable and respectable.

See following material as well.

Overview

Level 1 : Big picture

In Zen, the following three communicate with each other to construct the system.

  1. Zen
    A compositor (display server).

  2. Zen Mirror
    A remote agent running on Quest 2 / Pro, that renders an immersive environment.

  3. Applications
    2D and 3D applications.

Zen communicates with applications, receiving rendering information, sending input events, etc.
Zen and Zen Mirror communicate over the network and Zen Mirror renders an immersive environment and presents it to the user.

---
title: Big Picture
---
graph LR
%% Components
  mirror(Zen Mirror)
  zen(Zen)
  2d-app("2D App (Browser)")
  3d-app("3D App (3D Model Viewer)")

%% Relationship
  mirror <-- Network --> zen <-- Wayland --> 2d-app & 3d-app
Loading

Level 2 : Repository and library dependency

Zen consists primarily of the following repositories and libraries

  • Wayland (external library)
    A base windowing system.

  • wlroots (external library)
    A modular Wayland compositor library.

  • zwin
    Core protocols.

  • zen (this repository)
    Core compositor.

  • zen-mirror
    Remote agent on Meta Quest 2 / Pro.

  • zen-remote
    A library that implements the communication layer between Zen running on the PC and Zen Mirror running on the HMD. It has a client (Zen Mirror) side and a server (Zen) side implementation.

  • zennist
    A default space application of Zen.

  • zukou
    A library to build a Zwin 3D application.

Repository and library dependency.

Dependency

Build Zen from source

The first step in contributing to Zen by writing code is to build Zen from source.

See BUILD.adoc.