I checked for that- you can see in the example above that "res://UI/Deck/Card.tscn" is in the same case in the .pck despite not being found by the game.
However I think I've found a clue- although I'm not sure how to resolve it. I believe the error is the "Cannot load byte code from file 'res://UI/Deck/Card.gdc'
The card fails to load, then I believe the "Dealer" object which deals card is failing to load as a result. The Dealer object exists on the board, so the Board scene is then crashing next.
The Board is preloaded by the Game Manager autoload, so of course the whole game is then crashing on startup.The "Game Runner" default scene crashes because it references this board, which doesn't exist.
Here's the script file from our first error. It's throwing a parse error because it can't find the _ready() function.
This happens here. There's a "self._ready()" call if the object is unitialized before I pass in the different Card parameters, because I've found that when I create the card scene and tell it to initialize it can sometimes initialize before it's ready. When that happens, the onready variables aren't loaded and are treated as nulls, causing a crash.
This isn't a trick that I just do here- I do it in multiple places. Clearly, however, it's some kind of bad practice and is causing a crashed script- which is in turn crashing entire chains of scenes.
Does anyone have any advice as to how I should handle this case instead? Why wouldn't my card scene have a ._ready() function, when it extends Control? And why would this work in the editor, but not in the actual debug version of the game?