Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Porting Tracker #1

Closed
35 of 41 tasks
ibgreen opened this issue Mar 9, 2020 · 2 comments
Closed
35 of 41 tasks

Porting Tracker #1

ibgreen opened this issue Mar 9, 2020 · 2 comments

Comments

@ibgreen
Copy link
Contributor

ibgreen commented Mar 9, 2020

Basic Deck/Layer/View integration (no rendering)

Ensure we have the API to drive layer diffing

Environment (2 days)

math library (1 day)

  • initial math library for 4x4 matrices, vector3 etc. (write our own but can change later).
  • Rectangle

Viewport (10 days) - @isaacbrodsky

  • Port viewport.js (Viewport base class)
  • Port web-mercator-viewport.js (WebMercatorViewport)
  • Port web-mercator-utils.js
  • Port viewport-uniforms.js
  • Port test cases

Viewport/View integration (5 days) @isaacbrodsky / @ibgreen

  • Port view.js
  • Port view-state.js
  • Port view-manager.js
  • Implement View.makeViewport
  • Port test cases

JSON Support (10 days)

  • Integrate jsoncpp (Json::Value)
  • Implement basic Component/Props system to allow props to be set from JSON.
  • Decide on how to handle properties (dynamic vs strongly typed).

Layer base class (5 days)

  • Implement layer class and property diffing
  • Test cases for layer
  • Test cases for property diffing

Deck class (5 days)

  • Scaffold Deck class.
  • Scaffold LayerManager class.
  • Implement Deck properties and property diffing.
  • Integrate layers, push layers through property diffing.

Arrow Integration (15 days)

  • Implement jsoncpp (Json::Value) to Arrow (Table) converter for inline tables.
  • Change Layer.data prop to Arrow Table
  • Make accessors to work on rows
  • If not, create Row abstraction class for table? (Layer accessors need to work on "rows")
  • Investigate if Arrow C++ Table has iteration facilities.
  • Create test cases that show CSV files being parsed into Arrow Tables
  • Create test cases that show JSON files being parsed into Arrow Tables
  • Integrate arrow vcpkg module

C++ Math Expression Parser

  • Select expression parser module
  • Add expression support to JSON converter (@@= strings)
  • Compatibility of expression syntax across JS/C++ (OK to change JS...)

Loaders

  • Add support for loading data over the network

Rendering

  • Dawn integration
  • Investigate memory leaks

Out of scope

Interactivity (P2)

controllers (2 days)

@ilijapuaca
Copy link
Contributor

Updated checklist with current progress and 0.0.1 milestone. Moving unfinished work into separate issues

@ilijapuaca
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants