Note that the lexical spaces of xs:float and xs:double are exactly the same; the only difference is the precision used to convert the values in the value space.
However, in the spec itself we write
The decimal values representing the coordinates can be recorded to arbitrary precision.
I think the intent is arbitrary precision, though.
In the XSD we use xs:double. https://github.com/3MFConsortium/spec_core/blob/master/3MF%20Core%20Specification.md#appendix-b1-3mf-xsd-schema
The definition of xs:double says https://www.oreilly.com/library/view/xml-schema/0596002521/re63.html
However, in the spec itself we write
I think the intent is arbitrary precision, though.