# Future of OpenRaster
10:00-12ish Mon 18 Apr, LGM 2016.
University of Westminster Harrow Campus.
## Introductions (emails optional)
* [AC] Andrew Chadwick, MyPaint developer, chair-kinda, <a.t.chadwick@gmail.com>, https://github.com/achadwick
* [JF] Joe Faleye, student photography and digital imaging technologies
* [MS] Michael Schumacher, GIMP
* [VP] Ville Pätsi, GIMP
* [ØK] Øyvind Kolås, GEGL, @hodefoting pippin@gimp.org
* [JP] Jehan Pagès, GIMP, jehan
* [JB] Joao S. Bueno, GIMP gwidion@gmail.com github: https://github.com/jsbueno
## What is OpenRaster? [AC]
* Layered graphics interchange format
* "Alternative" to .PSD, at least as a lingua franca
* MyPaint's main, and only layered, file format
* Mention zip with "stack.xml" index
## Brief History [AC]
* [ØK] Pre-existing similar file formats
- .KRA
- GEGL's native XML
- [ØK]'s http://codecave.org/oxide/
* Discussed in a BoF at the first LGM, in 2006
- GIMP and Krita teams present
* Open specification, anyone can in theory edit the wiki & propose changes
- via the CREATE mailing list (process changing to a more formall proccess - see bellow)
* A history of migration between wiki providers due to no-one really owning the format.
* Recent standardization of layer modes, group isolation semantics etc.
## What do we want to achieve in this meeting? [AC, all] / Future work [all]
* [AC] Agreement to start work on a github repo for the spec + app-specific exts
* [AC] Want this meeting to be a chance to start reworking some old, incomplete design decisions
* [AC] Revitalize the schema effort, if anyone's willing?
- [all] nobody wants to do that right now...
* [MS] Need info on: how do users actually exchange layered data between programs?
* [MS] Lacking "we support ORA because..." stories from app developers.
* [ØK] Different levels of conformance: baseline, conformat apps can be certain that things will look right.
* [ØK] Use case: teaching, tutorials, JPG layer data?
* [MS] similar to the PDF concept of "Reduced Documents", but same PPI (?)
* [ØK] floating point buffers - EXR?
* [MS] Should OpenRaster files always look the same?
- [AC] Yes! Or at least that should be the intent of the core spec.
* [JB] Need a formalized process for adding new features
* [JB] Python-like Enhancement Proposals? Can be rejected by the community, but still implemented by $APP.
- [JB] we should check out PEP 0001 "what is a PEP" - an intro to process
* [MS, AC] Openly implementable, already implemented, not patent encumbered
* [MS] Process should *discourage* private extensions, to avoid the TIFF mess
- [MS] Ask Liam Quin @ankh how to spec.
* [AC] Fallbacks idea
- e.g https://gist.github.com/achadwick/819a5251042800a31e6c
- this would be a move to the PNG src attribute of a <layer/> being the rasterized rendering of source data stored in other formats.
- Suggested format only for now, but there are three key concepts for lifecycles: Source, Annotation, and Metadata
- [AC] "Source" = file(s) used to make the layer .png
- Editors which can't re-render these files SHOULD discourage the user from interfering
with the pixel data in the layer's @src file, and MUST discard all sources if the
layer @src is modified or painted over. With a big warning & the ability to undo.
- [AC] Silly example: LaTeX sources + associated files
- [JB] Example: darktable could have a "raw" file as src to a "png" layer (+ its own xml/whatever/textual information on the parameters it needs to create that png given the source)
- [AC] "Annotation" = metadata that maps to pixels, in a file
- [JB] example: DarkTable's image annotation format, XML (plus assiated RAW file)
- [AC] example: MyPaint's strokemap
- [AC] "Metadata" = metadata about the layer sources and .png as a whole
- e.g. per layer licensing?
- Metadata files SHOULD be preserved by editors if present when the layer was loaded
- ... but dropped if the layer is cleared.
* [AC] Important: MIME-style content type field for layers
* [AC] Less important: Standardize a default XML namespace for stack.xml
*[AC] Standard ORA library and tools?
* [JP, ØK, MS]
- Acknowledge container-ness of format,
- Allow opening of directory as ORA (alternative on-disk representation)? (not "serialization")
## Actions
* [AC] Create OpenRaster github
- openraster/spec
- current version of the spec
- these notes should be published to the CREATE list
- after discussion/hackery on this pad?
* [AC] sound out Boud at last that moving the spec documents would be OK
* [all] to hack on these minutes/discussion notes.