# To be done before 4.0
## Stored in the .blend file
* Grease Pencil data
* Point attributes: `position`, `pressure` (radius factor), `strength` (opacity), `time` (seconds since start of drawing stroke), `flag` (selection), `uv_fac`, `uv_rot`, `uv_fill`, `vert_color` (vertex color).
* Stroke attributes: `thickness`, `material_index`, `inittime`, `caps` (type of cap, e.g. round or flat), `hardness`, `aspect_ratio` (for dot materials), `fill_opacity_fac`, `uv_rotation`, `uv_translation`, `uv_scale`, `vert_color_fill`, `flag` (selection, cyclic).
* Note: Triangles and bounding box become runtime data. Can be derived from positions.
* **What to do about `editcurve`?**
* **What to do about `dvert`?**
* Frame data: `frame_number`, `key_type`, `selection`.
* Where to store the `key_type` and `selection`? Probably in the layer map.
* Layer data: `hide`, `locked`, `selection` (?), `use_lights`, `solo`, `blend_mode`, `opacity`, ...
* Parent object and name of bone.
* Viewlayer name to filter render output.
* Layer transforms.
* Modifiers:
* Noise, Subdiv, Thick, Tint, Array, Build, Opacity, Color, **Lattice**, Simplify, Smooth, **Hook**, Offset, Mirror, **Armature**, **Time Offset** (replace by instanced keyframes?), Multiply, **Texture**, **Lineart**, Length, **WeightProximity**, Dash, **WeightAngle**, Shrinkwrap, Envelope, Outline
* Shader FX:
* Are stored on the object.
* Need to be ported to the new engine. "Is straightforward" (fclem).
* Materials:
* Need to support all settings in the new engine.