• Support automatic inversion of transformations, allowing us to translate from one application specific settings block to common terms (and from there to other application specific terms).
      • There are different aspects of implementing of this - some requiring significantly more time than others and not all needs to be done at the same time:
        • Basic: ensuring that all the transformations are individually invertible to the extent possible.
        • Multi-level: Ensure that most/all transformations are invertible when used in conjunction with other transformations - ie. nested.
          • Rather: edit solutions registry format so that inverses for “difficult to invert” transforms can be directly contributed there rather than the central inverseRules.json file
            • Since there will always be some hard core of “difficult to invert” transforms such as the ridiculous piecewise quadratic rule for the linux text to speech words per minute setting
          • We probably won’t work even in the medium/long term to ensure that arbitrary nested transforms are invertible
        • Support default values: On lossy transformations, allow default values to be specified in the transforms.
          • This appears like it most initially may be useful with the quantize transform for which there isn’t a particularly universally helpful default rule for mapping back into the input space. An issue is that each lossy transform may end up supporting some subtly different syntax for these “default inverses”. The valueMapper is a particularly tough case - this needs to be reengineered anyway.
          • This is covered by
          • We should to start with take an inventory of all our “lossy” transforms to see what the terrain looks like. Presumably the “valueMapper” is our only transform that might be lossy in both directions.
        • Support pockets: Store temporary values to help precision when inverting back and forth.


          Issue Links



              jhernandez Javier Hernández
              kasper Kasper Markus
              0 Vote for this issue
              2 Start watching this issue