Skip to content

Commit b6593d4

Browse files
Deploy preview for PR 126
1 parent b8ed268 commit b6593d4

File tree

16 files changed

+1448
-1360
lines changed

16 files changed

+1448
-1360
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<html xmlns="http://www.w3.org/1999/xhtml">
2+
<head>
3+
<title>Redirect</title>
4+
<script type="text/javascript">
5+
var redirects = {"":"../news/posts/DoodleBUGS-Introduction/index.html"};
6+
var hash = window.location.hash.startsWith('#') ? window.location.hash.slice(1) : window.location.hash;
7+
var redirect = redirects[hash] || redirects[""] || "/";
8+
window.document.title = 'Redirect to ' + redirect;
9+
window.location.replace(redirect);
10+
</script>
11+
</head>
12+
<body>
13+
</body>
14+
</html>

pr-previews/126/doodlebugs-gsoc-2025-final-report/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<head>
33
<title>Redirect</title>
44
<script type="text/javascript">
5-
var redirects = {"":"../news/posts/2025-08-28-DoodleBUGS-Introduction/index.html"};
5+
var redirects = {"":"../news/posts/DoodleBUGS-Introduction/index.html"};
66
var hash = window.location.hash.startsWith('#') ? window.location.hash.slice(1) : window.location.hash;
77
var redirect = redirects[hash] || redirects[""] || "/";
88
window.document.title = 'Redirect to ' + redirect;

pr-previews/126/doodlebugs-gsoc-2025/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<head>
33
<title>Redirect</title>
44
<script type="text/javascript">
5-
var redirects = {"":"../news/posts/2025-08-28-DoodleBUGS-Introduction/index.html"};
5+
var redirects = {"":"../news/posts/DoodleBUGS-Introduction/index.html"};
66
var hash = window.location.hash.startsWith('#') ? window.location.hash.slice(1) : window.location.hash;
77
var redirect = redirects[hash] || redirects[""] || "/";
88
window.document.title = 'Redirect to ' + redirect;

pr-previews/126/doodlebugs-introduction/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<head>
33
<title>Redirect</title>
44
<script type="text/javascript">
5-
var redirects = {"":"../news/posts/2025-08-28-DoodleBUGS-Introduction/index.html"};
5+
var redirects = {"":"../news/posts/DoodleBUGS-Introduction/index.html"};
66
var hash = window.location.hash.startsWith('#') ? window.location.hash.slice(1) : window.location.hash;
77
var redirect = redirects[hash] || redirects[""] || "/";
88
window.document.title = 'Redirect to ' + redirect;

pr-previews/126/listings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
{
2121
"listing": "/news/index.html",
2222
"items": [
23-
"/news/posts/2025-08-28-DoodleBUGS-Introduction/index.html",
23+
"/news/posts/DoodleBUGS-Introduction/index.html",
2424
"/news/posts/2025-07-25-newsletter-11/index.html",
2525
"/news/posts/2025-07-11-newsletter-10/index.html",
2626
"/news/posts/2025-06-20-newsletter-9/index.html",

pr-previews/126/news/index.html

Lines changed: 25 additions & 23 deletions
Large diffs are not rendered by default.

pr-previews/126/news/index.xml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<item>
2020
<title>Introducing DoodleBUGS: a Browser-Based Graphical Interface for JuliaBUGS</title>
2121
<dc:creator>Shravan Goswami</dc:creator>
22-
<link>https://turinglang.org/news/posts/2025-08-28-DoodleBUGS-Introduction/</link>
22+
<link>https://turinglang.org/news/posts/DoodleBUGS-Introduction/</link>
2323
<description><![CDATA[
2424
2525
@@ -230,7 +230,7 @@ font-style: inherit;"># scratch/test artifacts</span></span></code></pre></div>
230230
</ul>
231231
<p><strong>Frontend architecture (Vue 3 + Cytoscape.js)</strong></p>
232232
<ul>
233-
<li>Core graph state is managed in Vue; Cytoscape.js handles layout, hit-testing, and interaction semantics (including compound nodes for plates) <span class="citation" data-cites="cytoscapejs">[9]</span>.</li>
233+
<li>Core graph state is managed in Vue; <a href="https://js.cytoscape.org/">Cytoscape.js</a> handles layout, hit-testing, and interaction semantics (including compound nodes for plates) <span class="citation" data-cites="cytoscapejs">[9]</span>.</li>
234234
<li>Code generation lives in <code>DoodleBUGS/src/composables/useBugsCodeGenerator.ts</code> and maps <code>GraphNode</code>/<code>GraphEdge</code> to BUGS:
235235
<ul>
236236
<li>Kahn topological sort for definition order</li>
@@ -253,18 +253,18 @@ font-style: inherit;"># scratch/test artifacts</span></span></code></pre></div>
253253
</ul>
254254
</section>
255255
<section id="why-vue-not-react" class="level2">
256-
<h2 class="anchored" data-anchor-id="why-vue-not-react">Why Vue (not React)</h2>
256+
<h2 class="anchored" data-anchor-id="why-vue-not-react">Why Vue (not React)?</h2>
257257
<p>The proposal planned React; we chose Vue 3 after evaluating the graph layer and developer velocity for this app.</p>
258258
<ul>
259-
<li>Tried Konva (canvas) for custom graph editing: powerful drawing primitives, but required bespoke graph semantics (hit testing, edge routing, compound nodes) that Cytoscape.js provides out of the box.</li>
259+
<li>Tried Konva (canvas) for custom graph editing: powerful drawing primitives, but required bespoke graph semantics (hit testing, edge routing, compound nodes) that <a href="https://js.cytoscape.org/">Cytoscape.js</a> provides out of the box.</li>
260260
<li>Tried D3 force/layouts: flexible, but compound nodes (plates), nesting, and drag constraints became a significant amount of custom code to maintain.</li>
261-
<li>Cytoscape.js offered:
261+
<li><a href="https://js.cytoscape.org/">Cytoscape.js</a> offered:
262262
<ul>
263263
<li>Native graph model with compound nodes (great for plates)</li>
264264
<li>Integrated layouts (WebCola, KLay) and rich interaction APIs <span class="citation" data-cites="webcola elk">[16], [17]</span></li>
265265
<li>Mature ecosystem and performance characteristics for medium-sized graphs</li>
266266
</ul></li>
267-
<li>Vue 3 (vs React) for this project:
267+
<li><a href="https://vuejs.org/">Vue 3</a> (vs React) for this project:
268268
<ul>
269269
<li>Composition API made integrating an imperative graph library (Cytoscape) straightforward via composables and lifecycle hooks</li>
270270
<li>SFC ergonomics and Pinia stores enabled quick iteration with strong TypeScript support</li>
@@ -287,7 +287,7 @@ font-style: inherit;"># scratch/test artifacts</span></span></code></pre></div>
287287
<li>Graph engine and plates
288288
<ul>
289289
<li>Legacy: Bespoke graph handling with limited nesting semantics</li>
290-
<li>New: Cytoscape.js with compound nodes for robust nested plates; custom DnD for drag-in/out and creating inside plates</li>
290+
<li>New: <a href="https://js.cytoscape.org/">Cytoscape.js</a> with compound nodes for robust nested plates; custom DnD for drag-in/out and creating inside plates</li>
291291
</ul></li>
292292
<li>Layouts and interactions
293293
<ul>
@@ -397,6 +397,7 @@ font-style: inherit;"># server listens on http://localhost:8081</span></span></c
397397
<section id="future-work" class="level2">
398398
<h2 class="anchored" data-anchor-id="future-work">Future Work</h2>
399399
<ul>
400+
<li>Backend: Add Pluto.jl as a backend for supporting compound documents and QuartoNotebookRunner.jl for running notebooks.</li>
400401
<li>Diagnostics/visualization: R-hat, ESS, trace plots, PPC, posterior densities</li>
401402
<li>UX: richer node templates, validation, distribution hints</li>
402403
<li>Persistence/sharing: save/load and shareable links</li>
@@ -408,8 +409,7 @@ font-style: inherit;"># server listens on http://localhost:8081</span></span></c
408409
<h2 class="anchored" data-anchor-id="acknowledgements">Acknowledgements</h2>
409410
<p>Much appreciation goes to my mentors Xianda Sun and Hong Ge. The work is impossible without your help and support.</p>
410411
<ul>
411-
<li>Mentor: Xianda Sun (<a href="https://github.com/sunxd3">@sunxd3</a>)</li>
412-
<li>Advisor: Hong Ge (<a href="https://github.com/yebai">@yebai</a>)</li>
412+
<li>Mentors: Xianda Sun (<a href="https://github.com/sunxd3">@sunxd3</a>) and Hong Ge (<a href="https://github.com/yebai">@yebai</a>)</li>
413413
<li>TuringLang/JuliaBUGS community and contributors</li>
414414
</ul>
415415
@@ -480,7 +480,8 @@ font-style: inherit;"># server listens on http://localhost:8081</span></span></c
480480
</div>
481481
</div></section></div> ]]></description>
482482
<category>GSoC</category>
483-
<guid>https://turinglang.org/news/posts/2025-08-28-DoodleBUGS-Introduction/</guid>
483+
<category>Blog</category>
484+
<guid>https://turinglang.org/news/posts/DoodleBUGS-Introduction/</guid>
484485
<pubDate>Thu, 28 Aug 2025 00:00:00 GMT</pubDate>
485486
</item>
486487
<item>

0 commit comments

Comments
 (0)