Commit Graph

509 Commits

Author SHA1 Message Date
jdescottes
86cd1cdeaa fix : reduce piskel model size
+ moved Serializer and Deserializer to utils.serialization package
+ put all backward code in utils.serialization.backward
+ added static method on Deserializer to make its usage similar to other
  utils in the package
- still not happy with the names used in Deserializer classes
  (deserializer.deserialize ...)
2013-11-15 00:03:05 +01:00
jdescottes
4a1a7b6c2b fix : reduce piskel model size : ImportController
+ ImportController is no longer relying on the deserializer to build a
  piskel instance
+ Static builders have been added to Piskel and Layer to help easily
  create new instances from existing elements
2013-11-14 23:03:29 +01:00
jdescottes
e9a2ccfd1d fix : reduce piskel model size : fix import feature 2013-11-13 23:51:27 +01:00
jdescottes
df4978f6af fix : reduce piskel model size
+ piskel deserialization is now clearly asynchronous
+ added utils.Deserializer (not a singleton though, more a builder/loader)
+ utils.Deserializer constructor expects a callback
+ when all layers are loaded and piskel is ready, the callback provided by
  the client is called with piskel as the first argument
- Deserializer doesn't fit in the utils package, which should be reserved
  to singletons : can move it to service as a PiskelLoaderService, and
  Deserializer could remain with only the purely static methods
- ImportController is realying on the Deserializer to build a Piskel but
  it shouldn't. Find a way to mutualize the code necessary to create a
  Piskel from an array of pskl.model.Frame
- still cleanup to do in app.js
- comments to add as well
2013-11-13 23:39:43 +01:00
jdescottes
781abb735b fix : reduce piskel model size
- added backward compatible implementation for v1 models
2013-11-13 22:57:07 +01:00
jdescottes
4f54715f70 fix : reduce piskel model size
- Initial implementation : working but ...
- MODEL_VERSION has been bumped to 2
- The loading process is now theoretically asynchronous (loading images to
  read the content of the layers), but for now, the asynchronous behaviour
  is hidden behind a nasty hack, which is somehow similar to lazy loading.
  When loading the piskel, a Piskel is created synchronously, with fake
  empty frames, and as the images will get loaded, the fake frames will be
  replaced by the actual frames.

  I really don't like this, and the asynchronous nature of the loading
  should be clearly expressed
- There is no backward compatible deserializer for the previous version of
  the model (1)
- The Serializer utils is just badly designed. Serialization and
  deserialization should be splitted into two different classes
- Saving & loading are still done in app.js and should be moved to
  services

BUT : the size of the piskels is now pretty small. A piskel which was
using 890kB previously is now using only 10kB. Although it should be
noted, that after gzip there is no significant difference between this
version and the existing one. The only gains we can really expect with
this are : less disk space used on appengine, ability to reuse the
layers' pngs directly on piskel-website (but to be honest I can't see any
valid use case for this)
2013-11-08 00:44:24 +01:00
jdescottes
eb559eee0c fix : import-picture-panel
- When imported 1 picture and then importing another one, the picture
  preview was not cleaned and was displaying the two images side by side.
  Fixed in ImportController.js
- Switched all double-quoted strings in ImportController to single-quoted
  strings. Should enforce this using jshint
- Aligned all inputs in the import picture panel
- Renamed 'Preview :' import section to 'Info :'. Mostly it's to make it
  shorter, but also I'd like to display additional information to the
  right of the preview in the future.
2013-11-02 11:02:03 +01:00
grosbouddha
2ba451d42c Merge pull request #140 from juliandescottes/import-picture-panel
Import picture panel
2013-11-01 15:28:17 -07:00
jdescottes
2f6f0d14e1 Merge branch 'master' into import-picture-panel 2013-10-28 21:58:28 +01:00
jdescottes
a69b83e9bd Fix : layer : duplicateFrame bug 2013-10-28 21:57:59 +01:00
jdescottes
c332aa2dea import-picture-panel : IE10 CSS fix for input text with text-align:right 2013-10-25 00:32:42 +02:00
jdescottes
b2258a668d import-picture-panel : IE10 CSS fix for input text with text-align:right 2013-10-25 00:31:45 +02:00
jdescottes
a0a1fa7bdf Added preview picture. Added a flow : start with only file input enabled 2013-10-23 23:34:09 +02:00
jdescottes
3dde3504d1 Synchronize resize fields, resize image when importing 2013-10-23 01:01:35 +02:00
jdescottes
6c0f54032d Import panel 2013-10-22 07:40:08 +02:00
jdescottes
61419f0bba import panel : before removal of import from URL option 2013-10-21 23:08:12 +02:00
jdescottes
2509ba80a4 intermediary 2013-10-18 08:01:25 +02:00
jdescottes
07cb37f2bf Merge branch 'master' into import-picture-panel 2013-10-16 23:15:09 +02:00
jdescottes
1156008213 Import from file 2013-10-16 23:14:41 +02:00
jdescottes
a8b42a35da import template basic version 2013-10-16 21:43:47 +02:00
grosbouddha
721783ce6c Merge pull request #138 from juliandescottes/piskel-website-adaptations
Piskel website adaptations
2013-10-11 11:27:28 -07:00
jdescottes
f549174424 Import panel:
- added pskl.controller.settings.ImportController (empty atm)
- moved SettingsController under settings namespace
- move settings templates in a dedicated folder
- created import icon (svg is in the resources folder)
- added import button in right-layer
2013-10-11 00:04:40 +02:00
Julian Descottes
4527846ad6 PR138#commitcomment-4293036 use full namespace when specifying a classtype
See https://github.com/juliandescottes/piskel/pull/138#commitcomment-4293036
2013-10-10 13:35:18 +02:00
jdescottes
55e3607ecc Cleanup of saving/loading process 2013-10-10 00:06:11 +02:00
jdescottes
564f74265a Piskel website adaptations :
M CanvasRenderer : can set the color used to represent transparency
M app.js : modified code responsible for saving when in website mode
M PiskelController.js : just some argument renaming
2013-10-08 23:44:06 +02:00
grosbouddha
913a50cb28 Merge pull request #129 from juliandescottes/cleanup-cheap-templates
Refactor : moved cheap-templates.js to lib. Added documentation
2013-10-04 15:07:01 -07:00
grosbouddha
93ba8c70a0 Merge pull request #130 from juliandescottes/layers-backward-compatibility
Layers:Added backward compatibility for previous models
2013-10-04 15:03:27 -07:00
jdescottes
17a147c880 grrmml 2013-10-04 23:55:45 +02:00
jdescottes
1e99a051e6 Rollback of initialization sequence 2013-10-04 23:46:19 +02:00
jdescottes
894486fba6 Review : fixes 2013-10-04 23:26:53 +02:00
jdescottes
5502d75ca5 Layers:Added backward compatibility for previous models 2013-10-04 22:59:42 +02:00
jdescottes
a87b09908d Refactor : moved cheap-templates.js to lib. Added documentation 2013-10-04 22:25:47 +02:00
Vince
09da75af92 Removing external libs from Closure compiler pass 2013-10-02 00:11:03 +02:00
grosbouddha
a075a1c8b3 Merge pull request #128 from juliandescottes/feature-gif-export-panel
Feature gif export panel
2013-09-30 15:51:20 -07:00
jdescottes
2686a2e944 Layers:Review:Removed grid drawing routine : was never drawn 2013-09-30 22:44:02 +02:00
jdescottes
f514b6cd10 Layers:Review:Cleanup of GifExportController 2013-09-30 22:00:31 +02:00
jdescottes
7aa407970f Layers:Review:Rename LayersController to LayersListController 2013-09-30 21:22:58 +02:00
jdescottes
64daa05140 Layers:Review:Rename layers.html to layers-list.html 2013-09-30 21:20:40 +02:00
jdescottes
90f2fac2d3 Layers:Minor style changes 2013-09-29 23:33:40 +02:00
jdescottes
b3d1cc5ea6 Layers:Review:Added todos in cheap-templates.js 2013-09-29 23:27:23 +02:00
jdescottes
4eebff804b Layers:Review:Renamed layers-container to layers-list-container. Extracted URLs to Constant.js 2013-09-29 23:26:09 +02:00
jdescottes
76511058d1 Layers:Review:Rename renderers frame up/down to above/below 2013-09-29 23:16:32 +02:00
jdescottes
4f754c6af2 Layers:Review:Changed FrameRenderer className property to classes (array) 2013-09-29 23:14:10 +02:00
jdescottes
17ba93cc9f Layers:Review:Renamed layers canvases css classes to layers-above/below-canvas 2013-09-29 23:05:24 +02:00
jdescottes
bcf34e6e55 Layers:Review:Only one selector per line 2013-09-29 22:53:05 +02:00
jdescottes
82dda463a8 Dev environment : JSHint will raise error if trailing whitespace 2013-09-29 22:50:24 +02:00
Julian Descottes
b261884d2b Dev environment : Remove globals 2013-09-29 00:06:07 +02:00
Julian Descottes
87ba28372c Layers : Deleted js/model/Framesheet.js
No longer used
2013-09-29 00:02:21 +02:00
Julian Descottes
be9238c9b1 Layers : FRAMESHEET_RESET -> PISKEL_RESET
Framesheet no longer exists.
2013-09-29 00:01:18 +02:00
Julian Descottes
ca427e0853 Dev environment : closure compiler + jshint update
Fixed error raised by closure compiler
Added es3 option to jshint (detect trailing commas)
Added curly option to jshint (missing curly braces for if/for blocks)
Removed trailing whitespaces (not enforced through jshint though)
2013-09-28 23:52:51 +02:00