{"componentChunkName":"component---src-templates-publications-js","path":"/flint","result":{"data":{"markdownRemark":{"html":"<p><span class='gatsby-resp-image-wrapper' style='position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; '>\n      <a class='gatsby-resp-image-link' href='/static/dff58f0db9d70457e7bbb95cb7246939/9dbdb/teaser.png' style='display: block' target='_blank' rel='noopener'>\n    <span class='gatsby-resp-image-background-image' style=\"padding-bottom: 44.583333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAAsTAAALEwEAmpwYAAABqUlEQVQozzVRS4sUMRDuf+7Fg1cRD54E7x5cEIVF2MMKuiiKsw+ZdsaZ6emk011JOu90J+m2FCwCoR7fV1VfVcfjcbfbnc/n9r9RSp0PlAmt1bquIIx1Iec0hxDsmOY5Bg8AKaWKEILI7p9xzjEqpUwp74+UMYbgHhTt+pRmLUEr4bSwGjgM8zxXWAEwjKPEhiH4cVTWmrIs2Bk4siQfolIK6YTsvXect94rRGKkMsZonMs5/L33FqHGYmKaYpyw4q+VUpaSS074MOXcNE24yFxhgVS+aY5pQr4UkNzHM2HOAM6MToixZULJDtcGLjBPpaPdaS1ThaQpF635FAyKIWAoOedlDc5oDSGG2VvZ05H8cj0Zabesq9vub642wqRKMhIE6O6wuXlf3153pNHWCt7CcDayQX0laVh9B4e6/7kxjKUI/uLx00cXL16fqt/b7w9fPtx+end9+erb57frssSIlyA4bZ7supYRelrfD/ttVz9QYaPrP949eXb5/OWbH9VSSsoJ5cGVlqXgnhhB5bTWKCm6ggNtTu3hMLAOD4aRndx9JVd+Vn8APWD0+MX9Y/EAAAAASUVORK5CYII='); background-size: cover; display: block;\"></span>\n  <img class='gatsby-resp-image-image' alt='teaser' title='teaser' src='/static/dff58f0db9d70457e7bbb95cb7246939/d9199/teaser.png' srcset='/static/dff58f0db9d70457e7bbb95cb7246939/8ff5a/teaser.png 240w,\n/static/dff58f0db9d70457e7bbb95cb7246939/e85cb/teaser.png 480w,\n/static/dff58f0db9d70457e7bbb95cb7246939/d9199/teaser.png 960w,\n/static/dff58f0db9d70457e7bbb95cb7246939/07a9c/teaser.png 1440w,\n/static/dff58f0db9d70457e7bbb95cb7246939/29114/teaser.png 1920w,\n/static/dff58f0db9d70457e7bbb95cb7246939/9dbdb/teaser.png 2622w' sizes='(max-width: 960px) 100vw, 960px' style='width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;' loading='lazy'>\n  </a>\n    </span></p>\n<p><strong>Figure 1</strong>: From data meaning and chart intent to multiple rendering libraries.</p>\n<h2>Abstract (Summary)</h2>\n<p>Flint lets authors describe the meaning of their data and the chart they want, while a compiler determines detailed visual settings. Its hierarchical description of data semantics guides decisions that would otherwise require manual configuration. The compilation pipeline refines an intermediate representation and emits runnable specifications for Vega-Lite, ECharts, or Chart.js. The project explores this common representation as a bridge for both people and language-model agents creating charts.</p>\n<h2>Links</h2>\n<ul>\n<li><a href=\"https://www.yunhaiwang.net/vis2026/Flint/index.html\">Project Page</a></li>\n<li><a href=\"https://microsoft.github.io/flint-chart/\">Online Website</a></li>\n<li><a href=\"https://github.com/microsoft/flint-chart\">Source Code</a></li>\n<li><a href=\"https://www.yunhaiwang.net/vis2026/Flint/AgChart.pdf\">Paper (PDF)</a></li>\n</ul>\n<h2>Figures</h2>\n<p><span class='gatsby-resp-image-wrapper' style='position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; '>\n      <a class='gatsby-resp-image-link' href='/static/10cb9086544204f6d4d687e0fb9028de/780d5/Fig5.png' style='display: block' target='_blank' rel='noopener'>\n    <span class='gatsby-resp-image-background-image' style=\"padding-bottom: 26.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAIAAADKYVtkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA+klEQVQY0y2QW0+EMBSE+f8/yPi8xmjU1bjsLjfLchMKWygFWnrHrvoyyUnOzHwZb2RcKL1tFsIWdlepzbQKTFdrrTF2XGgQf+XfDRNy2zZjjNOmQ3FWcqk9JhUTCuEJFGWcZphMyliutLbW/RHK9hEAdWd/zz+FaDglqSv1bkkDuX/cH3L4EqXhJadC9uNU1JByAXv8fjz7YTKvfJwXNGAmdQU7PwKO5WZGZLl7ePsA1VOYRpeCClXW8PPg43lJGrTzo+cAEMazojwF4cR4i4Z/bGeeGX89xhlEad2WsHMTOHKHrY1ZuCBMuBWUNm6O6+yKbYt6UFSr1D++FRadJ7OZZwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"></span>\n  <img class='gatsby-resp-image-image' alt='Fig5' title='Fig5' src='/static/10cb9086544204f6d4d687e0fb9028de/d9199/Fig5.png' srcset='/static/10cb9086544204f6d4d687e0fb9028de/8ff5a/Fig5.png 240w,\n/static/10cb9086544204f6d4d687e0fb9028de/e85cb/Fig5.png 480w,\n/static/10cb9086544204f6d4d687e0fb9028de/d9199/Fig5.png 960w,\n/static/10cb9086544204f6d4d687e0fb9028de/07a9c/Fig5.png 1440w,\n/static/10cb9086544204f6d4d687e0fb9028de/29114/Fig5.png 1920w,\n/static/10cb9086544204f6d4d687e0fb9028de/780d5/Fig5.png 2306w' sizes='(max-width: 960px) 100vw, 960px' style='width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;' loading='lazy'>\n  </a>\n    </span></p>\n<p><strong>Figure 2</strong>: Compiler stages and support for different output libraries.</p>\n<p><span class='gatsby-resp-image-wrapper' style='position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; '>\n      <a class='gatsby-resp-image-link' href='/static/050c351ed0a87348fdd2bb3e9a761e51/c8252/Fig7.png' style='display: block' target='_blank' rel='noopener'>\n    <span class='gatsby-resp-image-background-image' style=\"padding-bottom: 37.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAAsTAAALEwEAmpwYAAABaUlEQVQY0yWP2Y6bQBRE+f8/ixRNPJkxMDa0zdo7vdMLGNKRS0f1dHWrqjjPU0iJMM6OCYkpbfseYrJaEzhbrShGVsljj8drPzPH63zreBXZJ8J+Xb4u1U9PODXu3o9/yrqq6lt5XZVom3t1/f6pS8npGZzjhMNxgWPQopghRFJ3M9Krz4+ItliagcmeqztimHGutFn9GpOwLnoHWlCWZQsAobS4NQ2z/nMgXyN5MnnpEVb2c8CD0EiZB2ipkNeJfXTobwc70DKphkXvx7mGWDQAQKmbEQ5cQWWrmS7GbtuWW/iY7o+OCJlSOo5TWVfWNVnk7yf8eMJ6pgWlNCcwoULabIiA/O8J2WLiRrWjjNNFICZc3FzIrU0eATHlyqjVF+DxxNr1XL4BZEHSfo/khnkLiV64tm5aFMk3hHslhFQT4wCSCZFCCOHTZnzIsRntw2JXbldlV2PsHrxzq88KIWeeKb5iON5s8R/Nob0yQjlFrwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"></span>\n  <img class='gatsby-resp-image-image' alt='Fig7' title='Fig7' src='/static/050c351ed0a87348fdd2bb3e9a761e51/d9199/Fig7.png' srcset='/static/050c351ed0a87348fdd2bb3e9a761e51/8ff5a/Fig7.png 240w,\n/static/050c351ed0a87348fdd2bb3e9a761e51/e85cb/Fig7.png 480w,\n/static/050c351ed0a87348fdd2bb3e9a761e51/d9199/Fig7.png 960w,\n/static/050c351ed0a87348fdd2bb3e9a761e51/07a9c/Fig7.png 1440w,\n/static/050c351ed0a87348fdd2bb3e9a761e51/29114/Fig7.png 1920w,\n/static/050c351ed0a87348fdd2bb3e9a761e51/c8252/Fig7.png 2178w' sizes='(max-width: 960px) 100vw, 960px' style='width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;' loading='lazy'>\n  </a>\n    </span></p>\n<p><strong>Figure 3</strong>: Refining intermediate properties into chart configurations.</p>\n<p><span class='gatsby-resp-image-wrapper' style='position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; '>\n      <a class='gatsby-resp-image-link' href='/static/e14657984e17efd3a98ec8797ad41620/218a4/table1.png' style='display: block' target='_blank' rel='noopener'>\n    <span class='gatsby-resp-image-background-image' style=\"padding-bottom: 93.33333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAIAAAAf7rriAAAACXBIWXMAAAsTAAALEwEAmpwYAAACHklEQVQ4y03Th1ICQRAE0Pv/T8MqUJJIlKiCklHy+bgBdKruasNMd0/vbjIYDMrl8sPDw/Pz82w263Q6lUoll8ut1+v39/dqtfr09DSdTo/H42632+/3P1l8f3+bJuPxWEGxWGw0GovFotfrQXl8fLT98fHRbDZtfX5+brdbNdtbGF+Kj1mcz+c0TTebDYh6vT6ZTEyHw2G73Sbt9fW1VqtRQRQVQa4qkddqtWSoByYDs3oKMRuAkwDo5eXFn0xy+v3+4XBIfIFkgBkVEs2fTic9K448PNRCRGDgfy2OuZjP57IRhiUG2BRjozzSYguNcfL19WWPT+wFpCvjNIvRaMQtcBaJ72UhP71FAo/JkFQCkweLSHuMMEVFrRX/IDzf4lKMc5NFHBWFq9XKFDNCnY+yoJ/V1u0ul0vik/RfACKSVId/Z+afemVvb29oGPknWw/dbpdVJhSGbMCmapjv/kH5zxGX4lIsTxIlwfzfMFSKqVVv0fkRr+c/5juYCGbKoVhU5mLT5cDy+TygQqGgC0JQ0p/A0yHZDGAYzdEboLiekyyibZkW8au6nLNVYAqcBDwKubDLgtRQEVcq/vssrg9DGXsRWsIPlZ7IM+ZFXMG4mD+3uD7JMMyjC9kKxlmY+mvbn5bIuUvQ1/V6ytCbbCReDG+sMEw2h4hyVUqlkhYI0a3Kq9tsiLuNkxnclueSIYQYNRa9ynjS4CzKV/gLRc4broH3X1QAAAAASUVORK5CYII='); background-size: cover; display: block;\"></span>\n  <img class='gatsby-resp-image-image' alt='table1' title='table1' src='/static/e14657984e17efd3a98ec8797ad41620/d9199/table1.png' srcset='/static/e14657984e17efd3a98ec8797ad41620/8ff5a/table1.png 240w,\n/static/e14657984e17efd3a98ec8797ad41620/e85cb/table1.png 480w,\n/static/e14657984e17efd3a98ec8797ad41620/d9199/table1.png 960w,\n/static/e14657984e17efd3a98ec8797ad41620/218a4/table1.png 1052w' sizes='(max-width: 960px) 100vw, 960px' style='width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;' loading='lazy'>\n  </a>\n    </span></p>\n<p><strong>Figure 4</strong>: Examples of hierarchical data meanings.</p>","frontmatter":{"title":"Flint: A Semantic-driven Data Visualization Intermediate Language","year":"2026","authors":["Yunhai Wang","Kecheng Lu","Junhao Chen","Alper Sarikaya","Chenglong Wang"],"publication":"IEEE Transactions on Visualization and Computer Graphics (Proc. IEEE VIS 2026), 2026"}}},"pageContext":{"id":"4fb44b6c-a072-52cf-901c-1a72004f9735"}},"staticQueryHashes":["63159454"]}