Code Monkey home page Code Monkey logo

gridpaper's People

Watchers

 avatar  avatar  avatar

gridpaper's Issues

Launch the app

  1. Once the app is functioning, test the app for common plot types and use visually interesting cases as initial example state.
  2. Publicise the app on a few places (Hacker News, Product Hunt, Twitter…)

Implement the core backend

Take the source code of gnuplot, patch it and add custom wrapper JS to generate a powerful and lean WASM binary that can account for all the significant plot kinds and output formats that the app supports. This requires learning a lot about how emscripten can be used to compile gnuplot to WASM.

Write good template scripts to generate common plot types

For significant plot types, go through code used to generate them and figure out common aspects. Use this knowledge to create templates for significant plot types. These default templates should have beautiful default styling and should output in high quality to different formats.

These templates will help define the variables that need to be defined by the GUI.

Design a user interface for the application

The user interface could incorporate:

  1. A list view, with examples one can draw from.
  2. An edit view that also guides initial creation.

This interface will be used to set all the variables (within templates) and upload all the data that go into generating plots.

[notes photos]

Implement the core logic of the frontend

The interface allows users to define a lot of variables and upload data that go into the plots. The core logic needs to do multiple things:

  1. Define models for graphs, multiple layers within graphs (functions or point sets), …
  2. Convert the UI state into variables that go into the models
  3. Merge the templates, variables and data files into a complete script that can be input to gnuplot
  4. Take the output from gnuplot and render the plot on screen or offer a file for download
  5. Persist all this in local storage so that the user’s state can be saved and restored

[notes photo]

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.