Welcome to Etherpad!

This pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!

Get involved with Etherpad at http://etherpad.org
# 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 s imilar 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 b e 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/wh a tever/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.