Opened 9 years ago
Last modified 6 weeks ago
#16650 needs_work enhancement
Integrate APNG into show and save methods
Reported by: | gagern | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | graphics | Keywords: | notebook, animate |
Cc: | niles | Merged in: | |
Authors: | Martin von Gagern | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | u/gagern/ticket/16650 (Commits, GitHub, GitLab) | Commit: | 6c6eee310cbf66cbb954f423eb4d14592ef6e1fc |
Dependencies: | #7298, #16571 | Stopgaps: |
Change History (17)
comment:1 Changed 9 years ago by
Status: | new → needs_review |
---|
comment:2 Changed 9 years ago by
Branch: | → u/gagern/ticket/16650 |
---|---|
Created: | Jul 12, 2014, 6:32:18 PM → Jul 12, 2014, 6:32:18 PM |
Modified: | Jul 12, 2014, 9:31:24 PM → Jul 12, 2014, 9:31:24 PM |
comment:3 Changed 9 years ago by
Commit: | → 83d734ce657f10bdc7472d88aa4ab2035a8e4c66 |
---|
comment:4 Changed 8 years ago by
Milestone: | sage-6.3 → sage-6.4 |
---|
comment:5 Changed 8 years ago by
Commit: | 83d734ce657f10bdc7472d88aa4ab2035a8e4c66 → 1e4de99ab3ab7f16cb4451015d3b975135ff81df |
---|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
bc9f681 | Merge fix of standard example animation into APNG branch.
|
780e614 | Proper hyperlink formatting in animate documentation.
|
10f8e52 | Make number of frames available after rendering using generator.
|
941170b | Add APNG support.
|
3a99225 | Merge ticket/16645 into ticket/16571 to deal with conflict.
|
f0bfc49 | Allow embedding animations into tables.
|
2fb3d6a | Mark test saving GIF as optional.
|
f61d9d1 | Merge branch ticket/7298 into ticket/16571 to create ticket/16650.
|
1e4de99 | Add support for APNG to Animation.save().
|
comment:6 Changed 8 years ago by
Commit: | 1e4de99ab3ab7f16cb4451015d3b975135ff81df → f5fc85780877227c7c5abecec684f102595a5d33 |
---|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
e216b92 | Make number of frames available after rendering using generator.
|
b057e61 | Add APNG support.
|
f347d4c | Doctests for each method of APngAssembler using tracing fixture.
|
7d2531d | Details on my APNG contribution in module documentation.
|
dc0067d | Base Animation.show on Animation.save, and pass more arguments.
|
4e9101f | Create HTML to embed generated GIF in notebook.
|
e4807cc | Support HTML5 video tag.
|
2f6a670 | Allow embedding animations into tables.
|
d0e89d5 | Merge branch ticket/7298 into ticket/16571 to create ticket/16650.
|
f5fc857 | Add support for APNG to Animation.save().
|
comment:7 Changed 8 years ago by
Cc: | niles added |
---|
comment:8 Changed 8 years ago by
Status: | needs_review → needs_work |
---|
The recent changes from #17234 prevent our dependency #7298 from being merged, and at the moment I'm far from sure how to rebase that code, see comment:48:ticket:7298. Once I get that rebased, there is one question regarding this ticket here as well:
Should we reuse the PNG format description, or introduce a new one?
On the one hand, APNG (as opposed to MNG) is very much about graceful degradation, so it makes sense to treat it as PNG in most places. On the other hand, perhaps the display manager can decide whether a client is actually capable of displaying APNG or not. If so, we might prefer supported APNG over GIF, but GIF over unsupported APNG interpreted as still PNG. If the display manager does not know about APNG support, but does know that PNG is supported, then the user should at least be able to choose APNG format manually, even though it might not be the auto-selected default in that case.
comment:9 follow-up: 10 Changed 8 years ago by
Do not reuse OutputImagePng
, that is for non-animated png.
Another basic output format should be a sequence of PNG, which can easily be displayed in a web browser with javascript (embed images as necessary). Perhaps the easiest animation format.
comment:10 Changed 8 years ago by
Replying to vbraun:
Another basic output format should be a sequence of PNG, which can easily be displayed in a web browser with javascript (embed images as necessary). Perhaps the easiest animation format.
I'm not sure how much such a format would suffer from HTTP overhead, particularly for a large number of small frames. I guess it depends on the network connection (for the cloud in particular) whether that factor outweights the overhead of concatenating all PNGs to a single APNG file.
But if you are willing to use custom JavaScript code for animations, you could also use existing code which provides APNG support on browsers which don't support it natively.
comment:11 Changed 8 years ago by
I'm thinking about base64-encoded inline images, especially since IPython doesn't allow you to return arbitrary collections of files. Though an apng polyfill would work, too.
comment:12 Changed 7 years ago by
I intend not to work on this until #7298 gets reviewed and ready for merge.
comment:13 Changed 7 years ago by
Commit: | f5fc85780877227c7c5abecec684f102595a5d33 → de1dcbb0c93ab5364001b361d3616ed87a46a0da |
---|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
a8d97b7 | Trac #7298: Enable HTML5 video in the Sage Notebook
|
f6e6412 | Trac #7298: Implement output types for various video container formats
|
ea5dfe2 | Trac #7298: Drop support for the autoplay and controls attributes for video
|
de1dcbb | Add support for APNG to Animation.save() and Animation.show(format="png").
|
comment:14 Changed 7 years ago by
Commit: | de1dcbb0c93ab5364001b361d3616ed87a46a0da → 6c6eee310cbf66cbb954f423eb4d14592ef6e1fc |
---|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
6c6eee3 | Trac #16650: Add support for APNG to Animation.save() and Animation.show().
|
comment:15 Changed 7 years ago by
Status: | needs_work → needs_review |
---|
Since #7298 received a positive review just now, here is a rebased version of this modification here. With the new rich representations framework, there was a lot more to do than in the original commits. But it integrates APNG nicely with all the rest.
comment:17 Changed 6 weeks ago by
Milestone: | sage-6.4 |
---|
Only the last commit is really new. The merge before that did resolve a conflict, but in a pretty obvious way. Everything else is from the named dependencies.
Last 10 new commits:
Proper hyperlink formatting in animate documentation.
Add APNG support.
Turn generator into list when rendering frames.
Fix frame size for standard example animation.
Merge fix of standard example animation into APNG branch.
Base Animation.show on Animation.save, and pass more arguments.
Create HTML to embed generated GIF in notebook.
Support HTML5 video tag.
Merge branch ticket/7298 into ticket/16571 to create ticket/16650.
Add support for APNG to Animation.save().