> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://documentation.celestory.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Catalogue of Resource Types

# 📚 Catalogue of Resource Types

Every field you fill in a block editing window — an image, a colour, the character who is speaking, the address of an Airtable base — relies on a **resource type**. It decides what the field looks like: a file picker, a colour palette, a dropdown of characters, and so on. 🎯

Celestory has **41** of them. Knowing them helps you understand why a field behaves a certain way, and lets you spot the right setting straight away when you open an unfamiliar block.

🔺 This is a **reference catalogue**, not a detailed manual: one table row per type, not one article. For the richest types, the last section says which ones deserve an article of their own.

---

## 🧩 What is a resource type?

Inside a block's editing window, every value point shows an input field. That field is never hand-built for one specific block: it comes from a resource type shared by every block that needs it.

The same type — **Text**, say — is used in a Dialogue block just as much as in a Notification block. Once you learn a type, you recognise it everywhere else. ✨

---

## 📋 The catalogue

### 🔢 Simple values

| Type | What it edits | Where you meet it |
|---|---|---|
| Boolean | A true/false checkbox. | Any two-state setting (turning an option on or off). |
| Number | A free numeric value. | Any numeric field: quantities, delays, scores. |
| Date | A date and a time. | The **Date check** block, and any dated setting. |
| Color | A colour picked from a palette. | Block styling, backgrounds, styled text. |
| Tags | A list of free keywords, added one by one. | Sorting and searching resources. |
| CSS number unit (CssNumberUnit) | A number paired with a unit (px, %, rem, vh). | Fine-grained layout settings (positions, sizes). |
| Margin | Four linked numbers: top, left, right, bottom. | Spacing settings in a layout. |
| Generic (Any) | No dedicated interface: a raw value with no fixed shape. | Points whose type isn't fixed in advance. |

### 📝 Text and formatting

| Type | What it edits | Where you meet it |
|---|---|---|
| Text | A plain text field, with a multiline option. | Titles, labels, short messages. |
| Rich text (Markdown) | A rich text editor: bold, lists, alignment, fonts. | Longer content where formatting matters. |
| Code | A code editor, with autocompletion for Celestory's functions (reading/writing a graph point, loading an external script). | The **CSS**, **HTML5** and **Run Javascript** blocks. |
| Text style (TextStyle) | Font, size and colour combined. | A module's style settings (Chatbot, Visual Novel). |
| Shared text style (TextStyleRes) | A reference to a text style already defined elsewhere. | The internal style editors of Chatbot and Visual Novel blocks. |

### 🖼️ Media

| Type | What it edits | Where you meet it |
|---|---|---|
| Image | An image file, with preview and replacement. | The **Image** block, and any illustrated setting. |
| Sound | An audio file, with a built-in player. | The **Play sound**, **Load sound**, music blocks. |
| Video | A video file, with playback options (loop, etc.). | The Video blocks. |
| File | A generic file, any format accepted. | The **Select file** block, checkpoints. |
| Spine animation | Three linked files (image, data, atlas) for a skeletal animation. | Backgrounds and characters animated with Spine. |
| Background image (BackgroundImage) | An image combined with a colour, a position and a repeat mode, CSS-background style. | The **Background** and **Background image** blocks. |
| Stretchable border image (BorderImage) | An image sliced into nine zones so it can stretch without distorting the corners, with its own slicing ruler. | Button and panel skinning, via a shared style. |
| Clickable image (ClickableImage) | An image sliced into clickable layers, each with its own shape and interaction. | The **Clickable zone** and **Alter clickable zone** blocks. |

### 🔗 References to the project

| Type | What it edits | Where you meet it |
|---|---|---|
| Graph | A button that opens a nested graph. | The **Open a graph** block. |
| Graph reference (GraphRef) | A choice among the module's Graph-type variables. | Blocks that point to a graph through a variable. |
| Module reference (ModuleRef) | A choice among the project's modules. | The **Open module** block. |
| Menu reference (MenuRef) | A menu choice, with a menu browser. | The **Open menu** block. |
| Choice list (Enum) | A dropdown listing the input points available on the block. | Blocks whose choices depend on their own connections. |

### 🎭 Narrative characters and dialogue

| Type | What it edits | Where you meet it |
|---|---|---|
| Character reference — Chatbot (ChatbotCharacterRef) | A choice among the Chatbot module's characters. | Blocks that make a character speak or act. |
| Background reference — Chatbot (ChatbotBackgroundRef) | A choice among the Chatbot module's backgrounds. | Blocks that change the displayed background. |
| Dialogue — Chatbot (ChatbotDialogue) | Rich text tied to a character, with a quick picker for who is speaking. | The **Dialogue** block in a Chatbot module. |
| Entrance effect — Chatbot (ChatbotEntranceEffect) | A choice among three arrival animations: left, right, fade. | Blocks that bring a character on screen. |
| Character reference — Visual Novel (VisualNovelCharacterRef) | A choice among the Visual Novel module's characters. | Character blocks in a Visual Novel module. |
| Dialogue — Visual Novel (VisualNovelDialogue) | The same logic as Chatbot dialogue, adapted for Visual Novel. | The **Story** / **Scene** blocks in a Visual Novel module. |

### 🎛️ Full module configuration

| Type | What it edits | Where you meet it |
|---|---|---|
| Choice configuration (ChoiceConfig) | Nothing by default: a message invites you to connect an **Alter choice** block to activate it. | The **Choice** block, until it's linked to Alter choice. |
| Chatbot configuration (ChatbotConfig) | A Chatbot module's full appearance: background, HUD, characters, delays, and the style of every block type (Alert, Choice, Dialogue, QTE, Swipe, Notification…). | The Chatbot module's own settings, not one specific block. |
| Visual Novel configuration (VisualNovelConfig) | The same for the Visual Novel module: the app's appearance and the style of every block type. | The Visual Novel module's own settings. |

### 🔌 External data connectors

| Type | What it edits | Where you meet it |
|---|---|---|
| Airtable configuration (AirtableConfig) | The base, the table and the operation (read/create/update/delete) of an Airtable access. | The **Airtable** block. |
| Baserow configuration (BaserowConfig) | The same setting, for a Baserow access. | The **Baserow** block. |
| MCP configuration (McpConfig) | An MCP server's address, its headers, and the list of tools it exposes. | The **MCP** block. |

### 📦 Composite structures

| Type | What it edits | Where you meet it |
|---|---|---|
| List | A reorderable list of resources of one type, added or removed one at a time. | The **Add to list**, **Loop through a list**, **List includes** blocks. |
| Object | A set of key/value pairs, editable field by field or as raw JSON. | The **Destructure Object**, **Loop through Object**, **Multi Assign** blocks. |
| Shared style (StyleRes) | A reference to a stretchable border image style, reused by several blocks. | Skinning Chatbot blocks (buttons, panels). |

---

## 🔎 Worth exploring later

This catalogue stays deliberately shallow. Four types are rich enough to deserve an article of their own:

-   🔺 **Chatbot configuration** — by far the richest type: it combines the app's overall appearance with a separate style editor for each of the eleven Chatbot block types (Alert, Choice, Audio choice, Dialogue, Image, Input, Narrator, Notification, QTE, Select file, Swipe, Background…).
-   🔺 **Visual Novel configuration** — the same ambition on the Visual Novel side, with its own editors for the Alert, Choice, Dialogue, Input, Notification, Slide and Swipe blocks.
-   🔺 **Clickable image** — a whole mini layer editor by itself: shapes, images and text stacked on top of each other, each with its own interaction and its own editor.
-   🔺 **Stretchable border image** — simpler than the previous three, but with an interactive slicing ruler that deserves a visual explanation.

---

→ Next step: this catalogue lists field *types* — to see how those fields are organised inside a block's window, head to the block editing window. 🪟
