Why do I have a circular dependency involving a custom component when the inner circuit would suggest this shouldn't be the case?
For the purpose of circular dependencies, the innards of a custom component are not considered (for regular pins). In an earlier version of the game,
they were, but players would run into undebuggable situations where circular dependencies spanned 2 or more custom components.
With the addition of nested custom components, this problem is even worse. In programming parlance you can think of the component boundry as
giving a static guarentee, like pure functions.
However, unbuffered pins do consider the inner components before resulting in a circular dependency, so you can use these if your application really requires it.
Be aware though, that custom components that have no unbuffered pins compile faster, so don't use them unless you have to.
Why is level scoring locked until the late game?
Scoring used to be available from the beginning, but often players would not progress until they found the best solution.
Getting the best score you can find online, with no experience playing the game, is pretty much impossible for most players, leaving them feeling stupid and getting stuck.
Additionally, for players that might not have time to both finish the game and optimizing, I prefer they experience the magic of the core part of the game.
What does this abbreviation players use mean?
for a list of commonly used abbreviations.