Buses

Purpose
Buses allow multiple (digital) redstone lines to be carried losslessly through 1x1-block spaces. All circuits with more than three redstone line inputs or redstone line outputs will need to start using some of these!

Color coding
Buses and circuit input/output faces are color-coded according to their widths as follows:

Orange: 2-bit bus

Yellow: 4-bit bus

Green: 8-bit bus

Blue: 16-bit bus

Magenta: 32-bit bus

White: 64-bit bus

Crafting Recipes
A 2-bit bus may be crafted out of two redstone dust, placed horizontally.

The player may also break a 2-bit bus down to obtain two redstone dust.

From there, a stack of two (n*2)-bit buses may be crafted from n-bit buses by placing three of them horizontally. This 3:2 ratio means that bused redstone lines become more and more cost effective when compared to redstone lines as the bus width gets wider.

It's also possible to break down a pair of (n*2)-bit buses back into three n-bit buses by placing them horizontally.

Mechanics
Two buses of different widths cannot connect to each other.

Bus blocks may be viewed as one-way communication lines between circuits. At every circuit tick, the outputs of all circuits connected to a bus are bitwise or-ed together and delivered to the inputs of all other connected circuits for processing on the next circuit tick. Bus communication is instant (zero circuit ticks) -- any and all delays are incurred by circuits!

To go to/from redstone lines to bus blocks, see the circuits Splitter, Combiner, InputBitSelect, and OutputBitSelect.

Advanced Info
Internally, bus blocks store only an identifier for their bus width in their metadata value. Bus blocks also do not maintain any Tile Entities. Instead, Circuit Tile Entities are responsible for maintaining information about the buses that they're connected to. This design decision means that there are fewer tile entities overall, and less redundancy in data storage, but it also complicates the break/place logic of bus blocks.