What IS that start up plane, and can it be moved?

Suppose I open blender. There is a start up cube sitting in the center and its geometric center is on that grey meshed plane (take note of that grey mesh plane as this question is about that).

Then I delete the cube and create a simple gear. Let me assume I create it in an arbitrary location.

I then export it using to a json format.

I then view it in webGL web page using threejs. And I make sure to use a timercall back to rotate about the axis OUT of the page.

It rotates in a very odd way. It actually revolves as if around the sun. And I understand why!!!

So I go back to blender and I make the geometrical center of the gear as the origin of the gear. For when I created it, the center of mass of the gear was in an arbitrary place. Thus, as a result of my fix, the left edge of the gear is, say -D and the right edge is +D. The top edge is +D and the bottom edge is -D

I export that.

And I apply a rotation about the axis out of the page.
AND THE ODD PROBLEM CONTINUES.

The only time it rotates about its center is when the object origin is at the geometric center of mass AND that origin is co-aligned with the ORIGINAL AXES in blender…the ones about which the default cube is centered.

So now it seems as if a re-set of the object origin is NOT exported to blender during a json export.

Rather, the coordinates of all vertices are from the coordinate mesh that is layed down when one first opens blender: i.e.: the original cube axes REMAINS the center.

This odd…

So… can one MOVE that grey plane and associated axes?
Or, in other words… when I resent the object origin, can I be assured that THAT will ALSO export?

I can’t be sure, but I suspect this happens because the three.js json exporter writes vertex positions with regard to the world origin, not the object origin. Which makes sense json being a mesh format, not a scene format. You can’t move the plane (it’s called the grid floor), but you can move your geometry to your world origin. If you’re using json you’ll need to write your own custom exporter to save out object transformations (translation/rotation/scale). It would probably be a good idea to automate saving out meshes in the same script.