~starkingdoms/starkingdoms

743fa8f6c688750fbfd8b45c6b16fabcd39b58e2 — core 2 years ago 69d5720
planetary constants - fix asset builds - orbits
M assets/dist/spritesheet-125.json => assets/dist/spritesheet-125.json +34 -25
@@ 1,6 1,6 @@
{
  "frames": {
    "earth.png": {
    "moon.png": {
      "frame": { "x": 0, "y": 0, "w": 256, "h": 256 },
      "rotated": false,
      "trimmed": false,


@@ 9,8 9,17 @@
      "pivot": { "x": 128, "y": 128 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 256, "h": 256 }
    },
    "earth.png": {
      "frame": { "x": 0, "y": 256, "w": 256, "h": 256 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 256, "h": 256 },
      "sourceSize": { "w": 256, "h": 256 },
      "pivot": { "x": 128, "y": 128 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 256, "h": 256 }
    },
    "starfield.png": {
      "frame": { "x": 0, "y": 256, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 512, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 18,8 27,8 @@
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "autoplr_cfg.png": {
      "frame": { "x": 0, "y": 320, "w": 64, "h": 64 },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 576, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 27,8 36,8 @@
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 384, "w": 64, "h": 64 },
    "hearty.png": {
      "frame": { "x": 0, "y": 640, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 36,8 45,8 @@
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "hearty.png": {
      "frame": { "x": 0, "y": 448, "w": 64, "h": 64 },
    "autoplr_cfg.png": {
      "frame": { "x": 0, "y": 704, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 46,7 55,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "superthruster_on.png": {
      "frame": { "x": 0, "y": 512, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 768, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 55,7 64,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "ecothruster_on.png": {
      "frame": { "x": 0, "y": 576, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 832, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 64,7 73,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "landingthruster_on.png": {
      "frame": { "x": 0, "y": 640, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 896, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 73,7 82,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "thruster_on.png": {
      "frame": { "x": 0, "y": 704, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 960, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 82,7 91,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "landingleg.png": {
      "frame": { "x": 0, "y": 768, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1024, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 90,8 99,8 @@
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "autoplr_on.png": {
      "frame": { "x": 0, "y": 832, "w": 64, "h": 64 },
    "hub_on.png": {
      "frame": { "x": 0, "y": 1088, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 99,8 108,8 @@
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "hub_on.png": {
      "frame": { "x": 0, "y": 896, "w": 64, "h": 64 },
    "autoplr_on.png": {
      "frame": { "x": 0, "y": 1152, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 109,7 118,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "powerhub_on.png": {
      "frame": { "x": 0, "y": 960, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1216, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 118,7 127,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "superthruster_off.png": {
      "frame": { "x": 0, "y": 1024, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1280, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 127,7 136,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "landingthruster_off.png": {
      "frame": { "x": 0, "y": 1088, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1344, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 136,7 145,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "thruster_off.png": {
      "frame": { "x": 0, "y": 1152, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1408, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 145,7 154,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "cargo_on.png": {
      "frame": { "x": 0, "y": 1216, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1472, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 154,7 163,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "cargo_off.png": {
      "frame": { "x": 0, "y": 1280, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1536, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 163,7 172,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "powerhub_off.png": {
      "frame": { "x": 0, "y": 1344, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1600, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 172,7 181,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "hub_off.png": {
      "frame": { "x": 0, "y": 1408, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1664, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },

M assets/dist/spritesheet-125.png => assets/dist/spritesheet-125.png +0 -0
M assets/dist/spritesheet-375.json => assets/dist/spritesheet-375.json +34 -25
@@ 1,6 1,6 @@
{
  "frames": {
    "earth.png": {
    "moon.png": {
      "frame": { "x": 0, "y": 0, "w": 768, "h": 768 },
      "rotated": false,
      "trimmed": false,


@@ 9,8 9,17 @@
      "pivot": { "x": 384, "y": 384 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 768, "h": 768 }
    },
    "earth.png": {
      "frame": { "x": 0, "y": 768, "w": 768, "h": 768 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 768, "h": 768 },
      "sourceSize": { "w": 768, "h": 768 },
      "pivot": { "x": 384, "y": 384 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 768, "h": 768 }
    },
    "starfield.png": {
      "frame": { "x": 0, "y": 768, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 1536, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 18,8 27,8 @@
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "autoplr_cfg.png": {
      "frame": { "x": 0, "y": 960, "w": 192, "h": 192 },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 1728, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 27,8 36,8 @@
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 1152, "w": 192, "h": 192 },
    "hearty.png": {
      "frame": { "x": 0, "y": 1920, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 36,8 45,8 @@
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "hearty.png": {
      "frame": { "x": 0, "y": 1344, "w": 192, "h": 192 },
    "autoplr_cfg.png": {
      "frame": { "x": 0, "y": 2112, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 46,7 55,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "superthruster_on.png": {
      "frame": { "x": 0, "y": 1536, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 2304, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 55,7 64,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "ecothruster_on.png": {
      "frame": { "x": 0, "y": 1728, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 2496, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 64,7 73,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "landingthruster_on.png": {
      "frame": { "x": 0, "y": 1920, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 2688, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 73,7 82,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "thruster_on.png": {
      "frame": { "x": 0, "y": 2112, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 2880, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 82,7 91,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "landingleg.png": {
      "frame": { "x": 0, "y": 2304, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 3072, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 90,8 99,8 @@
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "autoplr_on.png": {
      "frame": { "x": 0, "y": 2496, "w": 192, "h": 192 },
    "hub_on.png": {
      "frame": { "x": 0, "y": 3264, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 99,8 108,8 @@
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "hub_on.png": {
      "frame": { "x": 0, "y": 2688, "w": 192, "h": 192 },
    "autoplr_on.png": {
      "frame": { "x": 0, "y": 3456, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 109,7 118,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "powerhub_on.png": {
      "frame": { "x": 0, "y": 2880, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 3648, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 118,7 127,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "landingthruster_off.png": {
      "frame": { "x": 0, "y": 3072, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 3840, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 127,7 136,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "superthruster_off.png": {
      "frame": { "x": 0, "y": 3264, "w": 192, "h": 192 },
      "frame": { "x": 192, "y": 1536, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 136,7 145,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "thruster_off.png": {
      "frame": { "x": 0, "y": 3456, "w": 192, "h": 192 },
      "frame": { "x": 192, "y": 1728, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 145,7 154,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "cargo_on.png": {
      "frame": { "x": 0, "y": 3648, "w": 192, "h": 192 },
      "frame": { "x": 192, "y": 1920, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 154,7 163,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "cargo_off.png": {
      "frame": { "x": 0, "y": 3840, "w": 192, "h": 192 },
      "frame": { "x": 192, "y": 2112, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 163,7 172,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "powerhub_off.png": {
      "frame": { "x": 768, "y": 0, "w": 192, "h": 192 },
      "frame": { "x": 192, "y": 2304, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 172,7 181,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "hub_off.png": {
      "frame": { "x": 960, "y": 0, "w": 192, "h": 192 },
      "frame": { "x": 192, "y": 2496, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },

M assets/dist/spritesheet-375.png => assets/dist/spritesheet-375.png +0 -0
M assets/dist/spritesheet-full.json => assets/dist/spritesheet-full.json +34 -25
@@ 1,6 1,6 @@
{
  "frames": {
    "earth.png": {
    "moon.png": {
      "frame": { "x": 0, "y": 0, "w": 2048, "h": 2048 },
      "rotated": false,
      "trimmed": false,


@@ 9,8 9,17 @@
      "pivot": { "x": 1024, "y": 1024 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 2048, "h": 2048 }
    },
    "earth.png": {
      "frame": { "x": 0, "y": 2048, "w": 2048, "h": 2048 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 2048, "h": 2048 },
      "sourceSize": { "w": 2048, "h": 2048 },
      "pivot": { "x": 1024, "y": 1024 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 2048, "h": 2048 }
    },
    "starfield.png": {
      "frame": { "x": 0, "y": 2048, "w": 512, "h": 512 },
      "frame": { "x": 2048, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 18,8 27,8 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "autoplr_cfg.png": {
      "frame": { "x": 0, "y": 2560, "w": 512, "h": 512 },
    "autoplr_error.png": {
      "frame": { "x": 2560, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 27,8 36,8 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 3072, "w": 512, "h": 512 },
    "hearty.png": {
      "frame": { "x": 3072, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 36,8 45,8 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "hearty.png": {
      "frame": { "x": 0, "y": 3584, "w": 512, "h": 512 },
    "autoplr_cfg.png": {
      "frame": { "x": 3584, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 46,7 55,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "superthruster_on.png": {
      "frame": { "x": 2048, "y": 0, "w": 512, "h": 512 },
      "frame": { "x": 2048, "y": 512, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 55,7 64,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "ecothruster_on.png": {
      "frame": { "x": 2560, "y": 0, "w": 512, "h": 512 },
      "frame": { "x": 2560, "y": 512, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 64,7 73,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "landingthruster_on.png": {
      "frame": { "x": 3072, "y": 0, "w": 512, "h": 512 },
      "frame": { "x": 3072, "y": 512, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 73,7 82,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "thruster_on.png": {
      "frame": { "x": 3584, "y": 0, "w": 512, "h": 512 },
      "frame": { "x": 3584, "y": 512, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 82,7 91,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "landingleg.png": {
      "frame": { "x": 512, "y": 2048, "w": 512, "h": 512 },
      "frame": { "x": 2048, "y": 1024, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 90,8 99,8 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "autoplr_on.png": {
      "frame": { "x": 512, "y": 2560, "w": 512, "h": 512 },
    "hub_on.png": {
      "frame": { "x": 2560, "y": 1024, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 99,8 108,8 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "hub_on.png": {
      "frame": { "x": 512, "y": 3072, "w": 512, "h": 512 },
    "autoplr_on.png": {
      "frame": { "x": 3072, "y": 1024, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 109,7 118,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "powerhub_on.png": {
      "frame": { "x": 512, "y": 3584, "w": 512, "h": 512 },
      "frame": { "x": 3584, "y": 1024, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 118,7 127,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "superthruster_off.png": {
      "frame": { "x": 2048, "y": 512, "w": 512, "h": 512 },
      "frame": { "x": 2048, "y": 1536, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 127,7 136,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "landingthruster_off.png": {
      "frame": { "x": 2560, "y": 512, "w": 512, "h": 512 },
      "frame": { "x": 2560, "y": 1536, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 136,7 145,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "thruster_off.png": {
      "frame": { "x": 3072, "y": 512, "w": 512, "h": 512 },
      "frame": { "x": 3072, "y": 1536, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 145,7 154,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "cargo_on.png": {
      "frame": { "x": 3584, "y": 512, "w": 512, "h": 512 },
      "frame": { "x": 3584, "y": 1536, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 154,7 163,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "cargo_off.png": {
      "frame": { "x": 1024, "y": 2048, "w": 512, "h": 512 },
      "frame": { "x": 2048, "y": 2048, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 163,7 172,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "powerhub_off.png": {
      "frame": { "x": 1024, "y": 2560, "w": 512, "h": 512 },
      "frame": { "x": 2048, "y": 2560, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 172,7 181,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "hub_off.png": {
      "frame": { "x": 1024, "y": 3072, "w": 512, "h": 512 },
      "frame": { "x": 2048, "y": 3072, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },

M assets/dist/spritesheet-full.png => assets/dist/spritesheet-full.png +0 -0
A assets/final/125/moon.png => assets/final/125/moon.png +0 -0
A assets/final/375/moon.png => assets/final/375/moon.png +0 -0
A assets/final/full/moon.png => assets/final/full/moon.png +0 -0
A assets/src/moon.ink.svg => assets/src/moon.ink.svg +197 -0
@@ 0,0 1,197 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   width="2048"
   height="2048"
   viewBox="0 0 541.86665 541.86668"
   version="1.1"
   id="svg5"
   inkscape:export-filename="/home/tm85/prj/stk_sprites/earth.png"
   inkscape:export-xdpi="96"
   inkscape:export-ydpi="96"
   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
   sodipodi:docname="moon.ink.svg"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:svg="http://www.w3.org/2000/svg">
  <sodipodi:namedview
     id="namedview7"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageshadow="2"
     inkscape:pageopacity="0.0"
     inkscape:pagecheckerboard="true"
     inkscape:document-units="mm"
     showgrid="false"
     units="px"
     inkscape:zoom="0.5"
     inkscape:cx="724"
     inkscape:cy="692"
     inkscape:window-width="1920"
     inkscape:window-height="1055"
     inkscape:window-x="1360"
     inkscape:window-y="25"
     inkscape:window-maximized="1"
     inkscape:current-layer="layer1"
     inkscape:showpageshadow="2"
     inkscape:deskcolor="#d1d1d1" />
  <defs
     id="defs2">
    <inkscape:path-effect
       effect="powerclip"
       id="path-effect8841"
       is_visible="true"
       lpeversion="1"
       inverse="true"
       flatten="false"
       hide_clip="false"
       message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." />
    <inkscape:path-effect
       effect="powerclip"
       id="path-effect8558"
       is_visible="true"
       lpeversion="1"
       inverse="true"
       flatten="false"
       hide_clip="false"
       message="Use fill-rule evenodd on &lt;b&gt;fill and stroke&lt;/b&gt; dialog if no flatten result after convert clip to paths." />
    <clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath8328">
      <path
         id="path8330"
         style="fill:#5bc0e9;fill-opacity:1;stroke-width:0.264334"
         d="m 262.91024,0.10969381 c -4.57469,0.18990001 -9.14882,0.38404999 -13.71125,0.78085001 -3.81202,0.28116998 -7.61333,0.71276998 -11.40968,1.15259998 -4.24,0.54388 -8.47152,1.14316 -12.68226,1.8833099 -3.67247,0.6067901 -7.32245,1.35314 -10.96689,2.1087001 -4.20685,0.9273701 -8.40245,1.9014699 -12.56227,3.02382 -3.63592,0.9424302 -7.23831,2.0169802 -10.83251,3.1063102 -4.07716,1.28727 -8.13706,2.6247 -12.15069,4.1002 -3.53748,1.26033 -7.02913,2.65158 -10.51084,4.0577 -3.94755,1.64399 -7.87315,3.33774 -11.74014,5.16494 -3.38262,1.555751 -6.70737,3.239501 -10.02396,4.931159 -3.81373,2.005621 -7.60414,4.05343 -11.32162,6.233991 -3.2601,1.86853 -6.45184,3.857919 -9.63249,5.858079 -3.59451,2.3182 -7.15942,4.680371 -10.64266,7.164091 -3.08101,2.150949 -6.0837,4.41602 -9.0738,6.69058 -3.37469,2.627741 -6.71614,5.296159 -9.964628,8.079721 -2.853725,2.395019 -5.619277,4.896289 -8.373727,7.404518 -3.175727,2.964961 -6.316898,5.965071 -9.352748,9.074341 -2.625524,2.64346 -5.159452,5.379619 -7.678378,8.124751 -2.85705,3.18494 -5.674201,6.40402 -8.379976,9.71954 -2.405369,2.889855 -4.709332,5.865975 -6.993599,8.851845 -2.563135,3.42591 -5.083138,6.88279 -7.484337,10.42511 -2.12317,3.06407 -4.132718,6.20771 -6.1301,9.35477 -2.265793,3.67065 -4.490283,7.36563 -6.584791,11.13763 -1.858793,3.26982 -3.596672,6.60925 -5.32034,9.95187 -1.918459,3.82604 -3.78799,7.67464 -5.524892,11.58725 -1.561223,3.42266 -3.001555,6.90174 -4.419389,10.38586 -1.58412,4.01238 -3.112136,8.04548 -4.509928,12.1272 -1.22919,3.48584 -2.328575,7.01825 -3.41746,10.55015 -1.210546,4.10693 -2.3791105,8.22535 -3.3967398,12.38509 -0.9430303,3.67614 -1.7503267,7.38765 -2.540236,11.09923 -0.843388,4.19811 -1.6335767,8.40537 -2.2813243,12.63867 -0.602393,3.68087 -1.068693,7.38482 -1.5183643,11.08686 -0.4734265,4.32299 -0.89643813,8.6501 -1.17165872,12.99077 -0.26912205,3.68561 -0.40028452,7.38193 -0.52175526,11.07503 -0.08803385,4.31479 -0.12852743,8.62959 -0.01676834,12.94439 0.05789074,3.72919 0.25320212,7.45696 0.46233741,11.17991 0.29642054,4.33901 0.64661961,8.67281 1.14159541,12.99406 0.3852629,3.67549 0.9069882,7.33735 1.4415692,10.99349 0.6756948,4.26247 1.3954863,8.51654 2.2676604,12.74358 0.715839,3.65964 1.5698071,7.29247 2.431451,10.9198 1.0496889,4.18518 2.1445424,8.35798 3.3883853,12.49003 1.036843,3.58243 2.206625,7.12687 3.387247,10.66361 1.428444,4.10654 2.902841,8.19581 4.518382,12.23272 1.341089,3.44381 2.807442,6.83966 4.285372,10.22617 1.772176,3.93285 3.585514,7.84527 5.538806,11.69162 1.653839,3.3411 3.432064,6.62091 5.217435,9.89269 2.114659,3.75941 4.269391,7.49501 6.555248,11.15314 1.941883,3.18244 4.005271,6.29081 6.074085,9.39128 2.439037,3.55677 4.915524,7.0866 7.517331,10.52634 2.238216,3.02194 4.585356,5.96421 6.945733,8.8909 2.742853,3.32679 5.528125,6.61665 8.422743,9.81237 2.478283,2.78275 5.053282,5.48036 7.638584,8.16268 3.026479,3.07078 6.094688,6.09796 9.260441,9.02497 2.71363,2.55293 5.518237,5.01004 8.332854,7.44982 3.287387,2.78915 6.61013,5.53429 10.02401,8.16723 2.90315,2.2804 5.88848,4.45733 8.87849,6.62178 3.52277,2.48365 7.07151,4.92861 10.70688,7.24472 3.12035,2.0333 6.31546,3.95235 9.5134,5.85973 3.72945,2.15995 7.48132,4.27897 11.30697,6.26409 3.28678,1.74998 6.64012,3.37616 9.99414,4.99091 3.93565,1.8342 7.89028,3.6244 11.90689,5.27442 3.40037,1.43364 6.85317,2.7446 10.30728,4.04159 4.05163,1.46486 8.11761,2.88618 12.23305,4.16184 3.54445,1.13866 7.13208,2.14339 10.71834,3.13989 4.1659,1.09924 8.34287,2.15252 12.55578,3.05684 3.63171,0.81949 7.29421,1.50508 10.95527,2.17646 4.24624,0.72297 8.49861,1.40335 12.77439,1.92791 3.69022,0.49035 7.39921,0.84511 11.10512,1.19081 4.32713,0.34616 8.65674,0.64278 12.9957,0.78883 3.68597,0.15798 7.37818,0.18153 11.06697,0.19463 4.30673,-0.0402 8.61206,-0.12666 12.91286,-0.36693 3.71853,-0.17044 7.43178,-0.47728 11.13999,-0.79605 4.31975,-0.4268 8.63362,-0.90014 12.92979,-1.52521 3.6553,-0.49853 7.29337,-1.13041 10.9261,-1.76988 4.26524,-0.80828 8.51932,-1.66971 12.74345,-2.67359 3.59724,-0.8205 7.16491,-1.77321 10.7266,-2.73481 4.14422,-1.17621 8.27524,-2.39557 12.36112,-3.76322 3.57344,-1.15658 7.10542,-2.44417 10.62903,-3.74378 3.99412,-1.5267 7.96893,-3.10028 11.88765,-4.81317 3.4259,-1.45727 6.79857,-3.04252 10.16426,-4.63256 3.87175,-1.89153 7.72078,-3.82712 11.50146,-5.8964 3.28499,-1.75453 6.50436,-3.63323 9.71632,-5.51741 3.71687,-2.24586 7.4068,-4.53416 11.01747,-6.94854 3.08694,-2.02332 6.09888,-4.16226 9.10399,-6.30473 3.47718,-2.54865 6.92584,-5.13355 10.28123,-7.84193 2.94794,-2.33138 5.81237,-4.76999 8.66275,-7.21926 3.21326,-2.82361 6.39006,-5.68709 9.46867,-8.6582 2.70762,-2.55916 5.32001,-5.22047 7.92025,-7.88818 2.99469,-3.14823 5.9522,-6.33045 8.79941,-9.61385 2.44459,-2.7672 4.78869,-5.62449 7.12279,-8.48513 2.70547,-3.40207 5.36731,-6.83665 7.91319,-10.36074 2.19011,-2.97445 4.27082,-6.03025 6.34328,-9.08749 2.37397,-3.60074 4.7058,-7.22799 6.91023,-10.93597 1.93783,-3.1845 3.75639,-6.44229 5.56577,-9.70108 2.04396,-3.79846 4.04768,-7.61749 5.91452,-11.50702 1.64799,-3.34425 3.16982,-6.75156 4.68435,-10.1582 1.69915,-3.96555 3.35523,-7.94848 4.86989,-11.98898 1.34358,-3.47806 2.5591,-7.00646 3.76484,-10.53415 1.3531,-4.13174 2.6535,-8.27953 3.81547,-12.46974 1.02,-3.55216 1.91019,-7.14221 2.7895,-10.73139 0.97224,-4.20423 1.89998,-8.41782 2.67748,-12.66312 0.71422,-3.69435 1.2931,-7.41574 1.8591,-11.13528 0.5951,-4.24021 1.13302,-8.48688 1.52905,-12.75082 0.38468,-3.74304 0.63418,-7.50097 0.86707,-11.25591 0.21579,-4.2767 0.37832,-8.55496 0.39383,-12.83758 0.16928,-15.08301 -1.01373,-30.17566 -3.37971,-45.06752 C 532.72984,192.48269 519.62502,157.64916 500.1954,126.77889 480.32678,95.138364 453.84289,67.689693 422.93974,46.739995 391.76304,25.539214 356.12165,10.984914 319.03532,4.3059739 301.07512,1.0656938 282.78511,-0.38090618 264.53714,0.08550381 c -0.54231,0.008 -1.08461,0.0161 -1.62693,0.02420001 z" />
    </clipPath>
    <clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath8554">
      <path
         style="display:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         d="m 87.320929,51.625126 c 0,0 28.256411,39.445525 60.972951,31.930157 32.71655,-7.515367 36.02504,-42.018349 59.52434,-42.058123 23.49931,-0.03977 30.88875,30.136565 41.299,25.003915 10.41025,-5.132649 33.39732,-8.826545 47.70173,1.854441 14.30443,10.680986 31.22781,29.139565 49.04882,17.403299 17.82101,-11.736268 37.30832,-19.141307 30.61163,-29.627358 -6.69668,-10.486052 12.97239,-10.505382 21.86289,-8.736047 8.89048,1.769337 46.75288,7.92639 49.17734,-0.232511 2.42448,-8.1589 -26.25426,-58.641446 -26.25426,-58.641446 L 231.12035,-19.802966 88.585322,25.888116 Z"
         id="path8556"
         clip-path="url(#clipPath8328)"
         transform="translate(-3.0000001e-5)" />
    </clipPath>
    <clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath8328-6">
      <path
         id="path8330-7"
         style="fill:#5bc0e9;fill-opacity:1;stroke-width:0.264334"
         d="m 262.91024,0.10969381 c -4.57469,0.18990001 -9.14882,0.38404999 -13.71125,0.78085001 -3.81202,0.28116998 -7.61333,0.71276998 -11.40968,1.15259998 -4.24,0.54388 -8.47152,1.14316 -12.68226,1.8833099 -3.67247,0.6067901 -7.32245,1.35314 -10.96689,2.1087001 -4.20685,0.9273701 -8.40245,1.9014699 -12.56227,3.02382 -3.63592,0.9424302 -7.23831,2.0169802 -10.83251,3.1063102 -4.07716,1.28727 -8.13706,2.6247 -12.15069,4.1002 -3.53748,1.26033 -7.02913,2.65158 -10.51084,4.0577 -3.94755,1.64399 -7.87315,3.33774 -11.74014,5.16494 -3.38262,1.555751 -6.70737,3.239501 -10.02396,4.931159 -3.81373,2.005621 -7.60414,4.05343 -11.32162,6.233991 -3.2601,1.86853 -6.45184,3.857919 -9.63249,5.858079 -3.59451,2.3182 -7.15942,4.680371 -10.64266,7.164091 -3.08101,2.150949 -6.0837,4.41602 -9.0738,6.69058 -3.37469,2.627741 -6.71614,5.296159 -9.964628,8.079721 -2.853725,2.395019 -5.619277,4.896289 -8.373727,7.404518 -3.175727,2.964961 -6.316898,5.965071 -9.352748,9.074341 -2.625524,2.64346 -5.159452,5.379619 -7.678378,8.124751 -2.85705,3.18494 -5.674201,6.40402 -8.379976,9.71954 -2.405369,2.889855 -4.709332,5.865975 -6.993599,8.851845 -2.563135,3.42591 -5.083138,6.88279 -7.484337,10.42511 -2.12317,3.06407 -4.132718,6.20771 -6.1301,9.35477 -2.265793,3.67065 -4.490283,7.36563 -6.584791,11.13763 -1.858793,3.26982 -3.596672,6.60925 -5.32034,9.95187 -1.918459,3.82604 -3.78799,7.67464 -5.524892,11.58725 -1.561223,3.42266 -3.001555,6.90174 -4.419389,10.38586 -1.58412,4.01238 -3.112136,8.04548 -4.509928,12.1272 -1.22919,3.48584 -2.328575,7.01825 -3.41746,10.55015 -1.210546,4.10693 -2.3791105,8.22535 -3.3967398,12.38509 -0.9430303,3.67614 -1.7503267,7.38765 -2.540236,11.09923 -0.843388,4.19811 -1.6335767,8.40537 -2.2813243,12.63867 -0.602393,3.68087 -1.068693,7.38482 -1.5183643,11.08686 -0.4734265,4.32299 -0.89643813,8.6501 -1.17165872,12.99077 -0.26912205,3.68561 -0.40028452,7.38193 -0.52175526,11.07503 -0.08803385,4.31479 -0.12852743,8.62959 -0.01676834,12.94439 0.05789074,3.72919 0.25320212,7.45696 0.46233741,11.17991 0.29642054,4.33901 0.64661961,8.67281 1.14159541,12.99406 0.3852629,3.67549 0.9069882,7.33735 1.4415692,10.99349 0.6756948,4.26247 1.3954863,8.51654 2.2676604,12.74358 0.715839,3.65964 1.5698071,7.29247 2.431451,10.9198 1.0496889,4.18518 2.1445424,8.35798 3.3883853,12.49003 1.036843,3.58243 2.206625,7.12687 3.387247,10.66361 1.428444,4.10654 2.902841,8.19581 4.518382,12.23272 1.341089,3.44381 2.807442,6.83966 4.285372,10.22617 1.772176,3.93285 3.585514,7.84527 5.538806,11.69162 1.653839,3.3411 3.432064,6.62091 5.217435,9.89269 2.114659,3.75941 4.269391,7.49501 6.555248,11.15314 1.941883,3.18244 4.005271,6.29081 6.074085,9.39128 2.439037,3.55677 4.915524,7.0866 7.517331,10.52634 2.238216,3.02194 4.585356,5.96421 6.945733,8.8909 2.742853,3.32679 5.528125,6.61665 8.422743,9.81237 2.478283,2.78275 5.053282,5.48036 7.638584,8.16268 3.026479,3.07078 6.094688,6.09796 9.260441,9.02497 2.71363,2.55293 5.518237,5.01004 8.332854,7.44982 3.287387,2.78915 6.61013,5.53429 10.02401,8.16723 2.90315,2.2804 5.88848,4.45733 8.87849,6.62178 3.52277,2.48365 7.07151,4.92861 10.70688,7.24472 3.12035,2.0333 6.31546,3.95235 9.5134,5.85973 3.72945,2.15995 7.48132,4.27897 11.30697,6.26409 3.28678,1.74998 6.64012,3.37616 9.99414,4.99091 3.93565,1.8342 7.89028,3.6244 11.90689,5.27442 3.40037,1.43364 6.85317,2.7446 10.30728,4.04159 4.05163,1.46486 8.11761,2.88618 12.23305,4.16184 3.54445,1.13866 7.13208,2.14339 10.71834,3.13989 4.1659,1.09924 8.34287,2.15252 12.55578,3.05684 3.63171,0.81949 7.29421,1.50508 10.95527,2.17646 4.24624,0.72297 8.49861,1.40335 12.77439,1.92791 3.69022,0.49035 7.39921,0.84511 11.10512,1.19081 4.32713,0.34616 8.65674,0.64278 12.9957,0.78883 3.68597,0.15798 7.37818,0.18153 11.06697,0.19463 4.30673,-0.0402 8.61206,-0.12666 12.91286,-0.36693 3.71853,-0.17044 7.43178,-0.47728 11.13999,-0.79605 4.31975,-0.4268 8.63362,-0.90014 12.92979,-1.52521 3.6553,-0.49853 7.29337,-1.13041 10.9261,-1.76988 4.26524,-0.80828 8.51932,-1.66971 12.74345,-2.67359 3.59724,-0.8205 7.16491,-1.77321 10.7266,-2.73481 4.14422,-1.17621 8.27524,-2.39557 12.36112,-3.76322 3.57344,-1.15658 7.10542,-2.44417 10.62903,-3.74378 3.99412,-1.5267 7.96893,-3.10028 11.88765,-4.81317 3.4259,-1.45727 6.79857,-3.04252 10.16426,-4.63256 3.87175,-1.89153 7.72078,-3.82712 11.50146,-5.8964 3.28499,-1.75453 6.50436,-3.63323 9.71632,-5.51741 3.71687,-2.24586 7.4068,-4.53416 11.01747,-6.94854 3.08694,-2.02332 6.09888,-4.16226 9.10399,-6.30473 3.47718,-2.54865 6.92584,-5.13355 10.28123,-7.84193 2.94794,-2.33138 5.81237,-4.76999 8.66275,-7.21926 3.21326,-2.82361 6.39006,-5.68709 9.46867,-8.6582 2.70762,-2.55916 5.32001,-5.22047 7.92025,-7.88818 2.99469,-3.14823 5.9522,-6.33045 8.79941,-9.61385 2.44459,-2.7672 4.78869,-5.62449 7.12279,-8.48513 2.70547,-3.40207 5.36731,-6.83665 7.91319,-10.36074 2.19011,-2.97445 4.27082,-6.03025 6.34328,-9.08749 2.37397,-3.60074 4.7058,-7.22799 6.91023,-10.93597 1.93783,-3.1845 3.75639,-6.44229 5.56577,-9.70108 2.04396,-3.79846 4.04768,-7.61749 5.91452,-11.50702 1.64799,-3.34425 3.16982,-6.75156 4.68435,-10.1582 1.69915,-3.96555 3.35523,-7.94848 4.86989,-11.98898 1.34358,-3.47806 2.5591,-7.00646 3.76484,-10.53415 1.3531,-4.13174 2.6535,-8.27953 3.81547,-12.46974 1.02,-3.55216 1.91019,-7.14221 2.7895,-10.73139 0.97224,-4.20423 1.89998,-8.41782 2.67748,-12.66312 0.71422,-3.69435 1.2931,-7.41574 1.8591,-11.13528 0.5951,-4.24021 1.13302,-8.48688 1.52905,-12.75082 0.38468,-3.74304 0.63418,-7.50097 0.86707,-11.25591 0.21579,-4.2767 0.37832,-8.55496 0.39383,-12.83758 0.16928,-15.08301 -1.01373,-30.17566 -3.37971,-45.06752 C 532.72984,192.48269 519.62502,157.64916 500.1954,126.77889 480.32678,95.138364 453.84289,67.689693 422.93974,46.739995 391.76304,25.539214 356.12165,10.984914 319.03532,4.3059739 301.07512,1.0656938 282.78511,-0.38090618 264.53714,0.08550381 c -0.54231,0.008 -1.08461,0.0161 -1.62693,0.02420001 z" />
    </clipPath>
    <clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath8554-5">
      <path
         style="display:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         d="m 87.320929,51.625126 c 0,0 28.256411,39.445525 60.972951,31.930157 32.71655,-7.515367 36.02504,-42.018349 59.52434,-42.058123 23.49931,-0.03977 30.88875,30.136565 41.299,25.003915 10.41025,-5.132649 33.39732,-8.826545 47.70173,1.854441 14.30443,10.680986 31.22781,29.139565 49.04882,17.403299 17.82101,-11.736268 37.30832,-19.141307 30.61163,-29.627358 -6.69668,-10.486052 12.97239,-10.505382 21.86289,-8.736047 8.89048,1.769337 46.75288,7.92639 49.17734,-0.232511 2.42448,-8.1589 -26.25426,-58.641446 -26.25426,-58.641446 L 231.12035,-19.802966 88.585322,25.888116 Z"
         id="path8556-3"
         clip-path="url(#clipPath8328)"
         transform="translate(-3.0000001e-5)" />
      <path
         id="lpe_path-effect8558-5"
         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         class="powerclip"
         d="M -5,-5 H 546.86667 V 547.90149 H -5 Z m 92.320929,56.625126 c 0,0 28.256411,39.445525 60.972951,31.930157 32.71655,-7.515367 36.02504,-42.018349 59.52434,-42.058123 23.49931,-0.03977 30.88875,30.136565 41.299,25.003915 10.41025,-5.132649 33.39732,-8.826545 47.70173,1.854441 14.30443,10.680986 31.22781,29.139565 49.04882,17.403299 17.82101,-11.736268 37.30832,-19.141307 30.61163,-29.627358 -6.69668,-10.486052 12.97239,-10.505382 21.86289,-8.736047 8.89048,1.769337 46.75288,7.92639 49.17734,-0.232511 2.42448,-8.1589 -26.25426,-58.641446 -26.25426,-58.641446 L 231.12035,-19.802966 88.585322,25.888116 Z" />
    </clipPath>
    <clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipath_lpe_path-effect8841">
      <path
         style="display:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         d="m 87.320929,51.625126 c 0,0 28.256411,39.445525 60.972951,31.930157 32.71655,-7.515367 36.02504,-42.018349 59.52434,-42.058123 23.49931,-0.03977 30.88875,30.136565 41.299,25.003915 10.41025,-5.132649 33.39732,-8.826545 47.70173,1.854441 14.30443,10.680986 31.22781,29.139565 49.04882,17.403299 17.82101,-11.736268 37.30832,-19.141307 30.61163,-29.627358 -6.69668,-10.486052 12.97239,-10.505382 21.86289,-8.736047 8.89048,1.769337 46.75288,7.92639 49.17734,-0.232511 2.42448,-8.1589 -26.25426,-58.641446 -26.25426,-58.641446 L 231.12035,-19.802966 88.585322,25.888116 Z"
         id="path8843"
         clip-path="url(#clipPath8328)"
         transform="translate(-3.0000001e-5)" />
      <path
         id="lpe_path-effect8841"
         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         class="powerclip"
         d="M -5,-5 H 546.86667 V 547.90149 H -5 Z m 92.320929,56.625126 c 0,0 28.256411,39.445525 60.972951,31.930157 32.71655,-7.515367 36.02504,-42.018349 59.52434,-42.058123 23.49931,-0.03977 30.88875,30.136565 41.299,25.003915 10.41025,-5.132649 33.39732,-8.826545 47.70173,1.854441 14.30443,10.680986 31.22781,29.139565 49.04882,17.403299 17.82101,-11.736268 37.30832,-19.141307 30.61163,-29.627358 -6.69668,-10.486052 12.97239,-10.505382 21.86289,-8.736047 8.89048,1.769337 46.75288,7.92639 49.17734,-0.232511 2.42448,-8.1589 -26.25426,-58.641446 -26.25426,-58.641446 L 231.12035,-19.802966 88.585322,25.888116 Z" />
    </clipPath>
    <clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath9221">
      <circle
         style="fill:#314bdc;fill-opacity:1;stroke:none;stroke-width:1.76674;stroke-opacity:1"
         id="circle9223"
         cx="270.93329"
         cy="270.93329"
         r="270.93329" />
    </clipPath>
    <clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath9221-2">
      <circle
         style="fill:#314bdc;fill-opacity:1;stroke:none;stroke-width:1.76674;stroke-opacity:1"
         id="circle9223-9"
         cx="270.93329"
         cy="270.93329"
         r="270.93329" />
    </clipPath>
    <clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath12009">
      <circle
         style="fill:#8af379;fill-opacity:1;stroke:none;stroke-width:0.851098;stroke-opacity:1"
         id="circle12011"
         cx="270.93329"
         cy="270.93329"
         r="270.93329" />
    </clipPath>
    <clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath12225">
      <circle
         style="fill:#8af379;fill-opacity:1;stroke:none;stroke-width:0.851098;stroke-opacity:1"
         id="circle12227"
         cx="270.93329"
         cy="270.93329"
         r="270.93329" />
    </clipPath>
  </defs>
  <g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1">
    <path
       id="path846-6"
       style="fill:#808080;fill-opacity:1;stroke-width:0.264334"
       d="m 262.91024,0.10969381 c -4.57469,0.1899 -9.14882,0.38405 -13.71125,0.78085 -3.81202,0.28116999 -7.61333,0.71276999 -11.40968,1.15259999 -4.24,0.54388 -8.47152,1.14316 -12.68226,1.88331 -3.67247,0.60679 -7.32245,1.35314 -10.96689,2.1087 -4.20685,0.92737 -8.40245,1.90147 -12.56227,3.02382 -3.63592,0.9424302 -7.23831,2.0169802 -10.83251,3.1063102 -4.07716,1.28727 -8.13706,2.6247 -12.15069,4.1002 -3.53748,1.26033 -7.02913,2.65158 -10.51084,4.0577 -3.94755,1.64399 -7.87315,3.33774 -11.74014,5.16494 -3.38262,1.55575 -6.70737,3.2395 -10.02396,4.93116 -3.81373,2.00562 -7.60414,4.05343 -11.32162,6.23399 -3.2601,1.86853 -6.45184,3.85792 -9.63249,5.85808 -3.59451,2.3182 -7.15942,4.68037 -10.64266,7.16409 -3.08101,2.15095 -6.0837,4.41602 -9.0738,6.69058 -3.37469,2.62774 -6.71614,5.29616 -9.964629,8.07972 -2.853724,2.39502 -5.619275,4.89629 -8.373726,7.40452 -3.175727,2.96496 -6.316898,5.96507 -9.352749,9.07434 -2.625524,2.64346 -5.159452,5.37962 -7.678378,8.12475 -2.857048,3.18494 -5.674201,6.40402 -8.379974,9.71954 -2.405371,2.889856 -4.709332,5.865976 -6.993601,8.851846 -2.563133,3.42591 -5.083136,6.88279 -7.484335,10.42511 -2.123172,3.06407 -4.13272,6.20771 -6.1301,9.35477 -2.265794,3.67065 -4.490285,7.36563 -6.584792,11.13763 -1.858792,3.26982 -3.596672,6.60925 -5.320339,9.95187 -1.918459,3.82604 -3.787991,7.67464 -5.524893,11.58725 -1.561223,3.42266 -3.001555,6.90174 -4.419389,10.38586 -1.58412,4.01238 -3.112136,8.04548 -4.509928,12.1272 -1.22919,3.48584 -2.328575,7.01825 -3.41746,10.55015 -1.210546,4.10693 -2.3791105,8.22535 -3.3967399,12.38509 -0.9430302,3.67614 -1.7503266,7.38765 -2.5402358,11.09923 -0.8433882,4.19811 -1.6335769,8.40537 -2.2813244,12.63867 -0.602393,3.68087 -1.068693,7.38482 -1.5183643,11.08686 -0.4734265,4.32299 -0.89643814,8.6501 -1.17165871,12.99077 -0.26912207,3.68561 -0.40028453,7.38193 -0.52175527,11.07503 -0.08803385,4.31479 -0.12852743,8.62959 -0.01676835,12.94438 0.05789074,3.72921 0.25320212,7.45697 0.46233741,11.17992 0.29642056,4.339 0.64661962,8.67281 1.14159542,12.99405 0.3852629,3.67549 0.9069882,7.33736 1.4415693,10.99351 0.6756948,4.26245 1.3954863,8.51653 2.2676602,12.74358 0.715839,3.65962 1.5698072,7.29245 2.431451,10.91978 1.0496889,4.18519 2.1445426,8.35799 3.3883854,12.49003 1.036843,3.58245 2.206625,7.12688 3.387247,10.66361 1.428444,4.10655 2.902841,8.19582 4.518382,12.23272 1.341089,3.44383 2.807442,6.83966 4.285372,10.22618 1.772176,3.93284 3.585513,7.84526 5.538807,11.69162 1.653839,3.3411 3.432062,6.6209 5.217433,9.89269 2.114659,3.75942 4.269392,7.49501 6.555248,11.15313 1.941885,3.18245 4.005271,6.29083 6.074086,9.39129 2.439037,3.55677 4.915523,7.08659 7.517332,10.52635 2.238216,3.02193 4.585356,5.96421 6.945732,8.8909 2.742853,3.32679 5.528126,6.61664 8.422743,9.81235 2.478283,2.78275 5.053283,5.48038 7.638584,8.16269 3.026478,3.07078 6.094687,6.09796 9.260442,9.02496 2.713629,2.55294 5.518235,5.01004 8.332853,7.44982 3.287386,2.78916 6.61013,5.5343 10.02401,8.16724 2.90315,2.2804 5.88848,4.45734 8.87849,6.62179 3.52277,2.48365 7.07151,4.92859 10.70688,7.24471 3.12035,2.03329 6.31546,3.95235 9.5134,5.85972 3.72945,2.15996 7.48132,4.27898 11.30697,6.26409 3.28678,1.74999 6.64012,3.37616 9.99414,4.99092 3.93565,1.83421 7.89028,3.62439 11.90689,5.27442 3.40037,1.43365 6.85317,2.74459 10.30728,4.04159 4.05163,1.46486 8.11761,2.88617 12.23305,4.16185 3.54445,1.13865 7.13208,2.14337 10.71834,3.13988 4.1659,1.09923 8.34287,2.15253 12.55578,3.05683 3.63171,0.81949 7.29421,1.50509 10.95527,2.17647 4.24624,0.72297 8.49861,1.40334 12.77439,1.9279 3.69022,0.49037 7.39921,0.84512 11.10512,1.19081 4.32713,0.34617 8.65674,0.6428 12.9957,0.78884 3.68597,0.15798 7.37818,0.18152 11.06697,0.19464 4.30673,-0.0402 8.61207,-0.12666 12.91287,-0.36693 3.71852,-0.17045 7.43176,-0.47728 11.13999,-0.79607 4.31974,-0.4268 8.63362,-0.90012 12.92978,-1.52521 3.65531,-0.49851 7.29338,-1.1304 10.92609,-1.76987 4.26526,-0.80827 8.51932,-1.6697 12.74346,-2.67358 3.59724,-0.82051 7.16491,-1.77321 10.72659,-2.73482 4.14423,-1.17621 8.27525,-2.39557 12.36113,-3.76323 3.57344,-1.15656 7.10542,-2.44415 10.62903,-3.74377 3.99412,-1.52671 7.96894,-3.10027 11.88766,-4.81318 3.42589,-1.45727 6.79856,-3.04252 10.16425,-4.63254 3.87175,-1.89154 7.72078,-3.82714 11.50146,-5.89642 3.285,-1.75453 6.50436,-3.63322 9.71632,-5.51741 3.71686,-2.24585 7.4068,-4.53416 11.01747,-6.94854 3.08695,-2.02332 6.09887,-4.16225 9.10399,-6.30473 3.47717,-2.54863 6.92584,-5.13355 10.28122,-7.84193 2.94794,-2.33137 5.81239,-4.76998 8.66276,-7.21924 3.21326,-2.82363 6.39007,-5.68709 9.46866,-8.65821 2.70762,-2.55916 5.32001,-5.22046 7.92027,-7.88817 2.99468,-3.14823 5.9522,-6.33046 8.7994,-9.61386 2.44459,-2.7672 4.78868,-5.62449 7.12279,-8.48513 2.70547,-3.40208 5.36732,-6.83665 7.9132,-10.36074 2.19011,-2.97444 4.2708,-6.03026 6.34326,-9.08749 2.37397,-3.60075 4.7058,-7.228 6.91023,-10.93598 1.93785,-3.18449 3.75639,-6.44228 5.56577,-9.70107 2.04398,-3.79846 4.04768,-7.61749 5.91454,-11.50702 1.64797,-3.34425 3.16982,-6.75156 4.68433,-10.1582 1.69915,-3.96556 3.35525,-7.94849 4.86989,-11.98899 1.34359,-3.47805 2.55912,-7.00645 3.76485,-10.53414 1.35309,-4.13174 2.6535,-8.27953 3.81546,-12.46974 1.02001,-3.55216 1.9102,-7.14222 2.78952,-10.73139 0.97224,-4.20424 1.89997,-8.41783 2.67747,-12.66312 0.71421,-3.69434 1.2931,-7.41574 1.8591,-11.13528 0.59509,-4.2402 1.13303,-8.48689 1.52905,-12.75082 0.38467,-3.74303 0.63417,-7.50098 0.86707,-11.25592 0.21578,-4.27669 0.37832,-8.55494 0.39382,-12.83757 0.1693,-15.08301 -1.01371,-30.17566 -3.37969,-45.06752 -5.74119,-36.04097 -18.84602,-70.8745 -38.27565,-101.74477 -19.86862,-31.640526 -46.35251,-59.089196 -77.25566,-80.038896 -31.1767,-21.20078 -66.81809,-35.75508 -103.9044,-42.4340202 -17.96021,-3.24028 -36.25022,-4.68687999 -54.49819,-4.22046999 -0.54231,0.008 -1.08461,0.0161 -1.62693,0.0242 z"
       clip-path="url(#clipath_lpe_path-effect8841)"
       transform="scale(1,0.9980939)"
       inkscape:original-d="m 262.91024,0.10969381 c -4.57469,0.1899 -9.14882,0.38405 -13.71125,0.78085 -3.81202,0.28116999 -7.61333,0.71276999 -11.40968,1.15259999 -4.24,0.54388 -8.47152,1.14316 -12.68226,1.88331 -3.67247,0.60679 -7.32245,1.35314 -10.96689,2.1087 -4.20685,0.92737 -8.40245,1.90147 -12.56227,3.02382 -3.63592,0.9424302 -7.23831,2.0169802 -10.83251,3.1063102 -4.07716,1.28727 -8.13706,2.6247 -12.15069,4.1002 -3.53748,1.26033 -7.02913,2.65158 -10.51084,4.0577 -3.94755,1.64399 -7.87315,3.33774 -11.74014,5.16494 -3.38262,1.55575 -6.70737,3.2395 -10.02396,4.93116 -3.81373,2.00562 -7.60414,4.05343 -11.32162,6.23399 -3.2601,1.86853 -6.45184,3.85792 -9.63249,5.85808 -3.59451,2.3182 -7.15942,4.68037 -10.64266,7.16409 -3.08101,2.15095 -6.0837,4.41602 -9.0738,6.69058 -3.37469,2.62774 -6.71614,5.29616 -9.964629,8.07972 -2.853724,2.39502 -5.619275,4.89629 -8.373726,7.40452 -3.175727,2.96496 -6.316898,5.96507 -9.352749,9.07434 -2.625524,2.64346 -5.159452,5.37962 -7.678378,8.12475 -2.857048,3.18494 -5.674201,6.40402 -8.379974,9.71954 -2.405371,2.889856 -4.709332,5.865976 -6.993601,8.851846 -2.563133,3.42591 -5.083136,6.88279 -7.484335,10.42511 -2.123172,3.06407 -4.13272,6.20771 -6.1301,9.35477 -2.265794,3.67065 -4.490285,7.36563 -6.584792,11.13763 -1.858792,3.26982 -3.596672,6.60925 -5.320339,9.95187 -1.918459,3.82604 -3.787991,7.67464 -5.524893,11.58725 -1.561223,3.42266 -3.001555,6.90174 -4.419389,10.38586 -1.58412,4.01238 -3.112136,8.04548 -4.509928,12.1272 -1.22919,3.48584 -2.328575,7.01825 -3.41746,10.55015 -1.210546,4.10693 -2.3791105,8.22535 -3.3967399,12.38509 -0.9430302,3.67614 -1.7503266,7.38765 -2.5402358,11.09923 -0.8433882,4.19811 -1.6335769,8.40537 -2.2813244,12.63867 -0.602393,3.68087 -1.068693,7.38482 -1.5183643,11.08686 -0.4734265,4.32299 -0.89643814,8.6501 -1.17165871,12.99077 -0.26912207,3.68561 -0.40028453,7.38193 -0.52175527,11.07503 -0.08803385,4.31479 -0.12852743,8.62959 -0.01676835,12.94438 0.05789074,3.72921 0.25320212,7.45697 0.46233741,11.17992 0.29642056,4.339 0.64661962,8.67281 1.14159542,12.99405 0.3852629,3.67549 0.9069882,7.33736 1.4415693,10.99351 0.6756948,4.26245 1.3954863,8.51653 2.2676602,12.74358 0.715839,3.65962 1.5698072,7.29245 2.431451,10.91978 1.0496889,4.18519 2.1445426,8.35799 3.3883854,12.49003 1.036843,3.58245 2.206625,7.12688 3.387247,10.66361 1.428444,4.10655 2.902841,8.19582 4.518382,12.23272 1.341089,3.44383 2.807442,6.83966 4.285372,10.22618 1.772176,3.93284 3.585513,7.84526 5.538807,11.69162 1.653839,3.3411 3.432062,6.6209 5.217433,9.89269 2.114659,3.75942 4.269392,7.49501 6.555248,11.15313 1.941885,3.18245 4.005271,6.29083 6.074086,9.39129 2.439037,3.55677 4.915523,7.08659 7.517332,10.52635 2.238216,3.02193 4.585356,5.96421 6.945732,8.8909 2.742853,3.32679 5.528126,6.61664 8.422743,9.81235 2.478283,2.78275 5.053283,5.48038 7.638584,8.16269 3.026478,3.07078 6.094687,6.09796 9.260442,9.02496 2.713629,2.55294 5.518235,5.01004 8.332853,7.44982 3.287386,2.78916 6.61013,5.5343 10.02401,8.16724 2.90315,2.2804 5.88848,4.45734 8.87849,6.62179 3.52277,2.48365 7.07151,4.92859 10.70688,7.24471 3.12035,2.03329 6.31546,3.95235 9.5134,5.85972 3.72945,2.15996 7.48132,4.27898 11.30697,6.26409 3.28678,1.74999 6.64012,3.37616 9.99414,4.99092 3.93565,1.83421 7.89028,3.62439 11.90689,5.27442 3.40037,1.43365 6.85317,2.74459 10.30728,4.04159 4.05163,1.46486 8.11761,2.88617 12.23305,4.16185 3.54445,1.13865 7.13208,2.14337 10.71834,3.13988 4.1659,1.09923 8.34287,2.15253 12.55578,3.05683 3.63171,0.81949 7.29421,1.50509 10.95527,2.17647 4.24624,0.72297 8.49861,1.40334 12.77439,1.9279 3.69022,0.49037 7.39921,0.84512 11.10512,1.19081 4.32713,0.34617 8.65674,0.6428 12.9957,0.78884 3.68597,0.15798 7.37818,0.18152 11.06697,0.19464 4.30673,-0.0402 8.61207,-0.12666 12.91287,-0.36693 3.71852,-0.17045 7.43176,-0.47728 11.13999,-0.79607 4.31974,-0.4268 8.63362,-0.90012 12.92978,-1.52521 3.65531,-0.49851 7.29338,-1.1304 10.92609,-1.76987 4.26526,-0.80827 8.51932,-1.6697 12.74346,-2.67358 3.59724,-0.82051 7.16491,-1.77321 10.72659,-2.73482 4.14423,-1.17621 8.27525,-2.39557 12.36113,-3.76323 3.57344,-1.15656 7.10542,-2.44415 10.62903,-3.74377 3.99412,-1.52671 7.96894,-3.10027 11.88766,-4.81318 3.42589,-1.45727 6.79856,-3.04252 10.16425,-4.63254 3.87175,-1.89154 7.72078,-3.82714 11.50146,-5.89642 3.285,-1.75453 6.50436,-3.63322 9.71632,-5.51741 3.71686,-2.24585 7.4068,-4.53416 11.01747,-6.94854 3.08695,-2.02332 6.09887,-4.16225 9.10399,-6.30473 3.47717,-2.54863 6.92584,-5.13355 10.28122,-7.84193 2.94794,-2.33137 5.81239,-4.76998 8.66276,-7.21924 3.21326,-2.82363 6.39007,-5.68709 9.46866,-8.65821 2.70762,-2.55916 5.32001,-5.22046 7.92027,-7.88817 2.99468,-3.14823 5.9522,-6.33046 8.7994,-9.61386 2.44459,-2.7672 4.78868,-5.62449 7.12279,-8.48513 2.70547,-3.40208 5.36732,-6.83665 7.9132,-10.36074 2.19011,-2.97444 4.2708,-6.03026 6.34326,-9.08749 2.37397,-3.60075 4.7058,-7.228 6.91023,-10.93598 1.93785,-3.18449 3.75639,-6.44228 5.56577,-9.70107 2.04398,-3.79846 4.04768,-7.61749 5.91454,-11.50702 1.64797,-3.34425 3.16982,-6.75156 4.68433,-10.1582 1.69915,-3.96556 3.35525,-7.94849 4.86989,-11.98899 1.34359,-3.47805 2.55912,-7.00645 3.76485,-10.53414 1.35309,-4.13174 2.6535,-8.27953 3.81546,-12.46974 1.02001,-3.55216 1.9102,-7.14222 2.78952,-10.73139 0.97224,-4.20424 1.89997,-8.41783 2.67747,-12.66312 0.71421,-3.69434 1.2931,-7.41574 1.8591,-11.13528 0.59509,-4.2402 1.13303,-8.48689 1.52905,-12.75082 0.38467,-3.74303 0.63417,-7.50098 0.86707,-11.25592 0.21578,-4.27669 0.37832,-8.55494 0.39382,-12.83757 0.1693,-15.08301 -1.01371,-30.17566 -3.37969,-45.06752 -5.74119,-36.04097 -18.84602,-70.8745 -38.27565,-101.74477 -19.86862,-31.640526 -46.35251,-59.089196 -77.25566,-80.038896 -31.1767,-21.20078 -66.81809,-35.75508 -103.9044,-42.4340202 -17.96021,-3.24028 -36.25022,-4.68687999 -54.49819,-4.22046999 -0.54231,0.008 -1.08461,0.0161 -1.62693,0.0242 z"
       inkscape:path-effect="#path-effect8841" />
    <path
       style="fill:#ffffff;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
       d="m 92.51667,530.22539 c 3.983768,-7.24538 -3.39653,-30.72487 11.78907,-36.7687 15.18561,-6.04382 76.97079,21.07933 80.70687,9.28064 3.73607,-11.7987 33.46824,-44.30549 46.90211,-38.57522 13.43387,5.73026 -2.09341,41.17726 13.02614,49.47745 15.11956,8.30022 46.17632,13.63911 52.30063,0.7793 6.12428,-12.8598 36.78663,-40.18031 50.76123,-30.73482 13.97461,9.44547 37.68659,19.88553 46.11095,14.80117 8.42436,-5.0844 13.43147,-21.78519 31.85872,-13.61586 18.42722,8.16936 54.67818,48.52805 49.79649,53.45406 -4.88167,4.92599 -82.24309,30.44645 -82.24309,30.44645 l -290.64699,-4.1325 z"
       id="path8647"
       clip-path="url(#clipPath9221)" />
    <path
       style="fill:#666666;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       d="m 92.51667,530.22539 c 3.983768,-7.24538 -3.39653,-30.72487 11.78907,-36.7687 15.18561,-6.04382 76.97079,21.07933 80.70687,9.28064 3.73607,-11.7987 33.46824,-44.30549 46.90211,-38.57522 13.43387,5.73026 -2.09341,41.17726 13.02614,49.47745 15.11956,8.30022 46.17632,13.63911 52.30063,0.7793 6.12428,-12.8598 36.78663,-40.18031 50.76123,-30.73482 13.97461,9.44547 37.68659,19.88553 46.11095,14.80117 8.42436,-5.0844 13.43147,-21.78519 31.85872,-13.61586 18.42722,8.16936 54.67818,48.52805 49.79649,53.45406 -4.88167,4.92599 -82.24309,30.44645 -82.24309,30.44645 l -290.64699,-4.1325 z"
       id="path8647-1"
       clip-path="url(#clipPath9221-2)" />
    <path
       style="fill:#b3b3b3;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       d="m 87.320929,51.625126 c 0,0 28.256411,39.445525 60.972951,31.930157 32.71655,-7.515367 36.02504,-42.018349 59.52434,-42.058123 23.49931,-0.03977 30.88875,30.136565 41.299,25.003915 10.41025,-5.132649 33.39732,-8.826545 47.70173,1.854441 14.30443,10.680986 31.22781,29.139565 49.04882,17.403299 17.82101,-11.736268 37.30832,-19.141307 30.61163,-29.627358 -6.69668,-10.486052 12.97239,-10.505382 21.86289,-8.736047 8.89048,1.769337 46.75288,7.92639 49.17734,-0.232511 2.42448,-8.1589 -26.25426,-58.641446 -26.25426,-58.641446 L 231.12035,-19.802966 88.585322,25.888116 Z"
       id="path7880"
       clip-path="url(#clipPath8328-6)"
       transform="translate(-6.0000001e-5,1.001e-5)" />
    <path
       style="fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       d="m 34.247519,114.21957 c 0,0 82.136941,-25.092972 82.447901,19.18563 0.31097,44.27859 37.6241,63.45226 46.88309,44.06313 9.259,-19.38912 25.62854,-37.3243 45.27964,-28.90011 19.65109,8.4242 36.38392,-17.89257 53.58264,-13.06018 17.19873,4.83239 47.15749,-1.02788 47.15749,16.05015 0,17.07803 -40.37298,29.05504 -52.429,28.83668 -12.05601,-0.21837 -29.33119,10.86645 -21.02998,22.15526 8.3012,11.28882 60.32845,-1.36141 65.55151,9.76617 5.22309,11.12759 11.27916,74.36565 -4.11395,68.64099 -15.39312,-5.72463 -93.39175,-8.03471 -94.56661,-20.82553 -1.17486,-12.79082 -74.71589,-57.49994 -66.60837,-25.09159 8.10752,32.40837 45.08746,44.24982 35.27382,60.28492 -9.81365,16.0351 7.82623,71.13468 -9.88919,71.22694 -17.71543,0.0923 -14.4821,85.7839 -40.89993,66.73917 -26.417841,-19.04474 -20.926631,-31.4134 -34.500481,-9.39033 -13.57385,22.02307 -125.733523,-8.96006 -125.733523,-8.96006 l 19.0688,-234.73224 z"
       id="path10196"
       clip-path="url(#clipPath12009)" />
    <path
       style="fill:#4d4d4d;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
       d="m 580.10456,150.59452 c -7.56613,-4.37686 -32.85204,-57.462561 -75.61837,-46.32879 -42.76632,11.13377 -65.64476,43.31554 -61.13697,56.36632 4.50781,13.05079 42.60082,15.48013 38.03425,29.40404 -4.56658,13.92391 9.4013,56.68783 -13.25346,50.41683 -22.65476,-6.271 -100.05099,-5.35038 -84.32514,23.29164 15.72585,28.64201 49.8724,34.21138 48.94688,52.11274 -0.92554,17.90137 -24.42223,38.41435 5.79816,37.3339 30.22037,-1.08045 50.84638,-58.38833 64.46144,-39.73102 13.61507,18.65733 9.38134,37.56027 6.78749,50.72086 -2.59381,13.16056 -16.29984,28.52878 -0.52437,36.62384 15.77546,8.09508 62.74061,2.27761 62.74061,2.27761 z"
       id="path12059"
       clip-path="url(#clipPath12225)" />
  </g>
</svg>

M client/play.html => client/play.html +1 -1
@@ 14,7 14,7 @@
    <div class="infobox">
      <p id="pos">Position: NaN, NaN</p>
      <p id="vel">Velocity: NaN</p>
      <p is="pos-moon">Relative to Moon: NaN, NaN</p>
      <p id="pos-moon">Relative to Moon: NaN, NaN</p>
    </div>
  </body>
</html>

M client/src/index.ts => client/src/index.ts +23 -1
@@ 164,7 164,27 @@ async function client_main(server: string, username: string, texture_quality: st
                planet.radius * 2, // dw
                planet.radius * 2); // dh

            // todo: moon
            if (planet.planetType == PlanetType.Moon) {
                if (global.me !== null) {
                    global.context.beginPath();
                    global.context.strokeStyle = "gray";
                    global.context.lineWidth = 5;
                    global.context.moveTo(global.me!.x - global.me!.x, global.me!.y - global.me!.y);
                    global.context.lineTo(planet.x - global.me!.x, planet.y - global.me!.y);
                    global.context.stroke();

                    document.getElementById("pos-moon").innerText = `Relative to Moon: ${Math.trunc(global.me!.x - planet.x)}, ${Math.trunc(global.me!.y - planet.y)}`
                }
            } else if (planet.planetType == PlanetType.Earth) {
                if (global.me !== null) {
                    global.context.beginPath();
                    global.context.strokeStyle = "limegreen";
                    global.context.lineWidth = 5;
                    global.context.moveTo(global.me!.x - global.me!.x, global.me!.y - global.me!.y);
                    global.context.lineTo(planet.x - global.me!.x, planet.y - global.me!.y);
                    global.context.stroke();
                }
            }
        }

        for (let i = 0; i < global.players.length; i++) {


@@ 210,6 230,8 @@ client_main(query.get("server")!, query.get("username")!, query.get("textures")!
function planet_type_to_tex_id(ty: PlanetType): string {
    if (ty == PlanetType.Earth) {
        return "earth.png"
    } else if (ty == PlanetType.Moon) {
        return "moon.png"
    }
    return "unknown.png"
}
\ No newline at end of file

M client/src/protocol/planet.ts => client/src/protocol/planet.ts +6 -0
@@ 5,6 5,7 @@ export const protobufPackage = "protocol.planet";

export enum PlanetType {
  Earth = 0,
  Moon = 1,
  UNRECOGNIZED = -1,
}



@@ 13,6 14,9 @@ export function planetTypeFromJSON(object: any): PlanetType {
    case 0:
    case "Earth":
      return PlanetType.Earth;
    case 1:
    case "Moon":
      return PlanetType.Moon;
    case -1:
    case "UNRECOGNIZED":
    default:


@@ 24,6 28,8 @@ export function planetTypeToJSON(object: PlanetType): string {
  switch (object) {
    case PlanetType.Earth:
      return "Earth";
    case PlanetType.Moon:
      return "Moon";
    case PlanetType.UNRECOGNIZED:
    default:
      return "UNRECOGNIZED";

M protocol/src/lib.rs => protocol/src/lib.rs +2 -1
@@ 158,7 158,8 @@ impl TryInto<Vec<u8>> for MessageS2C {
impl planet::PlanetType {
    pub fn as_texture_id(&self) -> String {
        match self {
            PlanetType::Earth => "earth".to_string()
            PlanetType::Earth => "earth".to_string(),
            PlanetType::Moon => "moon".to_string()
        }
    }
}
\ No newline at end of file

M protocol/src/pbuf/planet.proto => protocol/src/pbuf/planet.proto +1 -0
@@ 10,4 10,5 @@ message Planet {

enum PlanetType {
  Earth = 0;
  Moon = 1;
}
\ No newline at end of file

M server/src/handler.rs => server/src/handler.rs +1 -1
@@ 4,7 4,7 @@ use std::sync::Arc;
use std::time::{Duration, SystemTime};
use futures::stream::{SplitSink, SplitStream};
use futures::{FutureExt, SinkExt, StreamExt};
use log::{debug, error, info};
use log::{error, info};
use nalgebra::{vector, point};
use rapier2d_f64::prelude::{RigidBodyBuilder, RigidBodyType, ColliderBuilder, MassProperties, Collider};
use tungstenite::Message;

M server/src/orbit/constants.rs => server/src/orbit/constants.rs +4 -1
@@ 4,4 4,7 @@ pub const EARTH_RADIUS_RL: f64 = 6_378_100.0;
pub const EARTH_RADIUS: f64 = EARTH_RADIUS_RL * GAME_SCALE;

pub const MOON_RADIUS_RL: f64 = 1_737_400.0;
pub const MOON_RADIUS: f64 = MOON_RADIUS_RL * GAME_SCALE;
\ No newline at end of file
pub const MOON_RADIUS: f64 = MOON_RADIUS_RL * GAME_SCALE;
pub const MOON_PERIAPSIS: f64 = 5400.0; //363228.9 * 1000.0 * GAME_SCALE; // real values
pub const MOON_APOAPSIS: f64 = 5600.0; //405400.0 * 1000.0  * GAME_SCALE; // real values
pub const MOON_ORBIT_TIME: f64 = 23328000.0 * GAME_SCALE; // not real values (10x higher)
\ No newline at end of file

A server/src/orbit/kepler.rs => server/src/orbit/kepler.rs +7 -0
@@ 0,0 1,7 @@
/// Kepler's equation: M = E - e * sin(E)
/// M is the Mean Anomaly (angle to where body would be if its orbit was actually circular)
/// E is the Eccentric Anomaly (angle to where the body is on the ellipse)
/// e is the eccentricity of the orbit (0 = perfect circle, and up to 1 is increasingly elliptical)
pub fn kepler_equation(eccentric_anomaly: f64, mean_anomaly: f64, eccentricity: f64) -> f64 {
    mean_anomaly - eccentric_anomaly + eccentricity * eccentric_anomaly.sin()
}
\ No newline at end of file

M server/src/orbit/mod.rs => server/src/orbit/mod.rs +4 -1
@@ 1,1 1,4 @@
pub mod constants;
\ No newline at end of file
pub mod constants;
pub mod orbit;
pub mod newtonian;
pub mod kepler;
\ No newline at end of file

A server/src/orbit/newtonian.rs => server/src/orbit/newtonian.rs +24 -0
@@ 0,0 1,24 @@
use crate::orbit::kepler::kepler_equation;

pub const NEWTONIAN_STEP_SIZE: f64 = 0.0001;
pub const NEWTONIAN_ACCEPTABLE_ERROR: f64 = 0.00000001;

pub fn solve_kepler_with_newtonian(mean_anomaly: f64, eccentricity: f64, max_iterations: u64) -> f64 {
    let mut guess = mean_anomaly;

    for _ in 0..max_iterations {
        let y = kepler_equation(guess, mean_anomaly, eccentricity);

        // exit early if output of function is very close to zero
        if y.abs() < NEWTONIAN_ACCEPTABLE_ERROR {
            break;
        }

        // otherwise, update guess
        let slope = (kepler_equation(guess + NEWTONIAN_STEP_SIZE, mean_anomaly, eccentricity) - y) / NEWTONIAN_STEP_SIZE;
        let step = y / slope;
        guess -= step;
    }

    guess
}
\ No newline at end of file

A server/src/orbit/orbit.rs => server/src/orbit/orbit.rs +27 -0
@@ 0,0 1,27 @@
// Mostly stolen from SebLague's plane game
// thanks

use nalgebra::{vector, Vector2};
use crate::orbit::newtonian::solve_kepler_with_newtonian;

pub fn calculate_point_on_orbit(periapsis: f64, apoapsis: f64, t: f64) -> Vector2<f64> {
    let semi_major_length = (apoapsis + periapsis) / 2.0;
    let linear_eccentricity = semi_major_length - periapsis; // distance between center and focus
    let eccentricity = linear_eccentricity / semi_major_length; // 0: circle. 1: parabola. in between: ellipse
    let semi_minor_length = (semi_major_length * semi_major_length - linear_eccentricity * linear_eccentricity).sqrt();

    let mean_anomaly = t * std::f64::consts::PI * 2.0;
    let eccentric_anomaly = solve_kepler_with_newtonian(mean_anomaly, eccentricity, 100);

    let ellipse_center_x = -linear_eccentricity;
    let point_x = eccentric_anomaly.cos() * semi_major_length + ellipse_center_x;
    let point_y = eccentric_anomaly.sin() * semi_minor_length;

    vector![point_x, point_y]
}

pub fn calculate_world_position_of_orbit(point: Vector2<f64>, orbiting_on: Vector2<f64>) -> Vector2<f64> {
    // i have no idea if this is actually right or not
    // we'll find out
    vector![point[0] + orbiting_on[0], point[1] + orbiting_on[1]]
}
\ No newline at end of file

M server/src/planet.rs => server/src/planet.rs +31 -7
@@ 1,9 1,11 @@
use std::collections::HashMap;
use nalgebra::{Vector2, vector};
use rapier2d_f64::prelude::{RigidBodyHandle, RigidBodySet, ColliderBuilder, RigidBodyBuilder, ColliderSet};
use starkingdoms_protocol::planet::PlanetType;

use crate::{SCALE, manager::ClientHandlerMessage};
use crate::orbit::constants::EARTH_RADIUS;
use crate::orbit::constants::{EARTH_RADIUS, MOON_APOAPSIS, MOON_PERIAPSIS, MOON_RADIUS};
use crate::orbit::orbit::{calculate_point_on_orbit, calculate_world_position_of_orbit};

//const GRAVITY: f64 = 0.001;
const GRAVITY: f64 = 12.6674;


@@ 29,11 31,19 @@ impl Planet {

#[derive(Default, Clone)]
pub struct Planets {
    pub planets: Vec<Planet>,
    pub planets: HashMap<String, Planet>,
}

impl Planets {
    pub fn make_planet(planets: &mut Vec<Planet>, planet_type: PlanetType, mass: f64, radius: f64, position: (f64, f64), rigid_body_set: &mut RigidBodySet, collider_set: &mut ColliderSet) {
    pub fn get_planet(&self, planet_id: &str) -> Option<&Planet> {
        self.planets.get(planet_id)
    }

    pub fn get_planet_mut(&mut self, planet_id: &str) -> Option<&mut Planet> {
        self.planets.get_mut(planet_id)
    }

    pub fn make_planet(planets: &mut HashMap<String, Planet>, planet_id: &str, planet_type: PlanetType, mass: f64, radius: f64, position: (f64, f64), rigid_body_set: &mut RigidBodySet, collider_set: &mut ColliderSet) {
        let collider = ColliderBuilder::ball(radius / SCALE)
            .build();
        let body = RigidBodyBuilder::fixed()


@@ 43,7 53,7 @@ impl Planets {

        collider_set.insert_with_parent(collider, body_handle, rigid_body_set);

        planets.push(Planet {
        planets.insert(planet_id.to_string(), Planet {
            planet_type,
            body_handle,
            position,


@@ 53,10 63,11 @@ impl Planets {
    }

    pub fn new(rigid_body_set: &mut RigidBodySet, collider_set: &mut ColliderSet) -> Planets {
        let mut planets = Vec::new();
        let mut planets = HashMap::new();
        
        Planets::make_planet(
            &mut planets,
            "earth",
            PlanetType::Earth,
            4000.0,
            EARTH_RADIUS,


@@ 65,13 76,26 @@ impl Planets {
            collider_set,
        );

        let moon_start_point = calculate_world_position_of_orbit(calculate_point_on_orbit(MOON_PERIAPSIS, MOON_APOAPSIS, 0.0), vector![planets.get("earth").unwrap().position.0, planets.get("earth").unwrap().position.1]);

        Planets::make_planet(
            &mut planets,
            "moon",
            PlanetType::Moon,
            1000.0,
            MOON_RADIUS,
            (moon_start_point[0], moon_start_point[1]),
            rigid_body_set,
            collider_set
        );

        Planets { planets }
    }

    pub fn to_protocol(&self) -> ClientHandlerMessage {
        let mut planets = vec![];

        for planet in self.planets.clone() {
        for (_, planet) in self.planets.clone() {
            // TODO: Adjust codegen to use f64
            planets.push(starkingdoms_protocol::planet::Planet {
                planet_type: planet.planet_type.into(),


@@ 89,7 113,7 @@ impl Planets {

    pub fn gravity(&self, position: (f64, f64), mass: f64) -> (f64, f64) {
        let mut direction = Vector2::zeros();
        for planet in self.planets.clone() {
        for (_, planet) in self.planets.clone() {
            let planet_grav = planet.gravity(position, mass);
            direction.x += planet_grav.0;
            direction.y += planet_grav.1;

M server/src/timer.rs => server/src/timer.rs +24 -4
@@ 1,27 1,47 @@
use std::{time::Duration, sync::Arc};
use log::{error, warn};
use log::{warn};
use nalgebra::{vector, point};
use rapier2d_f64::prelude::{PhysicsPipeline};
use async_std::sync::RwLock;
use async_std::task::sleep;
use starkingdoms_protocol::player::Player;
use crate::{manager::{ClientHandlerMessage, ClientManager, PhysicsData}, SCALE, planet::Planets};
use crate::orbit::constants::{MOON_APOAPSIS, MOON_ORBIT_TIME, MOON_PERIAPSIS};
use crate::orbit::orbit::{calculate_point_on_orbit, calculate_world_position_of_orbit};

pub const ROTATIONAL_FORCE: f64 = 100.0;
pub const LATERAL_FORCE: f64 = 100.0;

pub async fn timer_main(mgr: ClientManager, physics_data: Arc<RwLock<PhysicsData>>, world_data: Arc<RwLock<Planets>>) {
    let mut pipeline = PhysicsPipeline::new();

    let mut time = 0.0;

    loop {
        sleep(Duration::from_millis(5)).await;
        time += 5.0 / 1000.0; // 5ms, time is in seconds

        let mut physics_data = physics_data.write().await;

        // update orbits (but dont, actually, yet)
        {
            let mut planets = world_data.write().await;

            // update earth (nothing changes, yet)
            let new_earth_position = vector![planets.get_planet("earth").unwrap().position.0, planets.get_planet("earth").unwrap().position.1];

            // update moon
            let new_moon_position = calculate_world_position_of_orbit(calculate_point_on_orbit(MOON_PERIAPSIS, MOON_APOAPSIS, time / MOON_ORBIT_TIME), new_earth_position);
            //planets.get_planet_mut("moon").unwrap().position = (new_moon_position[0] / SCALE, new_moon_position[1] / SCALE);
            //physics_data.rigid_body_set.get_mut(planets.get_planet_mut("moon").unwrap().body_handle).unwrap().set_position(new_moon_position.into(), true);
        }

        physics_data.write().await.tick(&mut pipeline);
        physics_data.tick(&mut pipeline);

        let mut protocol_players = vec![];

        {
            for (player_id, player) in mgr.players.write().await.iter() {
                let mut physics_data = physics_data.write().await;
                let player_handle = player.handle;
                let player_body = physics_data.rigid_body_set.get_mut(player_handle).unwrap();
                player_body.reset_forces(true);


@@ 74,7 94,7 @@ pub async fn timer_main(mgr: ClientManager, physics_data: Arc<RwLock<PhysicsData
                    -right_bottom_thruster * rotation.sin(),
                    right_bottom_thruster * rotation.cos()
                ];
                let scale = SCALE as f64;
                let scale = SCALE;
                let top_left_point = point![
                    -25. / scale * rotation.cos() +25. / scale * rotation.sin(), 
                    -25. / scale * rotation.sin() -25. / scale * rotation.cos()

M spacetime_py/spacetime.py => spacetime_py/spacetime.py +7 -2
@@ 15,7 15,8 @@ def scan_assets(build_root):

default_asset_size = 512
asset_override = {
    'earth.ink.svg': 2048
    'earth.ink.svg': 2048,
    'moon.ink.svg': 2048
}

def gen_inkscape_rules_for_asset_size(size, writer):


@@ 25,9 26,13 @@ def gen_inkscape_rules_for_asset_size(size, writer):


def gen_inkscape_rules_for_asset_sizes(writer):
    built_sizes_for = []
    gen_inkscape_rules_for_asset_size(default_asset_size, writer)
    built_sizes_for.append(default_asset_size)
    for override in asset_override:
        gen_inkscape_rules_for_asset_size(asset_override[override], writer)
        if not asset_override[override] in built_sizes_for:
            gen_inkscape_rules_for_asset_size(asset_override[override], writer)
            built_sizes_for.append(asset_override[override])


def asset_size(asset):