---
layout:     post
title:      "These weeks in PlanetKit #6: the joy of motion"
date:       2000-01-01
summary:    Moving entities around a geodesic grid.
tags:       rust planetkit geodesic
published:  false
---

PlanetKit is a project aimed at creating a toolkit for making interactive virtual worlds. I'm writing it in the Rust programming language, which I'm finding delightful to work with, and a great fit for the task.

This week I'm going to figure out how to move entities around between cells in my voxel world. The simple case is actually really easy (I'm effectively already doing it in generating geometry for the world), but the various edge cases add up to make it an interesting problem in the general case.

Here are my minimal criteria:

- Entities can face any one of the six sides of an ordinary (hexagonal) cell; or, equivalently, entities can face the center of any immediately adjacent cell.
    - This must also be true at each of the 12 pentagons.
- Must be able to retrace _k_ forward steps by moving backward _k_ steps and land in the cell you started at. (It might not be obvious at this point why I'd even need to mention this. Hopefully it will become clear later. TODO: move this detail into a section below?)

I'll justify and elaborate on each of these below.

Add draft of movement post
Add draft of movement post
