A couple of things that stand out:
>Servers that do not support the 3dModel object type will reject the Activity; in this case, the 3dModel will be sent as a Link instead, containing the canonical URL of the model’s web page, and the 3D preview will not be included.
Alternatively, you can send same objects to everyone but make sure that they has content and attributedTo properties. This will allow other platforms to display them as posts even if they don't know about the 3dModel type
>Our Actor objects are just as defined in the ActivityPub standard; they are mapped to our instance Users.
>Only activities from actual real users of an instance are federated
It's better to use standard types for actors. In your case Person seems to be appropriate.