Open Ralage86 opened 10 months ago
I've seen this on Windows as well, but was never able to consistently reproduce it to make a bug report or record it.
Can also reproduce it with conditionals:
PublicSessions
This happens when an exception occurs while you're trying to connect a node I'm pretty sure. Usually it's indicative on something that you're doing wrong, for example using the wrong kind of node (value type vs object type).
I've found that a specific way to break it is to try multiplying a float3 with a float starting with a ValueMulMulti
This happens when an exception occurs while you're trying to connect a node I'm pretty sure.
Have definitely experienced that when messing up while developing mods affecting the wires 😅
I think I found the relevant exception in the log too (among tons of SignalR ones). Judging from the video I suspect the problem is trying to connect a float value to a conditional expecting a float object. Though the system should of course be smart enough to change the node, or fail gracefully at least.
7:48:26 PM.442 ( 50 FPS) Exception Updating ActiveToolTip: Element: IDBB08200, Type: FrooxEngine.ToolMultiplexer, World: Ralage86 Home, IsRemoved: False, IsDestroyed: False, IsDisposed: False, Enabled: True
Element: IDBB07700, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Uki's Redprint tip V2.3.2, T: [-0.02872656; 0.001845979; 0.1860718], R: [0.2556742; 0.04527443; -0.2146986; 0.9415336], S: [1.165279; 1.165279; 1.16528], ActiveSelf: True, IsDestroyed: False
Element: IDAE30C00, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Tooltip Holder, T: [0.06295536; -0.07512179; -0.1607618], R: [-0.2556742; -0.04527443; 0.2146986; 0.9415336], S: [0.9999973; 0.9999973; 0.9999973], ActiveSelf: True, IsDestroyed: False
Element: IDAE0A300, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Tooltip Root, T: [0; 0; 0], R: [0; 0; 0; 1], S: [1; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: IDB923E00, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Tooltip Anchor, T: [0.03488788; 0.2010545; 0.01255805], R: [-0.204085; -0.639519; -0.689829; 0.2711103], S: [0.8861509; 0.8861509; 0.8861509], ActiveSelf: True, IsDestroyed: False
Element: IDB90F600, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: hand.R, T: [-3.657712E-07; 0.2295866; -2.557581E-07], R: [0.1643516; 0.9170026; -0.03409414; -0.3618457], S: [1; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: IDB90E000, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: forearm.R, T: [-4.858807E-07; 0.2712904; -1.147369E-06], R: [0.7889975; -0.3997838; -0.2450325; 0.3970074], S: [1; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: IDB90CA00, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: upper_arm.R, T: [4.484662E-09; 0.08044421; -1.581372E-07], R: [-0.3353392; 0.9301394; -0.1494628; -0.007025178], S: [0.9999999; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: IDB90BF00, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: shoulder.R, T: [0.08796709; 0.1907465; -0.002741659], R: [0.7351928; 0.6739472; -0.0134985; -0.07144573], S: [1; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: IDB845B00, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Chest, T: [1.33942E-10; 0.1821367; -3.801322E-08], R: [0.02897131; 0.004524131; 0.02977047; 0.9991267], S: [0.9999999; 1; 0.9999999], ActiveSelf: True, IsDestroyed: False
Element: IDB845000, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Spine, T: [-1.146075E-10; 0.1040817; 2.275021E-08], R: [-0.001617579; -0.001026523; -0.002012895; 0.9999962], S: [0.9999999; 0.9999999; 0.9999999], ActiveSelf: True, IsDestroyed: False
Element: IDB843A00, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Hips, T: [-0.003643953; 0.07066703; 0.9051774], R: [0.6994354; 0.01616824; 0.0139343; 0.7143772], S: [1; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: IDB842F00, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Armature, T: [0; 0; 0], R: [-0.7071069; 0; 0; 0.7071068], S: [1; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: IDB842400, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: RootNode, T: [1.66759E-07; 1.367622E-08; -0.02892406], R: [0; 1.101659E-15; 0; 1], S: [1.8; 1.8; 1.8], ActiveSelf: True, IsDestroyed: False
Element: IDB840E00, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: CenteredRoot, T: [-0.09895715; 8.096613E-10; 0.07228862], R: [-2.263837E-07; 0.5445135; 1.834113E-08; -0.8387521], S: [1; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: IDB780F00, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Winterpaw's Masculine Canine + Clothes, T: [0; 0; 0], R: [0; 0; 0; 1], S: [0.5451589; 0.5451589; 0.5451589], ActiveSelf: True, IsDestroyed: False
Element: IDAD8E800, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: User <noparse=8>Ralage86 (ID2F00), T: [-12.53136; -0.0002816939; -7.340573], R: [-8.429418E-08; -0.1056913; 1.053777E-08; 0.994399], S: [1; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: ID6B05C00, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Spawn - User Holder, T: [0; 0.005; 0], R: [0; 1; 0; 1.216796E-08], S: [1; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: ID2400, Type: FrooxEngine.Slot, World: Ralage86 Home, IsRemoved: False, Slot name: Root, T: [0; 0; 0], R: [0; 0; 0; 1], S: [1; 1; 1], ActiveSelf: True, IsDestroyed: False
Element: ID0, Type: FrooxEngine.World, World: Ralage86 Home, IsRemoved: False
.
System.ArgumentException: Object of type 'ProtoFlux.Runtimes.Execution.Nodes.ExternalValueInput`2[FrooxEngine.ProtoFlux.FrooxEngineContext,System.Single]' cannot be converted to type 'ProtoFlux.Core.IObjectOutput`1[System.Single]'.
at System.RuntimeType.CheckValue (System.Object value, System.Reflection.Binder binder, System.Globalization.CultureInfo culture, System.Reflection.BindingFlags invokeAttr) [0x00071] in <9577ac7a62ef43179789031239ba8798>:0
at System.Reflection.MonoMethod.ConvertValues (System.Reflection.Binder binder, System.Object[] args, System.Reflection.ParameterInfo[] pinfo, System.Globalization.CultureInfo culture, System.Reflection.BindingFlags invokeAttr) [0x00069] in <9577ac7a62ef43179789031239ba8798>:0
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00011] in <9577ac7a62ef43179789031239ba8798>:0
at System.Reflection.MonoProperty.SetValue (System.Object obj, System.Object value, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] index, System.Globalization.CultureInfo culture) [0x0005d] in <9577ac7a62ef43179789031239ba8798>:0
at System.Reflection.PropertyInfo.SetValue (System.Object obj, System.Object value) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
at ProtoFlux.Core.Node.SetInputSource (System.Int32 index, ProtoFlux.Core.IOutput source) [0x00048] in <f9731d1dd27e4ff7bf744a035902d2bc>:0
at ProtoFlux.Core.Node.SetInputSource (ProtoFlux.Core.ElementRef input, ProtoFlux.Core.IOutput source) [0x00035] in <f9731d1dd27e4ff7bf744a035902d2bc>:0
at ProtoFlux.Core.NodeRuntime`1[N].ConnectInput (ProtoFlux.Core.INode node, ProtoFlux.Core.ElementRef input, ProtoFlux.Core.IOutput source, System.Boolean overload, System.Boolean explicitCast, System.Boolean allowMergingGroups) [0x001c2] in <f9731d1dd27e4ff7bf744a035902d2bc>:0
at FrooxEngine.ProtoFlux.ProtoFluxNodeGroup.TryConnectInput (FrooxEngine.ProtoFlux.ProtoFluxNode node, FrooxEngine.ISyncRef input, FrooxEngine.ProtoFlux.INodeOutput output, System.Boolean allowExplicitCast, System.Boolean undoable) [0x00040] in <110d8baae6e34f95b7484b0d1bb5190d>:0
at FrooxEngine.ProtoFlux.ProtoFluxNode.TryConnectInput (FrooxEngine.ISyncRef input, FrooxEngine.ProtoFlux.INodeOutput output, System.Boolean allowExplicitCast, System.Boolean undoable) [0x00053] in <110d8baae6e34f95b7484b0d1bb5190d>:0
at FrooxEngine.ProtoFlux.ProtoFluxTool.TryConnect (FrooxEngine.ProtoFlux.ProtoFluxNode node, FrooxEngine.ISyncRef input, FrooxEngine.ProtoFlux.INodeOutput output) [0x00022] in <110d8baae6e34f95b7484b0d1bb5190d>:0
at FrooxEngine.ProtoFlux.ProtoFluxTool.TryConnect (FrooxEngine.ProtoFlux.ProtoFluxInputProxy input, FrooxEngine.ProtoFlux.ProtoFluxOutputProxy output) [0x00022] in <110d8baae6e34f95b7484b0d1bb5190d>:0
at FrooxEngine.ProtoFlux.ProtoFluxTool.OnPrimaryRelease () [0x0015d] in <110d8baae6e34f95b7484b0d1bb5190d>:0
at FrooxEngine.ToolMultiplexer.OnPrimaryRelease () [0x0001a] in <110d8baae6e34f95b7484b0d1bb5190d>:0
at FrooxEngine.InteractionHandler.RunToolRelease () [0x00015] in <110d8baae6e34f95b7484b0d1bb5190d>:0
(also, the time formatting with PM between hh:mm:ss and milliseconds in the log looks funky)
I didn't know there was a significant difference between a float value and a float object. I'll try using the other one and see if it still sticks.
Wow... turns out I was trying to connect a object node to a value node! I didn't know! Thank you guys so much for helping, it works now!
I think you should reopen this issue, the wires getting stuck is not fixed yet after all
Yea, that was only intended to help you avoid the issue for now, as well as helping the team locating the problem.
That the ribbons are getting stuck / the node doesn't change type / even allows float object are still issues to be fixed.
Yea, that was only intended to help you avoid the issue for now, as well as helping the team locating the problem.
That the ribbons are getting stuck / the node doesn't change type / even allows float object are still issues to be fixed.
Oh, okay then.
As mentioned in #788:
The ribbon getting stuck is intended- when exceptions are thrown- components are disabled so they do not continue to throw exceptions. This also serves as a good visual indicator for when an issue has occurred.
As such I am updating the issue of this title to be more indicative of the underlying issue (attempting to cast a value input to an object conditional).
Describe the bug?
When I try to grab a connector slot to create a ribbon and drag it to a connector slot on a different ProtoFlux node, the ribbon sticks to the tool I'm using (both the ProtoFlux tool and the Redprint tool) and does not release when I click while hovering over either nothing or the connector slot on other node. I have to unequip and delete the tool to get the ribbon to go away.
To Reproduce
Pull out an avatar with ProtoFluX in it, open the FluX on it with RedPrint, sync the color from the cloud by selecting the color tab and then clicking "Read" (I don't know whether this is part of it or not, but I thought it would be worth mentioning), spawn a new FluX node (in my case, Conditional ?:), slap it on the Redprint, and try to connect it to something.
Expected behavior
The ribbon should create a link between the two nodes upon releasing the mouse while hovering the ribbon over the connector slot on the opposite node.
Screenshots
https://github.com/Yellow-Dog-Man/Resonite-Issues/assets/151798763/8f25bc6b-1c09-476d-acb5-17dff7f77c48
Resonite Version Number
2023.11.18.1263
What Platforms does this occur on?
Linux
What headset if any do you use?
Desktop
Log Files
LINUX-PIG-RIG - 2023.11.18.1263 - 2023-11-22 19_21_46.log
Additional Context
I tried deploying Redprint and, pulled out a Conditional(?:) node in the "Resonite Cloud Home" (the default cloud home which I had made some modifications to, mostly just adding platforms and removing some shrubbery). I pointed Redprint to the ProtoFluX setup in the avatar and unpacked it.
Running the Windows build of Resonite via Proton 8. Using Redprint version 1.3.2, but I think I was also able to reproduce this with Redprint 1.2 as well. This bug was tested several times last week as well as this week just before this report was made, and was reproducible both times.
Reporters
As far as I know, I am the only one to have come across this bug.