The limits are imposed by the hardware that runs the operating system, it is not very scientific.
ChromeOs its just that... a Os
If I put ChromeOS on my Dell 2320, hopefully I'll be able to can plug it in and watch it smoke.
I recommend that you read a SpaceX paper and its GUI for its manned capsules, there you can delve more into the topic of ChromeOs and JS/TS and all that jazz.
Have you tested the "latency" with a "static approach" that equates to the dynamic version (created 128 arrangements in rows and columns, each arrangement containing @ 10 labels to display text and "coloured 'lights' or images", with the text labels all populated with text) ? Have you tested changing the values of the @ 1300 labels to see what latency occurs?
If so, provide your aia project so we can test it...
The dynamic generation of components should equate, you have the same components as you would if creating them statically, it just takes a little time to generate them all at the start of the app (which it will with either approach).
You will find that you will still need lists of all the arrangements and labels with a static approach, therefore there will be no difference in ease of use.
As I already specified here, I already found a solution to have a ChromeOS/AI2 Companion native, on a big screen machine with touchscreen (ChromeBox like).
I start with a "static" approach to designing the layout for my app. In the same thread, @TIMAI2 came up with the idea that the dynamic approach is the best approach than static due to the huge amount of info on screen and the limitations of the AI2 designer.
It was right. The .aia that it makes, is so simple to follow from a logical point of view, that even a noob like me that know nothing about programming, can follow and develop in no time (a few hours) an elegant layout on a big screen.
Above it is my .aia made following the TIMAI2 logic.
But... My luck is ended... TIMAI2 uses a timer to display some strings on cells. For the moment I don't want to use timers. So... I want to adapt his logic to what I want. After half a day and a night of trainings...no luck. I'm stuck on some things that I don't find the logic.
1 - I want to display the ID - the number of the cell, but I can't and I don't understand why, I don't find any example or documentation about how I can. I have tried many approaches but without success.
2 - I want to have a button, in the place where the image are... I can't.
Any help/suggestions will be highly appreciated.
Thank you in advance, Dan
PS - The dynamic design is best where things are repetitive, and the static approach is best in places where things are not repetitive. So... A mixed dynamic/static approach must be used.
You mis-understand the use of the clock timer in building the display. This is only used on initialisation, and is to ensure that dimensions of the screen are captured to allow for the setting of "dynamic" sizings. This is a quirk of AI2.
What are these "non-repetitive" elements of your design ? Will only some of the display elements appear once, or be used in particular elements? These can be built in to the dynamic components build.
(for example, if element 4 of 10 needs to have a green background, you simply select element 4 from the list of elements and set its background colour)
You didn't really provide an answer to my questions, to validate your "assumptions" regarding latency.
I tried your aia in companion, but it crashed. Looking at the blocks, you appear to be hard-coding dimensions (targeting this 4k/27" thing?), this will probably not work. You need dynamic dimensions that will will fill the space available.
It is admirable that you are having a go yourself, but why not show the framework for a cell you want to build, and how many cells you want to scale to on screen, then perhaps someone can help. Or at least build one, then try to scale to many once you have that working.
The blue marked parts of the screen that I'll consider "static" parts, will have menus and info that are not repetitive, which will be in the future, for the moment I fight to understand why I'm not able to do things from the above post. Step by step. Forgive my artistic skills, I lose 90% of the abilities of both of my hands was lost in '19.
I don't try for the moment to understand the part with the timer.
For the moment I have only partial/temporary concussions about latency. For the moment I have serious problems with the AI2 companion that works in a very weird way. And this weird behavior is on 4K/27" and 3K/13 inch. I want to say the fact that as I do more and more manual "Refresh Companion Screen", it's taken more and more time - progressively with the number of "Refresh Companion Screen" that I do... Until at a moment it stuck/blocked and reset the connection with AI2. This behavior is another nightmare. My opinion is that behavior is more and more aggressive as the app grows.
So a real objective opinion about the latency I can't have for the moment. Yesterday I compiled the project and gave it a try to see things about latency. It has some latency as you say at starting the app. After that... I don't have for the moment nothing built to see how is the latency. For that reason, I fight with the button... To have something to click and see the latency that the app responds.
Yes, I targeted on 27"/4K. In the future will be another layout for 13"/3K.
I want to thank you very much for your words, as the teacher is... the students are... That is my plan to show some sketches but for the moment I need to make an idea about what I want. Now I have started to have an idea about how can be the starting/empty screen without any active cells.
If I can understand what is needed I can explain that. That kind of device is not made yet, so nothing to copy/paste, nothing as an example. So... it must be invented on the way...
If I pass from the Cell-ID display and the button placement, I can continue with the menus and non-repetitive part of the info, so I will have a sketch of the starting point. And I will have something to test the latency.
Anyway, all the cells that now are inactive, when will be active, must display, let's say... about 20 different layouts on the part that now is the puzzle piece. So... I thicked the cell into two parts, one static - the above part of the cell, and one dynamic (20 different) layout in the bottom part, where now is the puzzle image.
OK, that makes sense, you can choose between constructing the outer menu bars statically or dynamically, it is up to you.
This layout
Is quite different to your previous one:
If you have a button in there for clicking/selecting the cell, you may find it easier to do as I did, and make the entire cell clickable (compcreator provides for this)
I believe your problem there is that you try to do too much at once in one block.
Create the label inside the subcell, then set the text property to the label. For the text value from the list, use the index of the subcell to set the text property (unless the ID is a different value, in which case use the index of the subcell to set the index of the id list for selection)
It is difficult for others to follow if you only show partial blocks in your screen captures....
Where is 1 2 3 is my problem with the Cell-ID, and where is the image with "settings" is the problem with the button. where is the puzzle piece will be a dynamically assigned function of what kind of hardware is connected to that cell. All the above puzzle piece images are "static" info (red - Cell-ID, blue - hardware connector ID, green - pin of connector ID, the next four from the bottom the red, blue, and green are for dynamic... somehow... it will display the function of that cell/connector pin... like Engine / Coolant / Temperature... Sensor or whatever... on bottom minicels.).
All the cells will have "When are active... autodetect, automatic setup from hardware, but will have the possibility for manual setup - the missing button". at first view, appears somehow complicated... but the logic behind is not so complicated.
No, is not ok to have the entire cell clickable, On the part that now is the puzzle piece it will be sensitive to touch/clickable components like sliders and so on. It is mandatory to limit the clickable function on a cell.
As I say... The Ideas about how can be made came over time with the new discovering... 27"/4K hardware for example completely changed the layout logic/possibilities. I hope that will be no changes on that... I hope that I don't discover that 55"/8K will make any sense here... I'm joking @Jonathan_Urbina1 .
It works like a dream. I was stuck on the "select item list". Like an ant heard that rotates in a circle until all are dead, like a snake that is biting his tail. This is a clear example of the huge culture that you here have on AI2 vs my... logic.
Thank you very much.
PS - Now... I must invert the order of those ID's... ID-1 must be in the left-bottom corner and ID-128 must be in the right-up corner... But this is in the second plan... because I need to research how can I do it...
Generate the list of cells as in my example. Cell1 = index 1 = top-left.
You then need to generate a new list that corresponds to the cells. It is the indexes that are important, the values for each component will change everytime you refresh/initialise the layout
Cell1 = index 113
...
Cell113 = index 1
...
Cell128 = index 16
( I will let you work this out)
You will have to do this each time you generate the layout (on initialise)