backwards compatibility of CityEngine scenes with previous versions

Idea created by mdekys_bagira on Aug 13, 2018
    • mdekys_bagira



    I would like to request an idea that CityEngine (.cej) scenes should be backwards compatible with previous versions of CityEngine.


    The reason behind this is that during a big project, we start working in let's say CityEngine 2016.1. Then, 2017.0 came out with new features in .cga code (and generally newer should be always better in terms of stability, efficiency.. etc..) so we tried it but we found out that this new version brings also some problems (for example bug in camera movement..) 


    But if our team consists of:

    • content creators - who don't develop cga rules but create/adjust buildings,streets... their workflow is now more time consuming because of this camera bug but once it has been saved in 2017.0, it cannot be reverted to earlier version.
    • rule developers who can live with occasional camera bug but need the new features of 2017.0 to develop more sophisticated rules.


    If the scene would be backwards compatible, content creators could work happily in 2016.1 and developers with 2017.0 and when the time comes, scene is exported with 2017.0


    Therefore when a new cityengine version comes out, we always cannot decide if we should use it or not - because some of the errors are detected later when some work has already been done in the newest version and there is no way back.


    One way to revert it back to previous versions would be to export all contents of the scene back to for example shapefiles and import them in old CE. but this migh be time consuming if we have lot of layers (have to export them 1 by 1)  and is also a lossy process because it might not export all the settings (cga parameters) that were affected and is most problematic when exporting screets with all of their attributes (either object attributes or cga attributes, dimensions, curvature etc..)


    Alternativelly, if making entire scene backwards compatible is not possible, would it be at least possible to force let's say for older version of CE to use .cga runtime from newer version and vice versa?