Playing forever

In games that follow the Tetris Guideline, especially with regard to the hold piece feature and the Random Generator that deals tetrominoes in sets of 7, it appears that the player can play forever by mentally dividing the playfield into three heaps, each of which can be considered a separate well. All S, Z, and T tetrominoes go to one side, and L, J, and O tetrominoes go to the other. I tetrominoes go to the center.

S, T, and Z tetrominoes
Imagine playing Tetris in a 4-block-wide well, with a randomizer that deals bags containing one S, one T, and one Z tetromino. Each round would consist of three tetrominoes, and in each round the player would have one of the following six different bags to deal with: STZ, SZT, TSZ, TZS, ZST, and ZTS. For each shape of the well floor, I describe how each bag would be played:

Flat
Becomes 1210 or 0121.

TZS and TSZ can be played either of two ways:

STZ:

ZTS: Mirror image of STZ

SZT, ZST: hold the first tetromino and play as above

1210
Becomes 0112.

SZT, ZST, STZ:

ZTS, TSZ, TZS: hold the T and play as above

0112
Becomes 2101.

TSZ, TZS, ZTS:

ZST, STZ, SZT: hold the S and play as above

2101
Becomes 1021 or flat.

ZST, ZTS, SZT: TSZ, TZS, STZ: hold the T and play as above

1021
Becomes 1210.

TSZ, TZS, ZTS:

ZST, STZ, SZT: hold the Z and play as above

0121
Becomes 2110 through a mirror of the plays used for 1210.

2110
Becomes 1012 through a mirror of the plays used for 0112.

1012
Becomes 1201 through a mirror of the plays used for 2101.

1201
Becomes 0121 through a mirror of the plays used for 1021.

L, J, and O tetrominoes
Well starts and ends flat.

LJO, JLO:

OLJ, OJL:

JOL:

LOJ: mirror image of JOL

When playing for speed, it's possible to avoid the soft drop by placing two J tetrominoes in the center as described below.

I tetromino
The player puts I tetrominoes in the center columns and reaps tetrises.

After each 2 rounds of STZ and LJO, the STZ heap has grown by 6 rows, and the LJO heap has grown by 6 rows. However, the center has grown only by 4 rows.

If the STZ heap becomes too high, and its floor is shaped as 1210, 0121, 2101, or 1012, the player can borrow a T tetromino from the STZ heap, placed on its side, to create a single line in the center. This results in no change to the floor shape, and it works especially in cases where the player would otherwise have to "hold the T and play as above".

If the LJO heap becomes too high, the player can borrow two J tetrominoes to create single lines in the center in the same manner as the Ts. Then the next L and O tetrominoes form a combo square:

Open questions
Adapting this method to the following situations is left as an exercise for the reader:
 * High gravity
 * No hold piece
 * Garbage
 * 14-piece bag randomizer
 * TGM randomizer