>in principle you could have a mix of different sized sectors on the same track, like CKD permits; in practice, I've never heard of anyone doing that, I question whether the floppy disk controller could cope with it
That was actually done by IBM to distribute some versions of OS/2 2.x (or was it a later one?). It was called XDF and was originally invented by a company making backup-to-floppy software. And of course it needed a special driver to access: IIRC the one built into OS/2 was also read-only, and the first few installation floppies were in standard format so that you could boot from them.
The PC floppy controller itself has no problem reading or writing different-sized sectors, provided you didn't try to do multiple ones in a single command.
But creating the low-level format with PC hardware required a crazy hack: fill the track with 128-byte sectors without any gap between, but setting up the "C,H,R,N" header fields for larger sectors with the correct spacing. The remaining dummy sectors would then become part of the larger sectors' data and gap field, so their headers didn't matter (and would be overwritten when writing the actual data).
Although there is still a big difference between floppies and CKD hard disks – on IBM standard floppies, the sector size has to be a power of 2, minimum 128; on CKD hard disks, the sector size can be anything – 80 byte sectors, 300 byte sectors, whatever one wishes. On z/OS, several file formats require a 3120 byte block (=sector) size. Under CMS, the standard sector size is 800 bytes.
Hard disks (as opposed to floppies) commonly support non-power of 2 sector sizes, of 520 bytes or 528 bytes – for RAID systems which need to store additional metadata with each 512 byte sector. And with newer 4096 byte sector support, one sometimes finds support for 4104, 4160, and 4224 byte sectors. But, that's still not like CKD, in that most hard disks only support a fixed set of sector sizes (512 or 4096 base size plus some bytes of per-sector metadata), not arbitrary sector sizes like CKD does.
That was actually done by IBM to distribute some versions of OS/2 2.x (or was it a later one?). It was called XDF and was originally invented by a company making backup-to-floppy software. And of course it needed a special driver to access: IIRC the one built into OS/2 was also read-only, and the first few installation floppies were in standard format so that you could boot from them.
The PC floppy controller itself has no problem reading or writing different-sized sectors, provided you didn't try to do multiple ones in a single command.
But creating the low-level format with PC hardware required a crazy hack: fill the track with 128-byte sectors without any gap between, but setting up the "C,H,R,N" header fields for larger sectors with the correct spacing. The remaining dummy sectors would then become part of the larger sectors' data and gap field, so their headers didn't matter (and would be overwritten when writing the actual data).