It’d be preferred if Timeshift would accept the existing subvolume naming scheme instead of requiring users rename things. The “flat” layout is well suited for applications like Timeshift to create their own namespace for placing snapshots in, out of view of the user and other programs.
Snapshots will thwart accurate disk usage accounting e.g. when the user does
du -sh ~/ if snapshots are kept in the search path. Same for find/search/indexing utilities. There isn’t a good reason why snapshots for specialized tools like Snapper and Timeshift need to be in the mounted search path.
Also, we’re exploring a standardized naming scheme that will enable intelligent subvolume discovery and auto-assembly, similar to the idea of the Discoverable Partition Spec. A side benefit is being able to (finallly) explicitly support multi-boot Fedoras, .e.g F32+F33 or F33 Workstation+Silverblue.
Snapshots can be created/deleted without being in the mounted search path using either of two _fd variants
btrfs_util_create_snapshot_fd2() found in libbtrfsutil. There’s the C API and also python bindings that support this. Recursive snapshot creation and deletion, something not otherwise available in the user space tools, is also possible.