To do lists (by date) - nino-c/mr-code-switcher GitHub Wiki

Early May 2016

  • logged-in user: add ability to select specific snapshots to display in collections

  • main page design
    • simplify -- show bg-app more prominently
    • app listing
    • list top n apps, with more... list by name, show category only on lower level
      • sequences of thumbnail images, improve directive to always load integral multiple of #-per-row
      • image plerper (add anim)
    • homogenize imagesets, add 1 largest per app

completeness: 4/5


  • verify vectorparams working on update and save

    • color to number
    • compare to older
  • if no seed, request to app-ordered fails (3D maze)

completeness: 9/10


  • seedify bg-app
    • keep b&w
    • operator overloading
      • solution 1: compile at runtime
      • [x not good] solution 2 (better for now?): convert all vec operations to sylvester
      • solution 3: easiest: django templates with real javascript instead of eval()
      • solution 4 [CHOSEN]: use directive for all canvases!

completeness: 5/5


  • lazy loading

completeness: 0/5


  • main instance page

    • mobile -> seed editor as popup only
    • work in reactive sizing into userapps themselves?
  • category only if enabled

  • popularity indeces

  • ordering

  • popularity

Late April 2016

  • verify vectorparams working on update and save
  • rethink (simplify) layout of front page to show bg-app more
  • seedify bg-app
    • keep b&w
    • operator overloading
      • solution 1: compile at runtime
      • solution 2 (better for now?): convert all vec operations to sylvester
  • infinite-scroll (lazy loading)
  • sequences of thumbnail images, improve directive to always load integral multiple of #-per-row
  • play-through
  • main instance page
    • mobile -> seed editor as popup only
    • work in reactive sizing into userapps themselves?

Early April 2016

!LSO

remaining 4-13

  • make login/signup template/navigation consistent
  • disable signup
  • change z-index of loader to make toolbar buttons clickable!
  • aws-serv:
    • socketio bug
  • ensure seedvals always parsed and are consistent
  • seed-vector ordering
  • increment popularity upon view of things
  • iPhone vertical layout
  • create seed->psqlcol transform for indexing by seed-vector
  • order display of instances on app-detail page
  • enforce 1 unique instance per seed-vector

remaining 4-08

  • instance-sets (automatization of snapshots and instance creation by varying 1 seed param through set of values)
    • user control
    • function

other

  • redesign main layout and flow (simplified)
    • seed editor, bottombar bugs
    • change seed editor into seeddisplay and mdDialog
  • multiple canvas / paper issue
    • make one directive for both canvases (did iframe instead)
    • snapshots
  • rework instance creation
  • remove multi-user elements (equivalent to user-not-logged-in)
  • check security in API
  • add extra panel for featured mathematical expression display
  • add algebraeic symmetry subgroups app
  • fractal trees, add color2 on last iteration for creation of flowers as well as trees

other

  • enforce only one instance per seed vector
  • make seed editor movable / transparent / collapsable
    • well, smaller anyway
  • add fork-app feature
    • track parent-app hierarchy
  • add hook for music viz through user-app editor

Late March 2016

Front-end

  • codemirror does not show text until clicked
  • in instance display: upon change seed values, does not clear canvas fully before redraw
    • 2-dim maze only?

General

  • mathjax not redrawing on some navigation

Symbolic math

  • "sin(x)cos(y)" without space does not parse

    • review sympy parser options
  • add handlers to ensure canvas clear upon instance destroy

  • make music stop upon app destroy

mar 25

  • integrate audio analysis, music viz capability
  • colorpicker input in seededitor
  • repair resaving and re-running of app, (after seed-struct refactoring)
  • finish implementing start() and destroy() interface for all apps
    • remove event listeners
    • delete vars?
    • on Three.js, extra canvases must be removed
  • eval coffeescript
  • modularize functions in apps -- CodeModule
  • modularize functions in apps -- SavedFunction
    • make sure it works with paper (outside inclusion has shown to be problematic in past)
  • app-editor: on load larger source, need loading spinner on codemirror textareas

Early March

front-end

  • re-integrate previous work linking sympy backend to parse (mathematical -> javascript -> latex) expressions

    • slight reconfiguring of seedStructure specs, add "math" datatype
  • upon edit seedStructure, append default to existing instances' seeds

  • finish implementing "color" datatype in seed editor

specific apps

Maze-2d

  • multiple solvers still showing when many different instances are viewed back-to-back

style / templates

  • login/account right-end topbar

  • top bar

    • transparent/not-transparent anim
  • bottom bar covering seed-editor codemirror window

  • delete instance

  • save-as-new-instance function

  • save-as-new-instance button should re-execute app IF seed changed

  • automatic screenshot each seed-change

  • fix paper.js new-seed redraw bug

  • add catch for syntax error in seed structure

  • add "loading" indicator on:

    • load instance
  • seed editor

    • fix 2-way binding
      • (fixed, but not as cleanly as I would have liked)
        • (should have used component/directive -- perhaps the problem is the fact that the scope for this is within a call to eval())

instance display page

  • on reload instance, canvas seems to be getting cleared, but variables from the eval()-ed scope need to be wiped. (Why are elements of the previous instance rendering still showing) [easyfix: reload page -> :(]

  • after take snapshot on load page, when navigate back -- bindings do not render in template!

    • this one seems to be a fluke that may have been fixed by correcting something in instance.js ?? [to re-investigate]
  • instantiate function

  • add apps:

    • fractal trees
    • musicviz
      • assemble playlist

Feb. 11, 2016

  • design UI with angular-material, html-component first
  • merge back existing angular app plsysApp

Feb. 3, 2016

to research:

  • CSRF tokens (or lack of them) in AJAX requests with rest_framework
    • snapshot feature has a successful ajax POST (but obvious security hole to fix later)
      • so why new symbolic_math/latex function returning 403?

to do:

  • layout of main apps page
  • correct automatic symbol slicing error on symbolic_math latex function
  • add special handling for three.js scripts, different snapshot function for WebGL, etc.

Feb. 2, 2016

seed display / editor

seed display for polynomial landscape

  • incorporate latex (compile on server with sympy)
  • 3 seeds:
    • display:
      • full function in latex/mathjax
      • projection matrix in latex/mathjax
      • target color (only splotch, no number)
      • (edit icon or cog beneath)
    • editor:
      • small modal window
      • 1 field for each coefficient (use sympy to compute the list of coeffecient combinations

(seed editor edits the ACTUAL seeds from the JSON -- an app may choose to display something on the "fancy screen", meaning it is always present. Everything else, accessible only by cog)


ordered tasks: ("before I can do __ , I need to do ___") ::repeat

  • investigate sympy [chosen] vs. sage for latex generation
  • add server-side hooks for math. processing (symbolic_math module)
  • map between js, sympy, and math. function syntax
  • latex/mathjax on screen

Feb. 1, 2016

to learn:

  • SASS or SCSS
    • [LESS chosen and implemented]

to do on plerp tonight:

  • function in 1 var, 1 param
    • add string inputs to seed-editor (most of work tonight on seeds)
  • modularize paperscript code-groups (cartesian plane setup, for example) into includable-by-user modules