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

Add visual diff #238

Closed
8 tasks
davelab6 opened this issue Jan 13, 2014 · 5 comments
Closed
8 tasks

Add visual diff #238

davelab6 opened this issue Jan 13, 2014 · 5 comments
Assignees
Labels

Comments

@davelab6
Copy link
Contributor

Following #246,

  • Change the deploy script to not delete the previous built, but deploy each subdirectory of /builds/ (that is, all the $gitHash.buildID/ directories) to the gh-pages branch
  • Change the AngularJS browser to enable comparing builds.

First thing is a timeline browser. Simplest thing would be a paginated table with a list of the builds, like in the old FontBakery Web App, that allows you to select 2 builds and hit a compare button.

(In the future this will become a long list, so filtering will be needed. To limit the table to a smaller time span, a graph like a Github year-long block graph of activity could work well to visualise intensity of activity:

screen shot 2014-11-12 at 3 18 55 am

If this could be 'scaled' up to decade and down to month, week, day, you could pick an interesting way point easily. But that's for far in the future.)

  • There should be a toggle/checkbox to show/hide unchanged files
  • First comparison is of directory tree structure.
    The addition/removal of files could be done with the existing JSON-Diff JS that is used to compare METADATA.json files, if a python os.walk() is used to output a JSON representation of the directory that is deployed... However, we also need to show filesize changes, so perhaps it could be done with a 2 pane (or 2+ pane) view like http://meldmerge.org uses.
  • Second comparison is what files changed. For glyphs, we can use Computer Vision to detect when a glyph changes, and by how much, and then show a table of the glyphs that have changed, like http://nodebox.github.io/opentype.js/glyph-inspector.html , using each of the different comparison modes shown in http://xuv.github.io/design-with-git/
  • When you select a text file from the first comparison mode, we can show a regular diff.
  • When you select a YAML file from the first comparison mode, we can show a YAML diff like we do for METADATA.json
  • When you select a XML file from the first comparison mode, we can show a XML diff

(Again, the old Font Bakery Web App did the YAML/XML diff and might have code we can reuse)

@davelab6
Copy link
Contributor Author

@andriyko do you think you may complete this before Dec 1? :)

@davelab6 davelab6 modified the milestones: 2.0, 2014-Q4 Week 35 Nov 19, 2014
@davelab6
Copy link
Contributor Author

Okay, no time for this year :)

@davelab6
Copy link
Contributor Author

Similar discussion at googlefonts/roboto-2#30

@davelab6
Copy link
Contributor Author

google/fonts#24 fixed an issue that this should be catching

here are the broken originals:

screen shot 2015-06-27 at 1 11 05 am

screen shot 2015-06-27 at 1 11 09 am

Here are the fixed fonts:

screen shot 2015-06-27 at 1 10 16 am

screen shot 2015-06-27 at 1 10 21 am

@graphicore has developed a project specific comparison tool which could be the basis for something PhantomJS based here: http://tarobish.github.io/Jomhuria/#tests/collision-above-3

@davelab6
Copy link
Contributor Author

davelab6 commented Jul 6, 2016

If winniethemu/tiff#2 is closed, potentially embed tiff :) There are now more font diffing tools; https://typeresources.github.io/glyph-gazer/ and https://github.com/googlei18n/fontdiff and perhaps more.

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

No branches or pull requests

4 participants