The pointcloud extension must exist in the database before mobilitydb's SQL definitions reference pcpoint / pcpatch. On a POINTCLOUD=ON build the generated mobilitydb.control declares this dependency in its requires = clause, so CREATE EXTENSION mobilitydb CASCADE resolves pointcloud automatically. Manual creation in the wrong order without CASCADE still raises a missing-type error.
Schema mixing is rejected at construction time: a tpcpoint sequence whose instants have different pcid values cannot be built, and the same constraint applies to pcpointset and pcpatchset. The schema is what gives the dimensions their meaning, and silently mixing schemas would produce values whose coordinates are uninterpretable.
The POINTCLOUD=ON CMake flag is required. Builds without it produce a libMobilityDB that does not declare any of the types in this chapter; the SQL files for them are not generated.