---
updatedAt: 2025-06-16T21:13:33.000Z
---

Fetch the complete documentation index at: https://docs.ultralig.ht/llms.txt. Use this file to discover all available pages before exploring further.

# Architecture

## Module Layout

<Image title="library_design.png" alt="Overview of Ultralight Modules" align="center" width="400px" src="https://files.readme.io/a9ddd98-library_design.png">
  Overview of Ultralight Modules
</Image>

## Module Details

## AppCore

*(Optional)* Cross-platform app runtime ([source available here](https://github.com/ultralight-ux/ultralight/tree/master/deps/AppCore)), responsible for creating platform windows, handling platform input events, running application event loops, and all platform-specific GPU code.

## Ultralight

Responsible for managing Views, high-level rendering, input translation, resource policies, and event dispatch.

## WebCore

The core HTML/CSS layout engine ([source available here](https://github.com/ultralight-ux/ultralight-webcore)), responsible for parsing resources, applying styles, calculating layout, and transforming the result into a tree of paint nodes (during rendering, we walk the tree and turn this into a GPU command list to be drawn by GPUDriver or our parallel CPU rasterizer)

## JavaScriptCore

The core JavaScript virtual machine, responsible for everything JS-related. We expose the full API for you to integrate deeply into your app.

## UltralightCore

Proprietary 2D CPU and GPU drawing library, responsible for all low-level graphics routines (paths, fonts, GPU command lists, CPU rasterization, tesselation, image cache, etc.).