# Example Files

{% hint style="success" %}
We recommend checking out [Project Settings](https://scenegroup.gitbook.io/cavalry/user-interface/menus/window-menu/asset-window/project-settings) to ensure any Assets link correctly.
{% endhint %}

{% file src="<https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-MZw8QYDO4HDEX3V5w-a%2F-MZw8VNTdeSOLubyHx0F%2FCavalry%20Demo%20Files.zip?alt=media&token=94fffb46-fcbd-4e97-9766-12b83e24a9e0>" %}

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-LzryBRZe99yDqb39A4V%2F-Lzrz2bLe1-8wsNGsfis%2FjustYourType.00000.png?alt=media&#x26;token=a3c4f755-914f-4502-8cb5-674eabb6e6cc" alt=""></div>

#### Just Your Type

Simplified, this is a just [Type Shape](https://scenegroup.gitbook.io/cavalry/getting-started/broken-reference) with a [Type Manipulator](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/manipulator) set to **Transition**. Scrubbing the **Percentage** simply transitions the text string on the **Type Shape** to the text string entered in **Final Text** on the Manipulator. We then take this a step further by using [Text Arrays](https://scenegroup.gitbook.io/cavalry/nodes/utilities/string-array) to allow us to create multi-line text via a [Duplicator](https://scenegroup.gitbook.io/cavalry/nodes/shapes/duplicator). You'll also notice we're using a [Bounding Box](https://scenegroup.gitbook.io/cavalry/nodes/utilities/bounding-box) to resize a rounded rectangle depending on the length of the text string. Because the Type and the Rectangle are under a [Group](https://scenegroup.gitbook.io/cavalry/nodes/shapes/group) they both get duplicated.

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-LzryBRZe99yDqb39A4V%2F-Lzs07Ci0bvjHLB9vmMf%2Finfrequency.00000.png?alt=media&#x26;token=f69bfd1e-ff5f-43fe-83c4-ab6a56b3329c" alt=""></div>

#### Infrequency

A [Line Shape](https://scenegroup.gitbook.io/cavalry/nodes/shapes/basic-line) connected to a [Duplicator](https://scenegroup.gitbook.io/cavalry/nodes/shapes/duplicator). There’s an [Oscillator](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/oscillator) then used as a **Deformer** on the **Line** (with **Use Normals** checked). A [Stagger](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/stagger) is then connected to the Oscillator’s **Frequency** to offset each line.

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-1xyaEn6rxruIjwT43%2F-M-1yt7A9j9odwLbrLBd%2Fconcentrick.00000.png?alt=media&#x26;token=bfb2634d-6356-495b-a7b3-acac599d6d35" alt=""></div>

#### Concentrick

A [Circle](https://scenegroup.gitbook.io/cavalry/nodes/shapes/basic-shape) is used as the **Input Shape** on a [Duplicator](https://scenegroup.gitbook.io/cavalry/nodes/shapes/duplicator) with its **Distribution** set to **Point**. A [Stagger](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/stagger) Behaviour is then used to stagger the **Radius** of each duplicated Circle. An [Oscillator](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/oscillator) is then connected to **Shape Position** on the Duplicator. Scrub the **Stagger** value on the Oscillator to change the effect.

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-1xyaEn6rxruIjwT43%2F-M-1zHDPoAmdZ332JPlk%2Fmazin.00000.png?alt=media&#x26;token=c0333bca-26bd-4823-8a2d-007735e82378" alt=""></div>

#### Mazin

A [Basic Line](https://scenegroup.gitbook.io/cavalry/nodes/shapes/basic-line) (rotated to 45º) under a [Group](https://scenegroup.gitbook.io/cavalry/nodes/shapes/group) (because the Duplicator ignores top level shape transforms). The Group is then added to a [Duplicator](https://scenegroup.gitbook.io/cavalry/nodes/shapes/duplicator). We’re then using a [Value Array](https://scenegroup.gitbook.io/cavalry/nodes/utilities/value-array) with values of **0** and **90** and then a [Value](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/value) Behaviour (with a [Falloff](https://scenegroup.gitbook.io/cavalry/nodes/utilities/falloff)) connected to its **Array Index**. The Falloff acts as a switch between those two values. There’s also a [JS Math](https://scenegroup.gitbook.io/cavalry/nodes/utilities/js-math) node used to create a relationship between the line **Length** and the **Size** attributes on the Grid Distribution. This isn’t really necessary but means that when you change the Line length the Distribution Size updates.:sunglasses:&#x20;

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-1xyaEn6rxruIjwT43%2F-M-21yvqDm6OFb3zUmXP%2Fjoyrig.00000.png?alt=media&#x26;token=95d48e3f-a6b8-44ca-b915-993ca06f7177" alt=""></div>

#### Joy Rig

A demo of our [Rig Control](https://scenegroup.gitbook.io/cavalry/nodes/utilities/rig-control) and [Keyframe Layers](https://scenegroup.gitbook.io/cavalry/user-interface/menus/window-menu/scene-window/keyframe-layers) features. Best to check out the links for how it all comes together. :wink:&#x20;

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-1xyaEn6rxruIjwT43%2F-M-22mDQk7lyA3tj4KWW%2Fringting.00116.png?alt=media&#x26;token=607be60d-52fa-401f-9e6c-be085b742851" alt=""></div>

#### Ring Ting

This one’s using a [Polygon](https://scenegroup.gitbook.io/cavalry/nodes/shapes/basic-shape) in a [Duplicator](https://scenegroup.gitbook.io/cavalry/nodes/shapes/duplicator) along a **Path Distribution**. The **Input Path** (a circle) is then being deformed by a [Noise](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/noise) Behaviour. A [Falloff](https://scenegroup.gitbook.io/cavalry/nodes/utilities/falloff) is then used to determine the strength of the **Noise**.

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-1xyaEn6rxruIjwT43%2F-M-23WkKIjyoe9zfX5cF%2Fdobble.00000.png?alt=media&#x26;token=3b04bd90-e221-48b3-818f-89554131fbc2" alt=""></div>

#### Dobble Wobble

An Arc duplicated via a Point Distribution and then we have a [Value Array](https://scenegroup.gitbook.io/cavalry/nodes/utilities/value-array) specifying the rotations. That **Duplicator** then goes into a second **Duplicator** to form a simple pattern which is then animated via the **Shape Rotation** attribute. The animation curves are set to **Loop with Offset** in the [Graph Editor](https://scenegroup.gitbook.io/cavalry/user-interface/menus/window-menu/scene-window/graph-editor).

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-1xyaEn6rxruIjwT43%2F-M-23wbqIuZIHTfu76LW%2Ffocus.00040.png?alt=media&#x26;token=9c360f3a-3cbb-4f4f-b698-1e8baf20e4a4" alt=""></div>

#### Focus

The [Circle](https://scenegroup.gitbook.io/cavalry/nodes/shapes/basic-shape) has a [Gradient Shader](https://scenegroup.gitbook.io/cavalry/nodes/effects/gradient-shader) (set to Conical) on an **Overlay** [Blend Mode](https://scenegroup.gitbook.io/cavalry/user-interface/general/blend-modes). It also has a [Blur Filter](https://scenegroup.gitbook.io/cavalry/nodes/effects/blur-filter) with an [Oscillator](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/oscillator) connected to its **Amount**. Play with the **Stagger** attribute on the Oscillator to alter the offset values.

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-1xyaEn6rxruIjwT43%2F-M-24LgxYfdtpFpSs6FP%2Fopart.00040.png?alt=media&#x26;token=7e9ba16f-065f-4212-8bf9-153e97f98f8f" alt=""></div>

#### Opart

Mind your :eyes:! The [Circle](https://scenegroup.gitbook.io/cavalry/nodes/shapes/basic-shape) is being masked by another circle (Mask). Position.x of the **Mask** is then connected to a [Stagger](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/stagger) Behaviour. We're then using an Oscillator to animate the Stagger's **Maximum** attribute. One Duplicator creates the horizontal layout while the other stacks them vertically. We're then using a [Modulate](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/modulate) connected to the Shape Rotation of the vertical Duplicator to create a pattern (0,180) to flip-flop the rows.

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-24Q1IpZWrIT_S15cb%2F-M-24lKG44gsUn8AxZkM%2Fbutton.00016.png?alt=media&#x26;token=fcb89fd4-e0e8-4a8d-a5f8-9552afd45fca" alt=""></div>

#### Button

An example using Cavalry to mock up UI elements. A [Value 2](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/value-2) is connected to the **Offset** of the [Drop Shadow Filter](https://scenegroup.gitbook.io/cavalry/nodes/effects/drop-shadow-filter). The **Value 2** has a [Falloff](https://scenegroup.gitbook.io/cavalry/nodes/utilities/falloff) added to it. Anything within the Falloff receives the **Value** whereas anything outside it does not (note we've added an **Offset** of **2** to ensure there's always some shadow). Moving the Falloff over each shape creates the illusion of a button press.

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-24Q1IpZWrIT_S15cb%2F-M-25cHWSMI6rMs4V1oO%2Fsee.00014.png?alt=media&#x26;token=aca996a9-a918-415e-ab97-59aa71d7d8af" alt=""></div>

#### See

The rectangle is being rotated using a [Frame](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/frame) via a [Stagger](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/stagger). It's then duplicated along a **Rectangle** using a [Path Distribution](https://scenegroup.gitbook.io/cavalry/user-interface/general/distribution-types). Note that **Vectorise** is checked on the rectangle (Path) and some **Divisions** are set. This converts the rounded corners from bezier to 'lines'. That path is then being deformed using [Noise](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/noise) and its **Strength** is being animated.

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-24Q1IpZWrIT_S15cb%2F-M-26-GPeYKXisB7Y4m0%2Fdaynight.00000.png?alt=media&#x26;token=2e946ac5-cd70-4451-a096-46c079603f43" alt=""></div>

#### Day Night

This one’s more of a ‘rig’. The [Null](https://scenegroup.gitbook.io/cavalry/nodes/utilities/null) is connected to various Elements via some [Value](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/value) and [Value 2](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/value-2) Behaviours. These are being used as multipliers for **Position** on a Mask (Moon), the **Length** of a Line (Sun), the **Count** on a [Duplicator](https://scenegroup.gitbook.io/cavalry/nodes/shapes/duplicator) (Stars) and **Color** (Sky). By moving the **Null** left/right the scene transfers from Night to Day. Note that position.y on the **Null** is 'locked' using the **Limit Position** attributes. Inspired by this article - <https://t.ly/nRwY>

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-M-262LLOXQt7sg0JBpA%2F-M-26Q1gZ_QSq6I1fVCE%2FquadTree.00060.png?alt=media&#x26;token=61b64e55-6226-4b77-86f3-e367a1dfb5e4" alt=""></div>

#### Quad Tree

Duplication via the Quad Tree Shape to position and scale other compositions. This example also demonstrates how you can create complexity by varying the 3 input shapes using Noise and Random behaviours.

<div align="left"><img src="https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-LzuXe5bhQUpmM7fA_6F%2F-LzuiHpCvs7QkXHZ0MYd%2Fdata.00040.png?alt=media&#x26;token=4900d610-773e-43b5-9ff7-48d4b781dc75" alt=""></div>

#### Data

A [Rectangle](https://scenegroup.gitbook.io/cavalry/nodes/shapes/basic-shape) and [Type Shape](https://scenegroup.gitbook.io/cavalry/getting-started/broken-reference) are grouped (Items) and then added to a [Duplicator](https://scenegroup.gitbook.io/cavalry/nodes/shapes/duplicator) set to a [Linear Distribution](https://scenegroup.gitbook.io/cavalry/user-interface/general/distribution-types). A [Google Sheet](https://scenegroup.gitbook.io/cavalry/user-interface/menus/window-menu/asset-window) has then been imported and connected to 3 [Spreadsheet](https://scenegroup.gitbook.io/cavalry/nodes/utilities/spreadsheet) Atoms. The **Column Title** is then set on each Spreadsheet for Label, Value and Color (the names in the 1st row of the linked [Google Sheet](https://docs.google.com/spreadsheets/d/1pcz0L3mE0oWDsPPvB9Iu0i6wwDFsDUeGwMNykhfTAPQ/edit#gid=0)). Then each Spreadsheet is linked to **Height** and **Color** of the Bar and **Text** for the Label. Note that for the Height Spreadsheet we've remapped the values using a [Number Range](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/number-range). An [Align](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/align) Behaviour is connected to the Bar's Deformer attribute so that its base stays in place.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://scenegroup.gitbook.io/cavalry/getting-started/example-files.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
