{"action":"created","issue":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/wetzel/issues/4","repository_url":"https://api.github.com/repos/AnalyticalGraphicsInc/wetzel","labels_url":"https://api.github.com/repos/AnalyticalGraphicsInc/wetzel/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/AnalyticalGraphicsInc/wetzel/issues/4/comments","events_url":"https://api.github.com/repos/AnalyticalGraphicsInc/wetzel/issues/4/events","html_url":"https://github.com/AnalyticalGraphicsInc/wetzel/pull/4","id":213898783,"number":4,"title":"Add support for json-schema-04","user":{"login":"HowardWolosky","id":22158599,"avatar_url":"https://avatars3.githubusercontent.com/u/22158599?v=3","gravatar_id":"","url":"https://api.github.com/users/HowardWolosky","html_url":"https://github.com/HowardWolosky","followers_url":"https://api.github.com/users/HowardWolosky/followers","following_url":"https://api.github.com/users/HowardWolosky/following{/other_user}","gists_url":"https://api.github.com/users/HowardWolosky/gists{/gist_id}","starred_url":"https://api.github.com/users/HowardWolosky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HowardWolosky/subscriptions","organizations_url":"https://api.github.com/users/HowardWolosky/orgs","repos_url":"https://api.github.com/users/HowardWolosky/repos","events_url":"https://api.github.com/users/HowardWolosky/events{/privacy}","received_events_url":"https://api.github.com/users/HowardWolosky/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2017-03-13T21:12:21Z","updated_at":"2017-03-17T22:50:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/wetzel/pulls/4","html_url":"https://github.com/AnalyticalGraphicsInc/wetzel/pull/4","diff_url":"https://github.com/AnalyticalGraphicsInc/wetzel/pull/4.diff","patch_url":"https://github.com/AnalyticalGraphicsInc/wetzel/pull/4.patch"},"body":"The glTF spec has been updated to be based on\r\n[json-schema-04](https://tools.ietf.org/html/draft-fge-json-schema-validation-00)\r\nas opposed to the previous [json-schema-03](https://tools.ietf.org/html/draft-zyp-json-schema-03).\r\n\r\nThat change rendered wetzel obsolete since it could no longer handle schema references\r\nor \"required\" validation.\r\n\r\nThis change updates wetzel to support json-schema-04 and have feature parity with\r\nwhat it output with the equivalent glTF schema file written using json-schema-03.\r\n\r\n> A coming change will further enhance wetzel to understand the different custom\r\n> object types and provide markdown references between those generated types.\r\n\r\nIn this change, the following has happened:\r\n\r\n* Extracted all of the style definitions to a separate `style.js` file and updated all references.\r\n* Updated the markdown generator to choose a schema \"resolver\" based on the version\r\n   of the schema being used:\r\n   * A set of three functions were previously used to merge all schema references into\r\n     a single schema that could then be used for generating the markdown content:\r\n      * `replaceRef` - replaced json schema references with the actual json content\r\n      * `extend` - identified all the `extend` integration points and merged in the content\r\n        of the referenced schema\r\n      * `mergeProperties` - helper function used in conjunction with `extend`\r\n   * Extracted the `replaceRef` function to its own file (`replaceRef.js`).  Also swapped the order\r\n   of the parameters to better denote the priority of each parameter.\r\n   * Moved `extend` and `mergeProperties` into new file `schema3Resolver.js`\r\n   * Created a new `schema4Resolver.js` that has similar functionality, but will create the same\r\n     end result with files based on schema4.\r\n   * Updated `generateMarkdown.js` to choose the right \"resolver\" based on schema version.\r\n* A new `-w` / `--suppressWarnings` option has been added that causes wetzel to not print\r\n  out the warnings that it would otherwise normally print out during normal operation,\r\n* A new `-d` / `--debug` option has been added that causes wetzel to spit out intermediate\r\n  artifacts during processing in order to help with the debugging process.\r\n* Updated `.gitignore` to ignore IDE environment files used by\r\n   [Visual Studio Code](https://code.visualstudio.com/).\r\n* Added [JSDoc](http://usejsdoc.org/) documentation for the majority of the code being touched.\r\n  The remainder of the code missing JSDoc documentation will likely get it added in subsequent\r\n  changes."},"comment":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/wetzel/issues/comments/287490215","html_url":"https://github.com/AnalyticalGraphicsInc/wetzel/pull/4#issuecomment-287490215","issue_url":"https://api.github.com/repos/AnalyticalGraphicsInc/wetzel/issues/4","id":287490215,"user":{"login":"HowardWolosky","id":22158599,"avatar_url":"https://avatars3.githubusercontent.com/u/22158599?v=3","gravatar_id":"","url":"https://api.github.com/users/HowardWolosky","html_url":"https://github.com/HowardWolosky","followers_url":"https://api.github.com/users/HowardWolosky/followers","following_url":"https://api.github.com/users/HowardWolosky/following{/other_user}","gists_url":"https://api.github.com/users/HowardWolosky/gists{/gist_id}","starred_url":"https://api.github.com/users/HowardWolosky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HowardWolosky/subscriptions","organizations_url":"https://api.github.com/users/HowardWolosky/orgs","repos_url":"https://api.github.com/users/HowardWolosky/repos","events_url":"https://api.github.com/users/HowardWolosky/events{/privacy}","received_events_url":"https://api.github.com/users/HowardWolosky/received_events","type":"User","site_admin":false},"created_at":"2017-03-17T22:50:24Z","updated_at":"2017-03-17T22:50:24Z","body":"I also have another branch off my fork that builds off this change that's ready for a PR, but I'm not submitting it yet since it would be confusing since from the perspective of wetzel/master, it contains both of these changes.\r\n\r\nYou can see the [result here](https://gist.github.com/HowardWolosky/7afbf6016c0b3e7e1d512071573d9e34) though.  It generates the full documentation, with auto-intertype linking and schema file references.  I tried to have the output as closely match what the [1.0 schema documentation](https://github.com/KhronosGroup/glTF/blob/master/specification/1.0/README.md) looks like, within reason."}}
{"actor":{"display_login":"HowardWolosky"}}