Closed linusha closed 1 year ago
Yes this seems all kinds of messed up. A couple ideas what to look for:
halosEnabled
flag set correctly.halosEnabled
mechanism itself is broken.Another one: In Halo mode, elements do not always show that they are included in an selection (red border), even when the grey selection area includes them. In Hand mode this works (see the second half of the video).
edit: One probably needs to differentiate more when talking about the question below, as I believe the problems above have different origins. E.g., there is the click-and-drag selection behavior and the general mechanism to toggle halos when clicking on a morph in halo mode.
- Lastyl I would browse for bugs in either the top bar or the world itself. It is rather problematic that we have split up the halo logic between these two objects.
Where would you say it belongs? I do not have a complete overview over how the functionality is split yet, and am still in the process of investigating, but I could see arguments for both cases: On one hand, having this functionality in the topbar would allow to utilize it on targets that are not worlds, e.g., Rick's Galyley IIRC. On the other hand, especially the possibility of selecting elements via dragging the mouse might be handy in situations where one would not want to have a topbar? A new edition of lively101 comes to mind... However, there are probably not super many of these situations, and it would still be possible to just have an invisible topbar.
TL;DR: I slightly lean towards this functionality belonging into the topbar. What do you think?
TL;DR: I slightly lean towards this functionality belonging into the topbar. What do you think?
I would agree, although that move is kind of ironic with our recent decision to move side bar logic into the world again. That logic used to be in the top bar and maybe we did not think that through fully. We should have documented our thoughts about that. I cant find any comments in #453.
Anyways, I would agree right now that this halo capability should be controlled solely by the top bar. Especially since the top bar has this aspect of dynamically attaching itself to different targets. That way we keep the flexibility of changing the top bar's focus when we have tools that act as alternative workspaces to the world (qinoq).
I would agree, although that move is kind of ironic with our recent decision to move side bar logic into the world again. That logic used to be in the top bar and maybe we did not think that through fully. We should have documented our thoughts about that. I cant find any comments in #453.
I actually think that this is not at odds with the move of the sidebar logic. When we initially introduced the sidebar logic resp. touched it when I introduced the flaps, the logic was part of the topbar, as it was triggered via a topbar button before we had the flaps. However, since exchanging the button for the flaps, there was no real reason anymore, why that code (= sidebar logic) should belong to the topbar. Thus, I still think that is a valid move, as the flap has more to do with the world than the topbar, in my opinion.
I would agree, although that move is kind of ironic with our recent decision to move side bar logic into the world again. That logic used to be in the top bar and maybe we did not think that through fully. We should have documented our thoughts about that. I cant find any comments in #453.
I actually think that this is no at odds with the move of the sidebar logic.
When we initially introduced the sidebar logic resp. touched it when I introduced the flaps, the logic was part of the topbar, as it was triggered via a topbar button before we had the flaps. However, since exchanging the button for the flaps, there was no real reason anymore, why that code (= sidebar logic) should belong to the topbar. Thus, I still think that is a valid move, as the flap has more to do with the world than the topbar, in my opinion.
Ah, good call. Yes that makes sense. So if it was really just about this flap logic moving out of the top bar into the world, I have nothing more to complain about.
I think I have weeded out all :beetle: related to this. The fixes will be part of #551, mainly because the new text formatting popup was the cause for finding all this, as using it was de-facto impossible with the selections just going ham.
I also believe the code splitting between the top-bar and the world is not as bad as we thought. It might also be that I have spend too much time looking at this and now have a distorted view on the topic. Therefore, here is what I think is going on:
There are three building blocks to the opening/closing behavior of halos. However, all three of them have distinct use cases:
Does that make sense to you?
Sounds good. I would just add that 2. is reserved for the LivelyWorld
inside the lively.ide
package. So it is some custom behaviour we add into the mix that for instance is not present when we use a "vanilla" morphic world for an app written in lively.next
. So all in all these are 3 different building blocks all of which make the lively.next
IDE point and click inspectable.
Sounds good. I would just add that 2. is reserved for the
LivelyWorld
inside thelively.ide
package.
Yes, that is correct.
I think there are several issues with selections and how they trigger/remove halos at the moment.
https://user-images.githubusercontent.com/14252419/201143490-47868250-2238-44f6-821d-455d92a10782.mp4
https://user-images.githubusercontent.com/14252419/201143856-d937cb4a-e302-4b70-a0ea-9b66c99cc26c.mp4
@merryman in case you have any insights/ideas how to tackle this, I would appreciate any pointers. Otherwise, I will start debugging, as operations such as these should be working robustly in order to facilitate a good direct manipulation workflow.