---
title: "Comfy Objects"
---
## LiteGraph
The Comfy UI is built on top of [LiteGraph](https://github.com/jagenjo/litegraph.js).
Much of the Comfy functionality is provided by LiteGraph, so if developing more complex
nodes you will probably find it helpful to clone that repository and browse the documentation,
which can be found at `doc/index.html`.
## ComfyApp
The `app` object (always accessible by `import { app } from "../../scripts/app.js";`) represents the Comfy application running in the browser,
and contains a number of useful properties and functions, some of which are listed below.
Hijacking functions on `app` is not recommended, as Comfy is under constant development, and core behavior may change.
### Properties
Important properties of `app` include (this is not an exhaustive list):
|property|contents|
|-|-|
|`canvas`|An LGraphCanvas object, representing the current user interface. It contains some potentially interesting properties, such as `node_over` and `selected_nodes`.|
|`canvasEl`|The DOM `