Code Monkey home page Code Monkey logo

alliescalc's People

Contributors

ociaw avatar

Watchers

 avatar

alliescalc's Issues

Rework WASM interface

Currently the WASM interface is a bit of a hodgepodge, and was just something to get things up and running. wasm_bindgen doesn't support generics (lifetime- or type- parameters), so we need to come up with a way to present the API fairly cleanly.

Select a new charting library

We currently use ApexCharts for charting. However, it bloats the download size significantly, and becomes rather slow generating charts with lots of bars.

A suitable replacement must:

  • Support grouped bar charts (for attacker vs defender comparison)
  • Support line charts (for probability graphing)
  • Support export to an SVG file in some manner (save-as within the browser is ok)
  • Good performance with several hundred data points
  • Small size

Look into using fixed-point numbers for probabilities

Since we're just representing probabilities between 0 and 1 inclusive, we don't need a lot of the features of floating point numbers. We don't need to worry about numbers greater than 1 or less than 0. Additionally, very small probabilities would be pruned out in most instances anyway. The U1F63 type from fixed seems to fit this use case very well.
Potential benefits include better performance (since we're dealing with integers) and arguably better precision.

Add more Rulesets

More Rulesets help to prove the robustness and flexibility of the design. We need to identify a variety of new rulesets to add, ideally both ones that are similar to A&A 1942 2E, and ones that are very different.
Axis & Allies Toolkit supports 1940 Global 2E and 1941 as well, so we can probably support those fairly easily as well.

Polish UI

The UI is a bit utilitarian and kinda spews the data at the user.

  • Stylize the header, maybe add some help text and usage information.
  • Force setup needs to be more mobile-friendly.
  • Clean up the round chart, maybe separate into different different charts.
  • Hide raw data by default, try to make it more mobile friendly as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.