What's to be gained is not spending more resources then I need to, although I understand that maybe the work to compare would indeed be more resource intensive, but I don't know til I can learn more about ways to do this.
What I do mean by compare to clarify further though is that I do want to be sure they are equal and if different in any way (variable change, new node in the scene or even removed from the scene). Now if a node was added and then that same node was removed before checked again to compare I would want the scenes to still come back as the same (this could be tough depending on meta data scenes track in Godot so this may not be 100%)
I 100% agree it's the exact end result I want and simplest way to do it, but sometimes simplest isn't always what we want. That's why I explained I knew I could do that but came here looking for other alternatives. But I definitely still value the vote for that method as it may very well be how I have to do this.
I made some changes though and I am going to no matter what run into a small difference that I'm kicking myself in the butt for now and that is the visibility of the root node in a few cases will always be different which I could make changes to accomdate that so this situation don't happen, but isn't how I want my game to work, but these maybe unavoidable.
I will have to check out get_state() I didn't catch that previously maybe that could be of use.
to further explain the purpose of why as it seems I'm driving you mad here lol - I'm attempting to do read operations to see if a saved packed scene matches the packed version of the running scene (I already have to pack to do the work that comes next if they don't match and so it why I've gone the direction I am) But I could do vice versa, but there are some potential challenges with spawning the scene to check that I'm attempting to try to avoid as well. I basically want to prevent writing to disk every time I check to see if something should be saved, if it doesn't differ from what's on disk already