# 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, , 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 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.