Commit Graph

279 Commits

Author SHA1 Message Date
Jake Archibald
1ae65dd4a1 Mozjpeg opts (#140)
* Switching to embind

* Adding options to mozjpeg wasm

* Updating packages

* Ditching enum - causing more problems than it's worth

* Adding mozjpeg options UI

* Forgot about this enum

* Bools just work
2018-08-17 16:25:28 +01:00
Jake Archibald
bff515b63f Adding changed points and coalescing to pointer tracker. Fixes #133. (#134)
* Adding changed points and coalescing to pointer tracker. Fixes #133.

* Nits and exposing native pointer
2018-08-15 15:14:33 +01:00
Jake Archibald
65c3ea826f Avoid preprocessing images that have already been preprocessed. (#125)
* Avoid preprocessing images that have already been preprocessed.

* Using cleanMerge an cleanSet, and fixing bugs in our compression.
2018-08-10 12:59:29 +01:00
Jake Archibald
602d5140f9 Konami code fix. lol. Thanks @remy. 2018-08-08 14:47:58 +01:00
Jake Archibald
44f0700332 Adding clean-set (#124)
* Adding clean-set

* Moving to our own cleanSet and cleanMerge.

* Oops, this can be simpler

* Allow the path to be a number

* Better typing
2018-08-07 12:19:06 +01:00
Jason Miller
c90db020b0 Snackbar (#99)
* Initial swing

* Finish up <snack-bar> implementation and integrate it

* Add missing types

* Use shift() since we dont care about referential equality

* Use `_` for private fields

* Remove rogue handler

* Remove impossible fallback value

* Make `<snack-bar>` actually contain its children

* will-change for the button ripple

* Guard against mutliple button action clicks

* `onhide()` -> `onremove()`

* remove transitionend

* Replace inline ref callback with linkRef

* showError only accepts strings

* Remove undefined initialization

* Throw on error

* Add missing error type.

* `SnackBar` ▶️ `Snack`

* Avoid child retaining a reference to parent, make show() return a Promise.

* async/await and avoid processing the stack if it is already being processed

* Add a meaningful return value to showSnackbar()
2018-08-06 14:32:48 +01:00
Jake Archibald
ef4094885e Easter egg (#123)
* lol zx quant

* Adding ZX option

* Improving colour selection so we don't end up with the same colour twice. Also fixing a bug with the colour conflict resolution.

* Putting it behind a konami code

* Better comments

* Adding comment

* Removing unnecessary malloc.
2018-08-06 12:42:23 +01:00
Surma
b52d9d9194 Merge pull request #122 from GoogleChromeLabs/quant-ui-fix
Quant fixes
2018-08-06 10:16:58 +01:00
Jake Archibald
d3f2836f48 Hide quantize options if original image. Fixes #120. 2018-08-02 16:59:13 +01:00
Jake Archibald
27722f77f9 Simplifying new object creation 2018-08-02 16:56:15 +01:00
Jake Archibald
3a0db14c40 Minor tweaks 2018-08-02 16:52:57 +01:00
Jake Archibald
e0dc1b48ec Creating new objects rather than mutating existing objects. Fixes #121. 2018-08-02 16:52:11 +01:00
Surma
009327c2c4 Merge pull request #115 from GoogleChromeLabs/imagequant
Implement image quantization via libimagequant
2018-08-01 12:50:08 +01:00
Surma
b16d60b52b No name on preprocessors 2018-08-01 12:36:31 +01:00
Surma
c550fe9283 Refactor preprocessors module 2018-08-01 12:32:45 +01:00
Surma
dce4fc70ac Clean up imagquant codec 2018-08-01 12:19:44 +01:00
Surma
b3f3ecbf28 Actually respect numColors lol 2018-07-31 12:46:32 +01:00
Surma
e8c0ddfc7f Remove lambda from JSX 2018-07-31 12:41:02 +01:00
Surma
a002b376af Hook up options UI to quantizer 2018-07-31 12:32:37 +01:00
Surma
2165383da4 Start integrating quantizer in the main data flow 2018-07-30 16:54:30 +01:00
Surma
5fbf6b297f Hardcode quantization pass 2018-07-30 16:28:37 +01:00
Surma
9d5ad83ff8 Transpile libimagequant 2018-07-30 15:51:57 +01:00
Paul Kinlan
07f17dece2 Adding Travis Support (#113)
* Adds travis script that will build the project whenever the master branch is updated.

The key to upload is in travis env variable.

Note: This does not yet run the test suite, it will deploy if the build is successful.
Note: it has to build twice, because the first build will fail due to a loader issue.
2018-07-30 15:47:00 +01:00
Jake Archibald
f2f467ecb8 WebP encode options (#110)
* Flailing

* Holy shit struct binding

* Options in the encoder!

* Integrating webp options

* Addressing feedback

* This isn't needed anymore
2018-07-27 14:06:45 +01:00
Surma
2ea9e22b52 Merge pull request #91 from GoogleChromeLabs/webp-decoder
WASM WebpDecoder
2018-07-20 11:13:09 +01:00
Surma
4ee5572d2f Jake’s thoroughness is doing my head in :P 2018-07-20 11:12:42 +01:00
Surma
df7e112d22 Nits by Jake 2018-07-20 10:58:07 +01:00
Surma
13ac3ed5b2 Use createImageBitmap as hailmary 2018-07-20 10:56:40 +01:00
Surma
b7c223bc0d Remove baseline image decoders, refactor decodeFile 2018-07-20 10:56:40 +01:00
Surma
0f08121596 Implement mime type sniffing 2018-07-20 10:56:39 +01:00
Surma
b15545402a Adressing smaller review comments 2018-07-20 10:56:39 +01:00
Surma
b310c97044 Smaller inline webp image 2018-07-20 10:56:38 +01:00
Surma
307c6b05ae Write out logging command 2018-07-20 10:56:38 +01:00
Jason Miller
77a6d21924 show decode errors reliably. 2018-07-20 10:56:37 +01:00
Surma
d22a343378 Actually move decoding to worker 2018-07-20 10:56:37 +01:00
Surma
790a5b580d Set up decoder infrastructure 2018-07-20 10:56:36 +01:00
Jake Archibald
6e8f8bbe41 Vertical two-up (#100)
* Fixing bad property name.

* Allowing two-up to work vertically at smaller widths.

* Switching to orientation attr

* Fixing type and getter/setter behaviour
2018-07-20 09:32:18 +01:00
Jake Archibald
cc9d01a9ab Basic webp integration (#103) 2018-07-17 10:37:42 +01:00
Paul Kinlan
526520c399 Adds support for onpaste #97 (#98)
* Adds support for onpaste #97

+ file-drop listens for onpaste, if there is data and it matches the
   type it will use that and raise a custom event
+ Adds a new event on file drop 'onfiledrop'
+ App listens for this event and will map to onFileDrop

* Hoisting getFileData

* The linter seems to think Array.from is of type File, when it's not.

* Remove an entire type of event handler.
+ Removes onfilepaste, joins into 'onfiledrop'
+ Adds 'action' to let you distinguish between the paste or drop
+ Updates app so it just uses the one event.

* Fixing PR issues

+ null return types >>> undefiend.
+ FileDropAction type.
+ remove coercsion on the array types.
2018-07-16 14:00:47 +01:00
Jason Miller
acbc31bc35 Merge pull request #96 from GoogleChromeLabs/fix-mjs-errors
Fix errors arising from strict .mjs handling
2018-07-10 10:59:06 -04:00
Jason Miller
e8e151a926 Fix errors arising from strict .mjs handling. 2018-07-10 10:57:11 -04:00
Jason Miller
835a537c55 Fix lint issues resulting from switching to airbnb (#94)
* Fix lint issues resulting from switching to airbnb.

* Case sensitivity change

* Fix lint script to actually lint tsx files
2018-07-10 14:01:09 +01:00
Jason Miller
23ea9fad49 Merge pull request #89 from GoogleChromeLabs/mjs
Switch to .mjs for ES Modules.
2018-07-09 15:45:35 -04:00
Surma
491280935a Merge pull request #92 from GoogleChromeLabs/fix-workers
Rename encoding worker so it actually runs in a worker
2018-07-04 15:48:22 +01:00
Jason Miller
900eda9a8e Rename encoding worker so it actually runs in a worker 2018-07-04 10:35:16 -04:00
Jason Miller
38d0057833 Switch to .mjs for ES Modules. Fixes #88. 2018-07-04 10:02:20 -04:00
Jake Archibald
3867448aad All the encoders that Chrome/Safari/Firefox support out of the box. (#74)
* All the encoders that Chrome/Safari/Firefox support out of the box.

* Typo
2018-07-02 19:10:10 +01:00
Jake Archibald
807a76d443 Adding download support. Fixes #47. 2018-07-02 19:04:09 +01:00
Jake Archibald
3e26a0a3cc Fixing file drop for Safari & Edge (#73) 2018-07-02 18:55:46 +01:00
Jake Archibald
68729979e3 Adding browser's webp encoder (#72)
* Adding WebP (without feature detect in place)

* Adding WebP check

* Remove unused import
2018-07-02 15:49:52 +01:00