{"action":"created","issue":{"url":"https://api.github.com/repos/dahlia/wand/issues/347","repository_url":"https://api.github.com/repos/dahlia/wand","labels_url":"https://api.github.com/repos/dahlia/wand/issues/347/labels{/name}","comments_url":"https://api.github.com/repos/dahlia/wand/issues/347/comments","events_url":"https://api.github.com/repos/dahlia/wand/issues/347/events","html_url":"https://github.com/dahlia/wand/pull/347","id":257096878,"node_id":"MDExOlB1bGxSZXF1ZXN0MTQwNjIwNTQy","number":347,"title":"Refactor C-API loading, and ImageMagick 7 Support","user":{"login":"emcconville","id":84594,"node_id":"MDQ6VXNlcjg0NTk0","avatar_url":"https://avatars3.githubusercontent.com/u/84594?v=4","gravatar_id":"","url":"https://api.github.com/users/emcconville","html_url":"https://github.com/emcconville","followers_url":"https://api.github.com/users/emcconville/followers","following_url":"https://api.github.com/users/emcconville/following{/other_user}","gists_url":"https://api.github.com/users/emcconville/gists{/gist_id}","starred_url":"https://api.github.com/users/emcconville/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emcconville/subscriptions","organizations_url":"https://api.github.com/users/emcconville/orgs","repos_url":"https://api.github.com/users/emcconville/repos","events_url":"https://api.github.com/users/emcconville/events{/privacy}","received_events_url":"https://api.github.com/users/emcconville/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":21,"created_at":"2017-09-12T15:58:22Z","updated_at":"2018-08-13T16:05:57Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/dahlia/wand/pulls/347","html_url":"https://github.com/dahlia/wand/pull/347","diff_url":"https://github.com/dahlia/wand/pull/347.diff","patch_url":"https://github.com/dahlia/wand/pull/347.patch"},"body":"> This is a work-in-progress, and should not be merged. I'm opening this pull request for greater visibility, and seek testing help.\r\n\r\nThis merge request reworked all C-API method mappings into a directory/module structure mimicking ImageMagick's C headers.\r\n\r\nThe primary benefit was to reduce the complexity of the unorganized `wand.api.library`, and to incorporate all `MagickWand` 6/7 methods.\r\n\r\nThe secondary goal is to include ImageMagick 7 support. For the most part, this has been completed with a few minor TODOs. \r\n\r\n## Overview of Changes\r\n\r\n - C-API methods have been moved to the following structure.\r\n   ```\r\n   wand.api.cdefs\r\n                 .core              All MagickCore definitions.\r\n                 .drawing_wand      <drawing-wand.h> methods.\r\n                 .magick_image      <magick-image.h> methods.\r\n                 .magick_property   <magick-property.h> methods.\r\n                 .magick_wand       <magick-wand.h> methods.\r\n                 .pixel_iterator    <pixel-iterrator.h> methods.\r\n                 .pixel_wand        <pixel-wand.h> methods.\r\n                 .structures        Collection of ctypes.Structure definitions.\r\n                 .wandtypes         Ctype portability wrappers like `c_magick_char_p'\r\n   ```\r\n - `PixelInfo` replaces `MagickPixelPacket`\r\n - HDRI support\r\n - Implemented `MagickSetImageChannelMask` to replace `Magick{XXXX}Channel` methods.\r\n\r\n## Outstanding Items\r\n\r\n - [x] Rewrite `wand.image.Image.transform` as `MagickTransformImage` has been removed in IM 7.\r\n - [x] Revisite all methods/documentation for `MagickCompositeImage`. IM 7 is now more \"aware\" of dynamic channels; so naturally, behavior around `Image.composite_channel`, `Image.composite`, `Image.transparentize`, and `Image.watermark` should be reviewed.\r\n - [x] Same for `Image.alpha_channel` property.\r\n - [x] Rewrite regressions test marked `XFAIL`\r\n - [ ] Documentation. Including all \"`?.?.?`\" version placeholders.\r\n\r\n## Help with...\r\n\r\nI personally have run out of free time to finish this effort, and would love some help of the following.\r\n\r\n - Performance & Architecture Design. With all `MagickWand` methods mapped, is `wand` load time traumatically affected? Is python-caching working in an optimized manner?\r\n - Regression testing & CI. Ensure ImageMagick-6 continues to work as expected, and/or update Travis builds to include ImageMagick-7 + delegates.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/dahlia/wand/issues/comments/412571633","html_url":"https://github.com/dahlia/wand/pull/347#issuecomment-412571633","issue_url":"https://api.github.com/repos/dahlia/wand/issues/347","id":412571633,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMjU3MTYzMw==","user":{"login":"guysoft","id":325670,"node_id":"MDQ6VXNlcjMyNTY3MA==","avatar_url":"https://avatars0.githubusercontent.com/u/325670?v=4","gravatar_id":"","url":"https://api.github.com/users/guysoft","html_url":"https://github.com/guysoft","followers_url":"https://api.github.com/users/guysoft/followers","following_url":"https://api.github.com/users/guysoft/following{/other_user}","gists_url":"https://api.github.com/users/guysoft/gists{/gist_id}","starred_url":"https://api.github.com/users/guysoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guysoft/subscriptions","organizations_url":"https://api.github.com/users/guysoft/orgs","repos_url":"https://api.github.com/users/guysoft/repos","events_url":"https://api.github.com/users/guysoft/events{/privacy}","received_events_url":"https://api.github.com/users/guysoft/received_events","type":"User","site_admin":false},"created_at":"2018-08-13T16:05:57Z","updated_at":"2018-08-13T16:05:57Z","author_association":"NONE","body":"Also, assuming the cdef part is fixed - why not merge this? Its been hanging for months and it seems @dahlia approved in previous comments"}}
{"actor":{"display_login":"guysoft"}}