<commit_before>The **scene file** is a [YAML](http://en.wikipedia.org/wiki/YAML) document which organizes all of the elements Tangram uses to draw a map. YAML is a data format similar in many ways to JSON, but it has some unique features which we thought made it more friendly and easy to use for our purposes. (See the [YAML](yaml.md) entry for more about those features.)

## Top-level Elements

There are a variety of top-level elements allowed in a scene file. Each defines the beginning of a _block_ named for the element.

####`cameras`
Optional element. The `cameras` block allows modifications to the view of the map.

See [Cameras Overview](Cameras-Overview.md) and [cameras](cameras.md).

####`layers`
Required element. The `layers` block divides the data into layers and assigns styling parameters.

See [Styles Overview](Styles-Overview.md) and [layers](layers.md).

####`global`
Optional element. The `global` block allows the addition of custom named parameters which can be substituted for values elsewhere in the scene file.

See [global](global.md).

####`lights`
Optional element. The `lights` block allows control of the lighting of the map.

See [Lights Overview](Lights-Overview.md) and [lights](lights.md).

####`scene`
Optional element. The `scene` block sets various scene-wide parameters.

See [scene](scene.md).

####`sources`
Required element. The `sources` block identifies datasources.

See [sources](sources.md).
<commit_msg>add links to import.md<commit_after>The **scene file** is a [YAML](http://en.wikipedia.org/wiki/YAML) document which organizes all of the elements Tangram uses to draw a map. YAML is a data format similar in many ways to JSON, but it has some unique features which we thought made it more friendly and easy to use for our purposes. (See the [YAML](yaml.md) entry for more about those features.)

## Top-level Elements

There are a variety of top-level elements allowed in a scene file. Each defines the beginning of a _block_ named for the element.

####`cameras`
Optional element. The `cameras` block allows modifications to the view of the map.

See [Cameras Overview](Cameras-Overview.md) and [cameras](cameras.md).

####`layers`
Required element. The `layers` block divides the data into layers and assigns styling parameters.

See [Styles Overview](Styles-Overview.md) and [layers](layers.md).

####`global`
Optional element. The `global` block allows the addition of custom named parameters which can be substituted for values elsewhere in the scene file.

See [global](global.md).

####`import`
Optional element. The `import` block allows other .yaml files, containing any combination of Tangram scene blocks, specified from the top-level blocks outward, up to entire scene files, to be imported into the current scene, through a simple text-based merge.

See [import](import.md).

####`lights`
Optional element. The `lights` block allows control of the lighting of the map.

See [Lights Overview](Lights-Overview.md) and [lights](lights.md).

####`scene`
Optional element. The `scene` block sets various scene-wide parameters.

See [scene](scene.md).

####`sources`
Required element. The `sources` block identifies datasources.

See [sources](sources.md).

{'fraction_non_alphanumeric': 0.10096303199751476, 'fraction_numerical': 0.0, 'mean_word_length': 4.7913669064748206, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1313697', 'n_tokens_mistral': 903, 'n_tokens_neox': 856, 'n_words': 425}