TLDR
Setting up Neovim IDE for development. Scaffolding the frontend code repo with previous JSFiddle hexagon CSS. Doing math / writing logic for positioning “Settlement” pieces on the board.

Main work
- Configuring Neovim from scratch for TypeScript, Angular, Java, and general text editing.
- Setting up Angular repo and copying over the JSFiddle work I did while testing hexagon layouts.
- Continuing to wrestle with awkward grid / math of hexagons.
Challenges
- Want to use / configure a Neovim IDE to see what the developer experience is like. Neovim has a big learning curve and a lot of manual setup.
- Learning curve of keyboard shortcuts is high, but it is obvious that never leaving your keyboard lets you work very quickly.
- Very tempting to just configure typical VS Code setup and start writing code.
- Even after laying out the
Settlementcomponents nicely, I’m unsure how I should reference them. For now, I will just use the indices shown in the image.- This is not very easy for human reference though. Down the line, it would be cool to reference moves similar to Chess (e.g., move / square “e4”).
Learnings
- Neovim heavily leverages Language Server Protocols (LSPs) to provide formatting, code analysis, and code suggestions for many languages.
- “Packer” lets you easily add packages to Neovim, like the aforementioned LSPs and other things like colorschemes, keybindings, etc.
- Already obvious that Angular’s modularity is very helpful for encapsulting complex logic (e.g., computing
topandleftfor eachSettlementcomponent).