Header menu logo issie

FastCompIndex Type

Where a FastComponent sits in the build that made it: the slot LookupArray stamped it with as the flatten created it, and the identity of a fast component INSIDE a simulation. The design-time name a component also has - its ComponentId and the access path of the instance it belongs to - is carried by the FastComponent itself (cId, AccessPath) and read from there when something needs it. That name is what survives a rebuild, so it is what the renderer holds and what a saved selection resolves through; the index is what the simulation uses, and it is meaningless in the next build. [] as well as [], and safely so: it is only ever an ARRAY index, never the key of an F# Map, never in a Set and never sorted - which are the things the note above prices a struct id at. It is a map VALUE (FIndexOf, FCustomOutputCompLookup), which costs nothing, since a value is never compared. Every read unwraps it to the bare int first - `FCompsByIndex[fcToInt index]`, `LookupArray.item (fcToInt i)` - and the -1 sentinel is tested as `fcToInt fc.CustomOutIndex < 0`, an int comparison. Keep it that way: a generic `=` on a struct DU boxes both sides.

Union cases

Union case Description

FastCompIndex int

Full Usage: FastCompIndex int

Parameters:
    Item : int

Item : int

Type something to start searching.