**Present:** *Falk David*, *Nathan Vegdahl*, *Sybren Stüvel* Discussion: how Grease Pencil (GP) integrates with the new layered animation system. **Some relevant context:** - *GP animation data* consists of tuples `(start_frame, cel_index)`, which are currently lives in the GP data-block itself. `cel_index` references `CurvesGeometry` data-blocks (the drawings themselves) that are also stored in the GP data-block. **Conclusions:** - The *GP animation data* will be moved from the GP data-block to the Animation data-block, to a new GP channel type. This channel will exist in a single animation layer. - GP layers can be referenced multiple times from different animation layers (albeit once per animation layer). A 'mix mode' determines how these are handled: - **Replace** replaces the *GP animation data*. Use animation strips to limit the duration of those replacements. - **Add** adds more curves to the referenced GP layer. We briefly discussed adding a "current cel index" property to the GP layer, which would determine which `CurvesGeometry` is shown. This property could then be written to by the animation system, making the interaction between the animation system and GP data very similar to how FCurves write a value to the evaluated data-block. This approach would be hard to unify with such an 'Add' mix mode, though. - GP layers will remain as an entity in the GP data-block for managing their own transform, compositing options, etc. - Evaluation of the animation system will evaluate the entire Animation data-block. This should produce a set of GP layers, 'flattened' to just one `CurvesGeometry` data-block per layer. These flattened GP layers are then fed into the modifier system for further processing. - In order to know when GP drawings can be deleted, GP data-blocks could keep a historical list of Animation IDs that store its animation data. That will help in updating the reference counts on its `CurvesGeometry` data-blocks. **UI code:** - *Christoph Lendenfeld* is optimizing current dope sheet, might be interested in also building a new one for the layered animation editor. - *Falk* implemented a GP layer tree view from Julian Eisel's `TreeView` component, and it was very simple to use. - *Falk* suggests maybe making a `TimeView` component that can be used for drawing things in various time-dependent editors (including the VSE?) **Next steps:** - Create a branch for the new data-model. - Add a new ID data-block type `Animation`. - Add a new editor for managing the animation.