IPS-LMU / EMU-webApp

The EMU-webApp is an online and offline web application for labeling, visualizing and correcting speech and derived speech data.
http://ips-lmu.github.io/EMU-webApp/
MIT License
51 stars 14 forks source link

2D canvas config confusing #320

Open FredrikKarlssonSpeech opened 2 years ago

FredrikKarlssonSpeech commented 2 years ago

I understand that this feature may just be there for the possibility of future expansion, but I got curious about the twoDimCanvas property "order". It seems it is not used, or useful?

I experimented with this setup

        "twoDimCanvases": {
                "order": ["DOTS1","DOTS2"],
                "twoDimDrawingDefinitions": [{
                    "name": "DOTS1",
                    "dots": [{
                        "name": "cppf0",
                        "xSsffTrack": "cpp",
                        "xContourNr": 0,
                        "ySsffTrack": "f0",
                        "yContourNr": 0,
                        "color": "rgb(255,0,0)"
                    }],
                    "connectLines": [],
                    "staticDots": []
                },
                {
                    "name": "DOTS2",
                    "dots": [{
                        "name": "f0cpp",
                        "xSsffTrack": "f0",
                        "xContourNr": 0,
                        "ySsffTrack": "cpp",
                        "yContourNr": 0,
                        "color": "rgb(255,0,0)"
                    }],
                    "connectLines": [],
                    "staticDots": []
                }]
            }

which raised the web app error 👍

Error validating ConfigProviderService.vals (emuwebappConfig data) after applying changes of newly loaded config (most likely due to wrong entry...): { "message": "Array is too long (2), maximum 1", "code": 401, "dataPath": "/perspectives/2/twoDimCanvases/order", "schemaPath": "/properties/perspectives/items/properties/twoDimCanvases/properties/order/maxItems", "subErrors": null, "stack": "Error: Array is too long (2), maximum 1\n at new d (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:117076)\n at i.createError (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:98941)\n at i.validateArrayLength (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:107716)\n at i.validateArray (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:107331)\n at i.validateAll (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:103143)\n at i.validateObjectProperties (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:110041)\n at i.validateObject (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:108957)\n at i.validateAll (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:103170)\n at i.validateObjectProperties (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:110041)\n at i.validateObject (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:108957)" }

I can also not remove the redundant orderproperty

Error validating ConfigProviderService.vals (emuwebappConfig data) after applying changes of newly loaded config (most likely due to wrong entry...): { "message": "Missing required property: order", "code": 302, "dataPath": "/perspectives/2/twoDimCanvases", "schemaPath": "/properties/perspectives/items/properties/twoDimCanvases/required/0", "subErrors": null, "stack": "Error: Missing required property: order\n at new d (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:117076)\n at i.createError (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:98941)\n at i.validateObjectRequiredProperties (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:109708)\n at i.validateObject (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:108911)\n at i.validateAll (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:103170)\n at i.validateObjectProperties (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:110041)\n at i.validateObject (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:108957)\n at i.validateAll (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:103170)\n at i.validateArrayItems (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:108691)\n at i.validateArray (http://127.0.0.1:17890/dist/emuwebapp.bundle.js:40:107402)" }

So we have an array that has to be just a single entry for which we have to specify an order, which seems to be a design issue.

raphywink commented 2 years ago

you basically said it: the idea was to expand this feature in future versions to be able to switch between multiple 2Dcanvas configs views similar to the parallel labels feature. Obviously this would be a nice to have feature but, as we are currently not actively developing the front-end any more the likelihood of anything happening regarding new features is really low. My suggestion would be to simply document this in a way that people understand why the config is the way it is.