TodePond / Arroost

arrows in arrows in arrows
https://arroost.com
MIT License
99 stars 8 forks source link

Wrong colour appearing after toggling a chain of Arrow of Realities #270

Open TodePond opened 9 months ago

TodePond commented 9 months ago

2023-12-06 at 11 07 37 - Harlequin Chicken

TodePond commented 9 months ago

Maybe nogan is getting it right but arroost is displaying it wrong?

anderium commented 8 months ago

Might be related to #295, as toggling the ArrowOfReality while changing the outgoing ArrowOfColour also erroneously affects the ArrowOfReality. Might be worth its own issue, actually.

https://github.com/TodePond/Arroost/assets/33520919/5371b95b-6027-40be-b2b8-3d4c1bae36fa

In fact, I would say that adding a delay somehow gives the expected effect. Toggling all channels: green off, red and blue = magenta on. It is as though the red channel is being siphoned by the ArrowOfColour.

https://github.com/TodePond/Arroost/assets/33520919/19cd0c05-ca2b-43c2-a6c7-796b2080a450

anderium commented 8 months ago

Wanted to do something else, and noticed another behaviour that might be related. A lot simpler than what I had above as well. I'll try to see whether it's in arroost or in nogan as this seems like the best clue to start with. It seems the ArrowOfReality is triggered twice when a wire without delay goes in and a wire with delay goes out.

https://github.com/TodePond/Arroost/assets/33520919/f80fc93f-47bd-43da-95e8-d72b8a99a03d

anderium commented 8 months ago

Actually, I didn't test it above; with positive delay into the reality and negative delay out of it, the same kind of thing happens: It updates twice (though only if it's already active?). It additionally causes a mistiming between the propagation of the colours (perhaps only visually?) and has a UI conflict between turning off and turning on the displayed state of the cells after the Reality.

https://github.com/TodePond/Arroost/assets/33520919/ca13c49c-76e7-4148-8a78-06f53a0d3cfc