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

Breaking up the LCV #650

Closed
rogerhutchings opened this issue Apr 4, 2019 · 5 comments
Closed

Breaking up the LCV #650

rogerhutchings opened this issue Apr 4, 2019 · 5 comments
Labels
enhancement New feature or request
Milestone

Comments

@rogerhutchings
Copy link
Contributor

Package

lib-classifier

Feature or Issue Description

I'm not happy that the LCV is a big ball of code with no tests, so here are some thoughts:

  • We break up the LCV into a plain viewer (for Talk), viewer with non-interactive annotations (for feedback) and marking tools
  • We add tests
  • We add an event bus for the classifier to handle button interactions; there's a discussion to be had as to whether viewer state is kept in the viewer or the store, but a common interface to trigger these would be a good first step
  • We break off the LCV into a separate package, and dynamically import it when required. It comes with dependencies like D3 that won't be required

cc #366

@rogerhutchings rogerhutchings added the enhancement New feature or request label Apr 4, 2019
@rogerhutchings rogerhutchings added this to the Post-TESS milestone Apr 4, 2019
@eatyourgreens
Copy link
Contributor

#648 makes the big ball of untested code even bigger. Could feedback use a decorator: withFeedback(SubjectViewer) to add feedback marks to the viewer?

@rogerhutchings have you got time to comment over there about making feedback generic, and less coupled to the light curve viewer?

@srallen
Copy link
Contributor

srallen commented Apr 4, 2019

@eatyourgreens Mark is working on that refactor but I asked him to push up what he had done now so that we can have the UI in place for beta testing with volunteers.

@srallen
Copy link
Contributor

srallen commented Apr 4, 2019

We break up the LCV into a plain viewer (for Talk), viewer with non-interactive annotations (for feedback) and marking tools

The LCV shouldn't even be coupled with marking tools. We have an incoming project with CSSI that will want to visualize the light curves of variable stars, but the task is to identify them using the survey task, so no marking will be happening at all.

@srallen
Copy link
Contributor

srallen commented Apr 10, 2019

The LCV should be able to take props to set:

  • Axis labels
  • Zoom type: x-axis only or x and y (brush zoom)
  • Axis inversion (For LCs this is typically the y)
  • Initial zoom level

@eatyourgreens
Copy link
Contributor

In my mind, any feedback between task and subject should happen via a common parent or store. Or the subject viewer should be a child of the task component, so that the task can pass props to the subject.

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

No branches or pull requests

3 participants