The old API breaks if you skip to this section without reading the earlier tutorial section "Converting To/From Native Data Types" wherein the righteous path creating template functions to encode() and decode() your non-native types (like Vec3).
You'll see complaints that operator >> is being implemented. And when you implement them you'll use functions like asstd::string(), as<float>(), etc.
Seeing how sweet as<T>() works, you'll want to implement your own and THEN you must take delivery from the clue train at "Converting To/From Native Data Types."