example: an art with 4 frames and 3 layers Art |width, height, charset, palette: stuff that's written to / read from disk |renderables: list of renderables using us |vert_array, elem_array: geo array for all layers (changes on: resize, layer add/del) |update lists: tiles of specific frame+layers whose array data we should update |frames |0 |delay: time before display next frame |uv_array, fg_color_array, bg_color array: arrays for all layers of this frame | (changes on: tile edit, art resize, layer add/del) |layers |0 |z: z depth for this layer |chars, fg_colors, bg_colors: data (lists of rows) for this layer |1 |z |chars, fg_colors, bg_colors |2 |z |chars, fg_colors, bg_colors |1 |delay |uv_array, fg_color_array, bg_color array |layers |0 |z |chars, fg_colors, bg_colors |1 |z |chars, fg_colors, bg_colors |2 |z |chars, fg_colors, bg_colors |2 |delay |uv_array, fg_color_array, bg_color array |layers |0 |z |chars, fg_colors, bg_colors |1 |z |chars, fg_colors, bg_colors |2 |z |chars, fg_colors, bg_colors |3 |delay |uv_array, fg_color_array, bg_color array |layers |0 |z |chars, fg_colors, bg_colors |1 |z |chars, fg_colors, bg_colors |2 |z |chars, fg_colors, bg_colors