As you said, the CRT just receives the frame data and turns that into a visible image. This means you can simply build a filter that transforms the final frame buffer by simulating the physics of a CRT.
A filter is not a game engine and a game engine is not a filter.
Building a custom game engine for CRTs represents a fundamental misunderstanding of how a CRT works and what the responsibility of a game engine is.
A filter is not a game engine and a game engine is not a filter.
Building a custom game engine for CRTs represents a fundamental misunderstanding of how a CRT works and what the responsibility of a game engine is.