Optionalbouncebounciness; restitution is the other spelling
Optionalcentercircle centre, paired with a sibling radius
Optionalcirclecircle geometry, becoming an Ellipse
Optionalcollisioncollision filtering, in melonJS's own names. See above.
OptionalcollisionCollision filtering, in melonJS's own names, for a file written or adjusted by hand. These are collision.types values.
The exporting tool's own filter block (categoryBits / maskBits,
in any spelling) is deliberately NOT read: those numbers live in that
tool's namespace, a template writes its defaults for every fixture
whether or not the author set anything, and its default category 1
is melonJS's PLAYER_OBJECT. Importing them would silently tag a shape
as something it is not and stop it colliding. Set filtering on the body
definition instead.
Optionaldensitymass per unit area
Optionalfrictionsurface friction during contact
Optionalisthe fixture reports collisions without a physical response
Optionalradiuscircle radius, when the centre sits beside it rather than inside it
Optionalrestitutionbounciness; bounce is the other spelling
Optionalshapepolygon outline as a flat [x0, y0, x1, y1, …] coordinate list
Optionalverticespolygon outline as points. A concave outline is exported already decomposed, so this is normally a list of convex pieces, each of which becomes its own Polygon; a single outline is also read.
One fixture of a collision shape file, as exported by a physics-shape editor. Geometry is either a polygon outline or a circle, and the material values beside it are custom parameters the exporter template declares rather than guaranteed fields, so the spelling varies between templates. melonJS reads the common ones.
Reached through BodyDefinitionInit.shapes; never written by hand in the usual case, where
shapesnames the preloaded file instead.