It would be unexpected in both directions - in fact I can more easily see “why is flexible layout changing my expected values?” being a question if you’re expecting to do hand-made animations through hype’s runtime in a specific manner.
Take CSS for example, if you have a font-size of 12px and then set a scale transform of 150%, you wouldn’t then expect to read back a font-size value of 18px. It is really a matter of what space makes the most sense to work from.
There’s a few principles on why the API is this way:
- getting and setting need to use the same values; often a flow is to read a value and set it to some multiple. If the get and set are inconsistent then programming is near impossible
- direct access to the Hype runtime
- easy conceptual model to control items
- low filesize footprint
I do think it makes sense to allow both modes; the main reason this isn’t presently an option is #3 - an extra mode is extra learning - and not every document needs to be concerned with flexible layout, and #4 - being able to do a set requires converting the flexible-layout space back to hype’s canonical space, and frankly that’s a lot of code which doesn’t exist in the runtime that would only need to exist for this feature.