Skip to content

Introduction

JSAR (/dʒ:-sar/) is a revolutionary browser engine library designed for the next computing era (Metaverse). It enables you to create immersive Web contents using the modern Web technologies (HTML5, CSS3, TypeScript) and seamlessly integrate them into mainstream 3D engines like Unity, UnrealEngine, and RealityKit.

Key Features

  • 3D-First Design - Mix-rendering multiple Web 2D and 3D contents in a single scene.
  • Web Standards Compliant - Supports WebXR, WebGL, DOM, CSSOM, and other modern Web standards.
  • High Performance - A builtin ECS to achieve the GPU-driven renderer for elements.
  • TypeScript-Native Scripting - Ability to write TypeScript instead of JavaScript without extra bundlers or transpilers, JavaScript is also supported.

Objectives

  • Introduce a new way to render the Web contents.
  • Designed for Web developers, no need to learn new languages or frameworks.
  • Ability to render existing Web applications spatially without any modification.

Use Cases

By examining various use cases, we aim to help you quickly determine if JSAR is suitable for your needs.

If you are a YodaOS-Master developer, consider using JSAR if any of the following apply to you:

  • You want to create desktop widgets like pets, globes, or stock information.
  • You want to develop scenes that combine 2D and 3D elements, such as map assistants or product displays.
  • You have experiences in web development and love it.

However, you should not choose JSAR if your goals are:

  • Developing standalone spatial applications.
  • Creating a large-scale game or application.
  • Providing a closed-off user experience.

Documentation Usage Guide

To facilitate developers' use of this documentation, we provide a brief explanation of its structure so that you can quickly find the content you need.

Writing Principles

This documentation intentionally includes some redundant content. You may encounter repeated information. This approach is primarily aimed at helping developers understand specific concepts without the need to repeatedly switch between different sections. It may result in slightly verbose writing, and we hope developers can appreciate its usefulness.

Document Structure

  • Quick Start: This chapter introduces how to get started from a beginner's perspective. It covers topics such as creating HTML files, writting a sample application and how to debug it. If you're a beginner, we recommend starting with this chapter.
  • Basic Concepts: In this chapter, we dive into core concepts related to 3D basics, embeddable spaces, input sources and spatial HTML.
  • Features: This chapter provides detailed guideline on JSAR features, such as using TypeScript, Three.js, Babylon.js, spatial HTML and more.
  • References: This chapter provides a list of references, the technical documentations and specifications to help developers learn more about features.
  • Tutorials: This chapter provides step-by-step tutorials to help developers quickly get started with JSAR.
  • Tools: This chapter introduces the tools to develop Web content for JSAR. If you want to understand how to debug your applications, you can read this chapter.

Apache 2.0 License.
Built with ❤️ using Trae 2.0.