{"id":14053,"date":"2018-01-22T09:07:55","date_gmt":"2018-01-22T09:07:55","guid":{"rendered":"https:\/\/coherent-labs.com\/?p=14053"},"modified":"2018-01-26T16:09:36","modified_gmt":"2018-01-26T16:09:36","slug":"the-new-gt-debugger-overview","status":"publish","type":"post","link":"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/","title":{"rendered":"The new GT Debugger overview"},"content":{"rendered":"<p>Coherent GT 2.0 supports the whole WebKit Inspector protocol and allows for live viewing, editing and debugging of the UI even when the client application is running. This increases the productivity of UI programmers and designers immensely as they can directly work on the live interface without stopping the game, recompiling or restarting. In this tutorial, we will look at the new features of the GT 2.0 Debugger.<\/p>\n<p>Let&#8217;s start with the overview, open a sample with GT 2.0. Open the new Debugger and navigate to port `http:\/\/127.0.0.1:19999`.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14055 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/debugger.jpg\" alt=\"C oherent GT  UI debugger\" width=\"1282\" height=\"750\" \/><\/p>\n<p>\u0422he Debugger&#8217;s navigation bar consists of seven tabs. You can close a tab from its exit button or restore it from the button with the + sign. At the end of the navigation, there is a button that provides quick access to your Debugger settings. Since the Debugger has a completely new look, there are tooltips that appear when you hover over the icons, to help you get used to the new interface easier.<\/p>\n<p>One of the most exciting new features is the ability to open the Debugger in Inspect Element mode by pressing <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-14073\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/inspectMode.jpg\" alt=\"inspect mode\" width=\"27\" height=\"25\" \/>\u00a0 button or using the shortcut\u00a0<code>Ctrl + Shift + C<\/code>. While you are in this mode, hover over an element in the scene. The element will automatically be highlighted in the Elements panel. Click on the element to exit Inspect mode while keeping the element highlighted within the Elements tab.<\/p>\n<p>Now let&#8217;s take a look at each one of the tabs.<\/p>\n<h3><strong>Elements<\/strong><\/h3>\n<p>The page with all its current state is shown. You can hover over elements and they will be highlighted in the scene. On the right side of the Debugger, there is a menu that allows you to inspect the DOM nodes, the CSS styles (you can filter the computed styles, the rules or the visual styles) and the Layers. All properties of the elements are editable and changes will be immediately visualized in the live application. If you want to change a DOM element&#8217;s color instantly, go to the Styles Rules view and click on the color&#8217;s value sample. A color picker popup will appear, enabling you to change the color. It works properly with RGBA, HSLA and HEX values.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14056 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/colorpicker.jpg\" alt=\"User Interfarce debbuging tool\" width=\"1278\" height=\"748\" \/><\/p>\n<p>From the Elements tab, you can check what gets re-drawn by pressing the following button (highlighted with red):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14057 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/drawn.jpg\" alt=\"UI debbuging drawn elements\" width=\"1275\" height=\"329\" \/><\/p>\n<p>Coherent GT re-draws only parts of the View that have changed between frames. It is very important to keep re-drawn regions to the bare minimum. Redundant changes in the DOM like setting CSS styles with tiny differences can cause no visual change but still trigger a re-paint. Users should regularly check the behavior of the page and make sure that no redundant and avoidable re-draws are triggered. With this button you can check visually what gets re-drawn (the elements with red borders):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14058 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/repaints.jpg\" alt=\"UI debbuging repaint elements\" width=\"1282\" height=\"744\" \/><\/p>\n<p>You can also check the UI Layers by pressing the following button (highlighted with red):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14059 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/layersBtn.jpg\" alt=\"UI debbuger tool layers button\" width=\"1278\" height=\"330\" \/><\/p>\n<p>Some elements in the page will get their own backing layer (the elements with gray borders):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14060 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/layers.jpg\" alt=\"UI debbuging layers\" width=\"1279\" height=\"744\" \/><\/p>\n<p>You can see what layers are currently on-screen and their re-paint counters and sizes from the Layers menu on the right:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14061 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/layerTab.jpg\" alt=\"UI JS coding layers tab\" width=\"300\" height=\"285\" \/><\/p>\n<h3><strong>Network<\/strong><\/h3>\n<p>Here you can measure the network performance. This tab records information about each network operation, including detailed timing data, HTTP request and response headers and more. The Requests table displays the following columns:<\/p>\n<ul>\n<li><strong>Name<\/strong>: The name of the resource (you can filter the resources by type).<\/li>\n<li><strong>Domain<\/strong>: Domain of the path requested.<\/li>\n<li><strong>Type<\/strong>: The type of the requested resource.<\/li>\n<li><strong>Method<\/strong>: The request method used.<\/li>\n<li><strong>Scheme<\/strong>: The scheme of the path requested.<\/li>\n<li><strong>Status<\/strong>: The HTTP status code.<\/li>\n<li><strong>Cached<\/strong>: Whether or not the resource was cached.<\/li>\n<li><strong>Size<\/strong>: The size of the transferred resource.<\/li>\n<li><strong>Transferred<\/strong>: The number of bytes that were actually transferred to load the resource.<\/li>\n<li><strong>Start Time<\/strong>: Sorts by the start time of each network request.<\/li>\n<li><strong>Latency<\/strong>: Sorts by the time between the start of the request and the beginning of the response.<\/li>\n<li><strong>Duration<\/strong>: The total duration, from the start of the request to the receipt of the final byte in the response.<\/li>\n<li><strong>Timeline<\/strong>: A visual breakdown of each request&#8217;s activity.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14062 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/network.jpg\" alt=\"UI tool network tab\" width=\"1279\" height=\"747\" \/><\/p>\n<h3><strong>Resources<\/strong><\/h3>\n<p>Lets you inspect resources that are loaded in the inspected page. You can organize resources by stylesheets, scripts, images, or other criteria.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14063 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/resources.jpg\" alt=\"Coherent GT debugger resources tab\" width=\"1278\" height=\"749\" \/><\/p>\n<h3><strong>Timelines<\/strong><\/h3>\n<p>Helps you for checking the page performance. You can use the Timelines tab to record and analyze every event that occurred after a page load or a user interaction.<\/p>\n<p>To record the load performance go to Timelines tab and click Reload page button\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-14072\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/reload.jpg\" alt=\"reload\" width=\"21\" height=\"22\" \/>\u00a0(shortcut: F5). The Debugger records performance metrics while the page reloads and then automatically stops the recording a couple seconds after the load finishes. The default sections that the Timelines record are Network Requests (represented with blue), Layout &amp; Rendering (represented with red for styles invalidation and recalculation and green for re-paints) and JavaScript &amp; Events (represented with purple).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14064 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/onpageload.jpg\" alt=\"Chorenet GT UI on page load tool\" width=\"1279\" height=\"748\" \/><\/p>\n<p>You can enable and disable each of the sections with the Edit button on the top. By clicking on the sections more details appear at the bottom of the Debugger (highlighted with red).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14065 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/details.jpg\" alt=\"User Interface layout rendering debugging\" width=\"1278\" height=\"748\" \/><\/p>\n<p>To make a recording of a page interaction, start the recording by pressing the Record button\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-14066\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/record.jpg\" alt=\"record\" width=\"22\" height=\"25\" \/>\u00a0(the red dot under the Debugger&#8217;s navigation bar). Perform your page interactions, and then press the Record button again to stop the recording. You can zoom in on a section of a recording to make analysis easier.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14067 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/interaction.jpg\" alt=\"User Interface timelines integration\" width=\"1279\" height=\"748\" \/><\/p>\n<h3><strong>Debugger<\/strong><\/h3>\n<p>This tab allows you to debug JavaScript by providing breakpoints, watches and ways to edit variables.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14068 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/debuggerTab.jpg\" alt=\"Java Script debugger tab\" width=\"1281\" height=\"748\" \/><\/p>\n<h3><strong>Storage<\/strong><\/h3>\n<p>This tab enables you to inspect various types of storage that the application can use. Currently, it can be used to inspect the following storage types:<\/p>\n<ul>\n<li><strong>Cookies:<\/strong>\u00a0All the cookies created by the page or any iframes inside of the page. Cookies created as a part of response of network calls are also listed, but only for calls that happened while the tool is open.<\/li>\n<li><strong>Local Storage:<\/strong>\u00a0All local storage items created by the page or any iframes inside the page.<\/li>\n<li><strong>Session Storage:<\/strong>\u00a0All session storage items created by the page or any iframes inside the page.<\/li>\n<\/ul>\n<h3><strong>Console<\/strong><\/h3>\n<p>The Console tab provides two primary functions for developers testing their code. It is a place to log diagnostic information in the development process (provided by the\u00a0<a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Console\" rel=\"nofollow\">Console API<\/a>) or a shell prompt which can be used to interact with the document.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14069 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/consoleDir.jpg\" alt=\"UI debugger console code testing\" width=\"1279\" height=\"747\" \/><\/p>\n<p>You can filter the console output from the input field under the navigation:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14070 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/filterConsole.jpg\" alt=\"Coherent GT debugger filter console\" width=\"1276\" height=\"405\" \/><\/p>\n<p>If a message is consecutively repeated, rather than printing out each instance of the message on a new line, the Console &#8220;stacks&#8221; the messages and shows a number in the left margin instead. The number indicates how many times the message was repeated.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-14071 size-full\" src=\"https:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/12\/console.jpg\" alt=\"debugger console\" width=\"1278\" height=\"136\" \/><\/p>\n<p>GT&#8217;s Debugger will not only improve your workflow but help you to quickly discover the cause of an issue and fix it efficiently. We will continue to integrate and better the features of the Debugger into future versions of GT. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Coherent GT 2.0 supports the whole WebKit Inspector protocol and allows for live viewing, editing and debugging of the UI even when the client application is running. This increases the productivity of UI programmers and designers immensely as they can directly work on the live interface without stopping the game, recompiling or restarting. In this [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":13577,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1,410],"tags":[151,414,401,415,416,264],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Coherent GT Debbuger tool overview - improve your UI development<\/title>\n<meta name=\"description\" content=\"Live view, edit and debug your UI even when the application is running with our GT debugger. Coherent GT 2.0 supports the whole WebKit Inspector protocol. Check how easily you can improve your UI workflow.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Coherent GT Debbuger tool overview - improve your UI development\" \/>\n<meta property=\"og:description\" content=\"Live view, edit and debug your UI even when the application is running with our GT debugger. Coherent GT 2.0 supports the whole WebKit Inspector protocol. Check how easily you can improve your UI workflow.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/\" \/>\n<meta property=\"og:site_name\" content=\"Coherent Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CoherentLabs\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-22T09:07:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-01-26T16:09:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/coherent-labs.com\/posts\/wp-content\/uploads\/2017\/11\/workflow-748.png\" \/>\n\t<meta property=\"og:image:width\" content=\"748\" \/>\n\t<meta property=\"og:image:height\" content=\"280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alexandra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CoherentLabs\" \/>\n<meta name=\"twitter:site\" content=\"@CoherentLabs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alexandra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/\",\"url\":\"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/\",\"name\":\"Coherent GT Debbuger tool overview - improve your UI development\",\"isPartOf\":{\"@id\":\"https:\/\/coherent-labs.com\/posts\/#website\"},\"datePublished\":\"2018-01-22T09:07:55+00:00\",\"dateModified\":\"2018-01-26T16:09:36+00:00\",\"author\":{\"@id\":\"https:\/\/coherent-labs.com\/posts\/#\/schema\/person\/b0252689790c3d1c9036209533d03791\"},\"description\":\"Live view, edit and debug your UI even when the application is running with our GT debugger. Coherent GT 2.0 supports the whole WebKit Inspector protocol. Check how easily you can improve your UI workflow.\",\"breadcrumb\":{\"@id\":\"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/coherent-labs.com\/posts\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The new GT Debugger overview\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/coherent-labs.com\/posts\/#website\",\"url\":\"https:\/\/coherent-labs.com\/posts\/\",\"name\":\"Coherent Labs\",\"description\":\"Cross-Platform Game UI Middleware\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/coherent-labs.com\/posts\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/coherent-labs.com\/posts\/#\/schema\/person\/b0252689790c3d1c9036209533d03791\",\"name\":\"Alexandra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/coherent-labs.com\/posts\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/687476ba742eac5c6da76b305bc4004b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/687476ba742eac5c6da76b305bc4004b?s=96&d=mm&r=g\",\"caption\":\"Alexandra\"},\"url\":\"https:\/\/coherent-labs.com\/posts\/author\/alexandra\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Coherent GT Debbuger tool overview - improve your UI development","description":"Live view, edit and debug your UI even when the application is running with our GT debugger. Coherent GT 2.0 supports the whole WebKit Inspector protocol. Check how easily you can improve your UI workflow.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/","og_locale":"en_US","og_type":"article","og_title":"Coherent GT Debbuger tool overview - improve your UI development","og_description":"Live view, edit and debug your UI even when the application is running with our GT debugger. Coherent GT 2.0 supports the whole WebKit Inspector protocol. Check how easily you can improve your UI workflow.","og_url":"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/","og_site_name":"Coherent Labs","article_publisher":"https:\/\/www.facebook.com\/CoherentLabs\/","article_published_time":"2018-01-22T09:07:55+00:00","article_modified_time":"2018-01-26T16:09:36+00:00","og_image":[{"width":"748","height":"280","url":"https:\/\/coherent-labs.com\/posts\/wp-content\/uploads\/2017\/11\/workflow-748.png","type":"image\/png"}],"author":"Alexandra","twitter_card":"summary_large_image","twitter_creator":"@CoherentLabs","twitter_site":"@CoherentLabs","twitter_misc":{"Written by":"Alexandra","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/","url":"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/","name":"Coherent GT Debbuger tool overview - improve your UI development","isPartOf":{"@id":"https:\/\/coherent-labs.com\/posts\/#website"},"datePublished":"2018-01-22T09:07:55+00:00","dateModified":"2018-01-26T16:09:36+00:00","author":{"@id":"https:\/\/coherent-labs.com\/posts\/#\/schema\/person\/b0252689790c3d1c9036209533d03791"},"description":"Live view, edit and debug your UI even when the application is running with our GT debugger. Coherent GT 2.0 supports the whole WebKit Inspector protocol. Check how easily you can improve your UI workflow.","breadcrumb":{"@id":"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/coherent-labs.com\/posts\/the-new-gt-debugger-overview\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/coherent-labs.com\/posts\/"},{"@type":"ListItem","position":2,"name":"The new GT Debugger overview"}]},{"@type":"WebSite","@id":"https:\/\/coherent-labs.com\/posts\/#website","url":"https:\/\/coherent-labs.com\/posts\/","name":"Coherent Labs","description":"Cross-Platform Game UI Middleware","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/coherent-labs.com\/posts\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/coherent-labs.com\/posts\/#\/schema\/person\/b0252689790c3d1c9036209533d03791","name":"Alexandra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/coherent-labs.com\/posts\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/687476ba742eac5c6da76b305bc4004b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/687476ba742eac5c6da76b305bc4004b?s=96&d=mm&r=g","caption":"Alexandra"},"url":"https:\/\/coherent-labs.com\/posts\/author\/alexandra\/"}]}},"_links":{"self":[{"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/posts\/14053"}],"collection":[{"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/comments?post=14053"}],"version-history":[{"count":9,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/posts\/14053\/revisions"}],"predecessor-version":[{"id":14390,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/posts\/14053\/revisions\/14390"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/media\/13577"}],"wp:attachment":[{"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/media?parent=14053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/categories?post=14053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/tags?post=14053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}