# Geometry Nodes Grease Pencil integration design
This document summarizes the ideas for how to integrate Grease Pencil into geometry nodes.
The Grease Pencil data-block at a specific scene frame can be thought of as a tree of `CurvesGeometry`.
```mermaid
%%{init:
{'theme': 'dark',
'themeVariables': {
'darkMode': 'true'
}}
}%%
graph TD
subgraph GreasePencil
Group1-->Layer2
Group1-->Layer3
Group1-->Group2
Group2-->Layer4
Group2-->Layer5
Layer1-->CurvesGeometry1
Layer2-->CurvesGeometry2
Layer3-->CurvesGeometry3
Layer4-->CurvesGeometry4
Layer5-->CurvesGeometry5
end
```
## Idea #1
* New Geometry Component for Grease Pencil
* Two nodes
* **Convert Grease Pencil to Curves**
* 
* If the layer name is empty, will convert all the visible curves to a single CurvesGeometry
* If there is a valid layer name, will only convert the CurvesGeometry of that layer.
* **Convert Curves to Grease Pencil**
* Problem: How to we reconstruct the layer tree?
* Idea: Store a `layer_id` and a `parent_layer_id` attribute on each curve. Reconstruct the tree from this information. This will reconstruct the structure, but looses all information stored on the layers. E.g. visibility, name, etc