<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Slides | Yu-Chao (Curtis) Wang's Personal Website</title><link>https://yuchao-wang.netlify.app/slides/</link><atom:link href="https://yuchao-wang.netlify.app/slides/index.xml" rel="self" type="application/rss+xml"/><description>Slides</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-US</language><lastBuildDate>Thu, 30 Apr 2026 00:00:00 +0000</lastBuildDate><image><url>https://yuchao-wang.netlify.app/media/logo_hu_3214bcd0aed3837d.png</url><title>Slides</title><link>https://yuchao-wang.netlify.app/slides/</link></image><item><title>Real-time Painterly Rendering</title><link>https://yuchao-wang.netlify.app/slides/kuwahara-project/</link><pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate><guid>https://yuchao-wang.netlify.app/slides/kuwahara-project/</guid><description>&lt;link rel="stylesheet" href="https://yuchao-wang.netlify.app/css/kuwahara-slides.css"&gt;
&lt;section data-noprocess data-shortcode-slide
data-background-color="#CFB991"
class="purdue-title-slide"
data-data-state="purdue-title-state"
&gt;
&lt;h1 id="cs535-final-project"&gt;CS535 Final Project:&lt;/h1&gt;
&lt;h1 id="npr-rendering-w-kuwahara-filters"&gt;NPR Rendering w/ Kuwahara Filters&lt;/h1&gt;
&lt;h3 id="cs535-presentation"&gt;CS535 Presentation&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Presented by: Yu-Chao (Curtis) Wang&lt;/strong&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;Welcome everyone to the CS535 Final Project Presentation.&lt;/li&gt;
&lt;li&gt;Today I&amp;rsquo;m going to present our recent work on Real-time Painterly Rendering using Kuwahara Filters.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="1-project-motivation"&gt;1. Project Motivation&lt;/h2&gt;
&lt;div class="r-hstack" style="gap: 2rem;"&gt;
&lt;div style="flex: 1;"&gt;
&lt;span class="fragment fade-up" &gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Beyond Photorealistic Images:&lt;/strong&gt; Move from PBR rendering to NPR by utilizing a filter.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Silhouette Integrity:&lt;/strong&gt; Prevent the &amp;ldquo;smearing&amp;rdquo; effect common in NPR by preserving crisp object contours via geometry data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Address Filter Drawbacks:&lt;/strong&gt; Reduce block artifacts and temporal flickering.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Advanced Methods:&lt;/strong&gt; Investigate Anisotropic Kuwahara in a 3D context.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stability &amp;amp; Coherence:&lt;/strong&gt; Achieve temporal stability for interactive applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;/span&gt;
&lt;!-- *(Teaser Demo: Live Unity View)* --&gt;
&lt;/div&gt;
&lt;div style="flex: 1;"&gt;
&lt;img src="https://yuchao-wang.netlify.app/media/kuwahara/motivation_squirrel.jpeg" alt="Motivation Squirrel" style="max-width: 100%; display: block;"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;We&amp;rsquo;ll begin with a brief motivation.&lt;/li&gt;
&lt;li&gt;Our goal was to create a robust NPR system focusing on edge preservation.&lt;/li&gt;
&lt;li&gt;(Switch to Unity for a quick teaser demo).&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="2-literature-review-standard-kuwahara-filters"&gt;2. Literature Review: Standard Kuwahara Filters&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Definition&lt;/strong&gt;
A non-linear smoothing filter for adaptive noise reduction in digital image processing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key Advantage&lt;/strong&gt;
Smooths images while explicitly preserving sharp edges, overcoming linear filter limitations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Origins (1976)&lt;/strong&gt;
&amp;ldquo;Processing of RI-angiocardiographic images&amp;rdquo;
Developed by Dr. Michiyoshi Kuwahara for medical imaging of dynamic heart muscles.&lt;/p&gt;
&lt;img src="https://yuchao-wang.netlify.app/media/kuwahara/origins_medical.jpeg" alt="Medical Imaging Origin" style="max-height: 300px; display: block; margin: 20px auto;"&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;Let&amp;rsquo;s look at the prior work, starting with the Standard Kuwahara filter.&lt;/li&gt;
&lt;li&gt;Originally from 1976 for medical imaging, its key advantage is preserving edges while smoothing noise.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="2-literature-review-standard-kuwahara-cont"&gt;2. Literature Review: Standard Kuwahara (Cont.)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Core Mechanism&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Window Selection:&lt;/strong&gt; Employs a sliding square window around a target pixel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Subregion Division:&lt;/strong&gt; Divides into four smaller, slightly overlapping subregions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Statistical Analysis:&lt;/strong&gt; Computes arithmetic mean and standard deviation for each.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Homogeneity Check:&lt;/strong&gt; Identifies the subregion with the lowest standard deviation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pixel Assignment:&lt;/strong&gt; Assigns the central pixel the mean value of that subregion.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edge Preservation:&lt;/strong&gt; Prevents blending across boundaries.&lt;/li&gt;
&lt;/ol&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;The mechanism is straightforward: it divides a window into four subregions, finds the one with the lowest variance, and uses its mean color.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="2-literature-review-standard-kuwahara-cont-1"&gt;2. Literature Review: Standard Kuwahara (Cont.)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Special Handling for Color Images&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cannot be applied to RGB separately (causes severe color artifacts).&lt;/li&gt;
&lt;li&gt;Requires conversion to HSV color space.&lt;/li&gt;
&lt;li&gt;Evaluates standard deviation exclusively on the &amp;ldquo;Value&amp;rdquo; (brightness) channel.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Drawbacks &amp;amp; Limitations&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Susceptible to noise ambiguities.&lt;/li&gt;
&lt;li&gt;Prone to generating unnatural &lt;strong&gt;block artifacts&lt;/strong&gt; in highly textured areas due to its rigid rectangular subdivision.&lt;/li&gt;
&lt;/ul&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;It&amp;rsquo;s important to process color in the HSV space based on the Value channel to avoid color artifacts.&lt;/li&gt;
&lt;li&gt;However, standard Kuwahara suffers from severe block artifacts due to its rigid square window.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="3-literature-review-anisotropic-kuwahara"&gt;3. Literature Review: Anisotropic Kuwahara&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Limitations of Standard Filter&lt;/strong&gt;
Unstable in the presence of noise and suffers from prominent block artifacts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Anisotropic Approach&lt;/strong&gt;
Adapts shape, scale, and orientation to local input structure via smoothed structure tensors.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Visual Effect&lt;/strong&gt;
Creates a feature-preserving, painting-like flattening while avoiding clustering artifacts.&lt;/p&gt;
&lt;img src="https://yuchao-wang.netlify.app/media/kuwahara/aniso_lion.jpeg" alt="Anisotropic Lion Comparison" style="max-height: 350px; display: block; margin: 20px auto;"&gt;
&lt;p&gt;&lt;em&gt;Reference: J. E. Kyprianidis et al., 2009&lt;/em&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;To solve the blockiness, we look to the Anisotropic Kuwahara Filter.&lt;/li&gt;
&lt;li&gt;It calculates structure tensors to understand local gradients, stretching and rotating the filter shape to follow features.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="4-literature-review-adaptive-kuwahara"&gt;4. Literature Review: Adaptive Kuwahara&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Dynamic Window Adjustment&lt;/strong&gt;
Adjusts window size based on local image properties, expanding as long as variance decreases.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Performance Benefits&lt;/strong&gt;
Preserves edges and reduces pixelation better than standard filters while maintaining high efficiency.&lt;/p&gt;
&lt;img src="https://yuchao-wang.netlify.app/media/kuwahara/adaptive_hands.jpeg" alt="Adaptive Kuwahara Comparison" style="max-height: 300px; display: block; margin: 20px auto;"&gt;
&lt;p&gt;&lt;em&gt;Reference: K. Bartyzel, &amp;ldquo;Adaptative Kuwahara filter,&amp;rdquo; 2015&lt;/em&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;We also reviewed Adaptive Kuwahara, which dynamically changes the window size based on local variance.&lt;/li&gt;
&lt;li&gt;This provides better performance and edge preservation without a fixed scale.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="5-initial-prototype-opengl-implementation"&gt;5. Initial Prototype: OpenGL Implementation&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Standalone C++17 Framework&lt;/strong&gt;
Before transitioning to Unity, we developed a high-performance prototype to validate the core filters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Technical Stack&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Graphics API:&lt;/strong&gt; OpenGL 4.6 (Core Profile)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Window &amp;amp; Input:&lt;/strong&gt; GLFW 3 + GLAD&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UI Framework:&lt;/strong&gt; Dear ImGui (Docking Branch)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Math &amp;amp; Utilities:&lt;/strong&gt; GLM, stb_image&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Language:&lt;/strong&gt; C++17 (Visual Studio 2022 / v143)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Compute-Focused:&lt;/strong&gt; Primary implementation uses &lt;strong&gt;GLSL Compute Shaders&lt;/strong&gt; for parallel variance analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modular Design:&lt;/strong&gt; Custom &lt;code&gt;Core::Application&lt;/code&gt; / &lt;code&gt;Scene&lt;/code&gt; architecture for rapid filter prototyping.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real-time Tuning:&lt;/strong&gt; ImGui-driven parameter adjustment and shader hot-reloading.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="6-the-paradigm-shift-from-image-space-to-geometry-aware"&gt;6. The Paradigm Shift: From Image-Space to Geometry-Aware&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Why leave the OpenGL prototype?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The &amp;ldquo;Painterly Smear&amp;rdquo; Problem:&lt;/strong&gt; Traditional image-space filters often &amp;ldquo;melt&amp;rdquo; object silhouettes, leading to a loss of visual clarity in 3D scenes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infrastructure Overhead:&lt;/strong&gt; Building a complete 3D environment (PBR, Lighting, Asset Loading) in pure OpenGL is a major distraction from core NPR research.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Unity Advantage:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Native G-Buffer:&lt;/strong&gt; Instant access to Depth, Normals, and Object IDs to anchor strokes to geometry.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Silhouette Preservation:&lt;/strong&gt; Object IDs allow us to prevent color bleeding and keep contours crisp.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API Control:&lt;/strong&gt; URP&amp;rsquo;s Render Graph enables precise multi-pass post-processing scheduling.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="7-final-implementation-unity-6--render-graph"&gt;7. Final Implementation: Unity 6 &amp;amp; Render Graph&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Modern Engine Integration&lt;/strong&gt;
Transitioned to Unity 6 to leverage advanced G-Buffer access and the &lt;strong&gt;Render Graph API&lt;/strong&gt; for optimal GPU scheduling and resource management.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Technical Stack&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Engine:&lt;/strong&gt; Unity 6 (6000.3.x)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pipeline:&lt;/strong&gt; Universal Render Pipeline (URP 17.0.x)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Framework:&lt;/strong&gt; &lt;strong&gt;Render Graph API&lt;/strong&gt; (Pass Recording)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shaders:&lt;/strong&gt; HLSL / Compute Shaders (SM 5.0+)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Advanced Multi-Pass Architecture&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Semantic Masking (ObjectID):&lt;/strong&gt; Custom pass for object-boundary awareness.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Normal Pre-filter:&lt;/strong&gt; Smooths geometric data to reduce high-frequency noise.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hybrid Temporal Tensor:&lt;/strong&gt; Stabilizes orientation via Motion Vectors and History Buffers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bilateral Anisotropic Kuwahara:&lt;/strong&gt; The final painterly filter guided by depth and IDs.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="8-pipeline-overview"&gt;8. Pipeline Overview&lt;/h2&gt;
&lt;div class="mermaid"&gt;graph LR
A[Color Buffer] --&gt; E(Structure Tensor)
B[Depth Buffer] --&gt; E
C[Normal Buffer] --&gt; E
D[Motion Vectors] --&gt; I(Temporal Anti-Aliasing)
E --&gt; F{Anisotropy Matrix}
F --&gt;|Guided by Normals and Depth| G[Sector Evaluation]
G --&gt; H[Final Anisotropic Filtering]
H --&gt; I
I --&gt; J[Output Painterly Image]
style A fill:#f4f4f4,stroke:#333,color:#333
style B fill:#f4f4f4,stroke:#333,color:#333
style C fill:#f4f4f4,stroke:#333,color:#333
style D fill:#f4f4f4,stroke:#333,color:#333
style J fill:#CFB991,stroke:#000,color:#000
&lt;/div&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;Here is our technical pipeline.&lt;/li&gt;
&lt;li&gt;We integrate the Depth and Normal buffers directly into the Structure Tensor calculation, allowing the Anisotropy Matrix to be guided by true 3D geometry rather than just 2D color edges.&lt;/li&gt;
&lt;li&gt;Motion vectors are injected at the end for Temporal Anti-Aliasing.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="9-core-enhancements"&gt;9. Core Enhancements&lt;/h2&gt;
&lt;h3 id="geometry-guided--temporal-coherence"&gt;Geometry-Guided &amp;amp; Temporal Coherence&lt;/h3&gt;
&lt;div class="r-hstack" style="gap: 2rem; align-items: flex-start;"&gt;
&lt;div style="flex: 1;"&gt;
&lt;p&gt;&lt;strong&gt;Depth &amp;amp; Normal Guidance&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Radius dynamically scales based on linear eye depth.&lt;/li&gt;
&lt;li&gt;Brush strokes naturally follow 3D curvature.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style="flex: 1;"&gt;
&lt;p&gt;&lt;strong&gt;Masking &amp;amp; Temporal History&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Object ID Masking prevents color bleeding across characters.&lt;/li&gt;
&lt;li&gt;TAA-like history accumulation solves temporal flickering.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;Let&amp;rsquo;s summarize the enhancements. Depth scaling preserves fine details in the distance. Normal alignment makes strokes wrap around objects.&lt;/li&gt;
&lt;li&gt;Object masking keeps silhouettes sharp, and temporal history eliminates the boiling/flickering effect in motion.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="10-structure-tensor-calculation"&gt;10. Structure Tensor Calculation&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;The &amp;ldquo;Brain&amp;rdquo; of Anisotropic Kuwahara&lt;/strong&gt;&lt;/p&gt;
&lt;div class="r-hstack" style="gap: 1.5rem; align-items: flex-start;"&gt;
&lt;div style="flex: 1.2; font-size: 0.85em;"&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Gradient Extraction:&lt;/strong&gt;
Uses Sobel kernels to find color gradients $I_x$ and $I_y$.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tensor Construction:&lt;/strong&gt;
Forms a symmetric matrix at each pixel:
$S = \begin{pmatrix} E &amp; F \\ F &amp; G \end{pmatrix} = \begin{pmatrix} \langle I_x^2 \rangle &amp; \langle I_x I_y \rangle \\ \langle I_y I_x \rangle &amp; \langle I_y^2 \rangle \end{pmatrix}$
&lt;em&gt;$\langle \cdot \rangle$ denotes local Gaussian smoothing.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Eigen-Analysis:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Eigenvalues ($\lambda_1, \lambda_2$):&lt;/strong&gt; Define the local contrast.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Eigenvector ($\vec{t}$):&lt;/strong&gt; Provides the principal tangent orientation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anisotropy ($A$):&lt;/strong&gt; $\frac{\lambda_1 - \lambda_2}{\lambda_1 + \lambda_2}$ determines the &amp;ldquo;stretch&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style="flex: 0.8; display: flex; flex-direction: column; align-items: center;"&gt;
&lt;div class="mermaid"&gt;graph TD
In[Input Color] --&gt; Sob[Sobel Kernels]
Sob --&gt; Grad[I_x, I_y]
Grad --&gt; Prod[Product E,F,G]
Prod --&gt; Blur[Gaussian Blur]
Blur --&gt; Eigen[Eigen-analysis]
Eigen --&gt; Res["Orientation and Anisotropy"]
style In fill:#f4f4f4
style Res fill:#CFB991
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;The Structure Tensor is essentially the &amp;ldquo;compass&amp;rdquo; for our filter.&lt;/li&gt;
&lt;li&gt;It calculates local gradients, smooths them to reduce noise, and then uses eigen-analysis to find exactly which way the edges are pointing and how strong they are.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="11-parameter-tuning--significance"&gt;11. Parameter Tuning &amp;amp; Significance&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;Parameter&lt;/th&gt;
&lt;th style="text-align: left"&gt;Function&lt;/th&gt;
&lt;th style="text-align: left"&gt;Artistic Impact&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;Radius&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;Window size&lt;/td&gt;
&lt;td style="text-align: left"&gt;Controls the &amp;ldquo;scale&amp;rdquo; of abstraction. Larger = more painterly/broad.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;Sharpness&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;Variance exponent&lt;/td&gt;
&lt;td style="text-align: left"&gt;Higher values make edges crisper; Lower values make transitions softer.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;Tuning&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;Anisotropy multiplier&lt;/td&gt;
&lt;td style="text-align: left"&gt;Stretches the brush strokes along the edge. High = elongated strokes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;Temporal Blend&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;History weighting&lt;/td&gt;
&lt;td style="text-align: left"&gt;Higher values stabilize the &amp;ldquo;boiling&amp;rdquo; effect in motion (TAA-like).&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; In our implementation, &lt;strong&gt;Tuning&lt;/strong&gt; dynamically scales the sampling matrix, allowing the filter to &amp;ldquo;hug&amp;rdquo; the geometry edges without bleeding.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;We&amp;rsquo;ve exposed several key parameters for artistic control.&lt;/li&gt;
&lt;li&gt;Radius and Sharpness are common, but &amp;ldquo;Tuning&amp;rdquo; is special to the anisotropic version—it controls how much the filter window deforms.&lt;/li&gt;
&lt;li&gt;Temporal Blend is crucial for video/games to keep the noise stable.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="12-full-demo-showcase"&gt;12. Full Demo Showcase&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;(Switch to Unity Editor for live demonstration)&lt;/em&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;(Switch to Unity). Here you can see the live implementation. We can compare the standard filter against our geometry-guided temporal anisotropic version.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="13-conclusion--next-steps"&gt;13. Conclusion &amp;amp; Next Steps&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Development Milestones&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Core Kuwahara algorithm logic implemented.&lt;/li&gt;
&lt;li&gt;Integrated real-time structure tensor calculation.&lt;/li&gt;
&lt;li&gt;Explored Geometry-Guided sub-region selection.&lt;/li&gt;
&lt;li&gt;Mitigated artifacts using Temporal Coherence.&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="https://yuchao-wang.netlify.app/media/kuwahara/implementation_landscape.jpeg" alt="Real-time Rendering Output" style="max-height: 350px; display: block; margin: 20px auto;"&gt;
&lt;p&gt;&lt;strong&gt;Future Work&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Optimization pass for high-resolution 4K frame processing.&lt;/li&gt;
&lt;li&gt;Real-time brush texture synthesis (impasto normals).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="q--a"&gt;Q &amp;amp; A&lt;/h3&gt;
&lt;aside class="notes"&gt;
&lt;ul&gt;
&lt;li&gt;In conclusion, we have built a robust NPR filter that solves traditional scale and stability issues.&lt;/li&gt;
&lt;li&gt;We are currently optimizing for 4K performance.&lt;/li&gt;
&lt;li&gt;Thank you for listening, I&amp;rsquo;d be happy to take any questions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;</description></item><item><title>HugoBlox Slides Showcase</title><link>https://yuchao-wang.netlify.app/slides/blox-showcase/</link><pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate><guid>https://yuchao-wang.netlify.app/slides/blox-showcase/</guid><description>&lt;h1 id="hugoblox-slides-showcase"&gt;HugoBlox Slides Showcase&lt;/h1&gt;
&lt;h3 id="a-comprehensive-reference-for-all-slide-features"&gt;A Comprehensive Reference for All Slide Features&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Yu-Chao Wang · Your Organization&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="agenda"&gt;Agenda&lt;/h2&gt;
&lt;span class="fragment " &gt;
&lt;h3 id="1-basic-structure"&gt;1. Basic Structure&lt;/h3&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;h3 id="2-code--math"&gt;2. Code &amp;amp; Math&lt;/h3&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;h3 id="3-layouts--branding"&gt;3. Layouts &amp;amp; Branding&lt;/h3&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;h3 id="4-interactive-features"&gt;4. Interactive Features&lt;/h3&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;h3 id="5-advanced-topics"&gt;5. Advanced Topics&lt;/h3&gt;
&lt;/span&gt;
&lt;hr&gt;
&lt;h2 id="basic-slide-structure"&gt;Basic Slide Structure&lt;/h2&gt;
&lt;p&gt;Slides are separated by &lt;code&gt;---&lt;/code&gt; (horizontal rule):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gh"&gt;# First Slide
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Content here
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Second Slide
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;More content
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Third Slide
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;And so on...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Each slide supports:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Headers (&lt;code&gt;#&lt;/code&gt;, &lt;code&gt;##&lt;/code&gt;, &lt;code&gt;###&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Paragraphs and lists&lt;/li&gt;
&lt;li&gt;Images and media&lt;/li&gt;
&lt;li&gt;Code blocks&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="code-syntax-highlighting"&gt;Code Syntax Highlighting&lt;/h2&gt;
&lt;p&gt;Supports 50+ programming languages:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;calculate_accuracy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y_true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_pred&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;correct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;zip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y_true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_pred&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;correct&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y_true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;accuracy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;calculate_accuracy&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Accuracy: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;accuracy&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;.1f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;%&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;User&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;name&lt;/span&gt;: &lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;role&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;editor&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;viewer&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;: &lt;span class="kt"&gt;User&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sb"&gt;`Hello, &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;!`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="mathematical-equations"&gt;Mathematical Equations&lt;/h2&gt;
&lt;p&gt;Full LaTeX support for inline and block math:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inline math:&lt;/strong&gt; Einstein&amp;rsquo;s famous equation is $E = mc^2$.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Block math:&lt;/strong&gt;&lt;/p&gt;
$$\nabla \times \vec{E} = -\frac{\partial \vec{B}}{\partial t}$$&lt;p&gt;&lt;strong&gt;Maxwell&amp;rsquo;s equations:&lt;/strong&gt;&lt;/p&gt;
$$\oint_{\partial \Sigma} \vec{E} \cdot d\vec{l} = -\frac{d}{dt} \iint_{\Sigma} \vec{B} \cdot d\vec{A}$$&lt;hr&gt;
&lt;h2 id="speaker-notes"&gt;Speaker Notes&lt;/h2&gt;
&lt;p&gt;Add private notes only visible in presenter view:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## My Slide
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Visible content here
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Note:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; This is a speaker note (press S to view)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; Only you see these in presenter mode
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; Perfect for talking points and reminders
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Press &lt;strong&gt;S&lt;/strong&gt; during your presentation to open the presenter console.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="hiding-slides"&gt;Hiding Slides&lt;/h2&gt;
&lt;p&gt;Keep backup slides in your source without showing them:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Visible Slide
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;This slide will appear in the presentation.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;!-- hide --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Hidden Slide
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;This won&amp;#39;t appear but stays in source for reference.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Another Visible Slide
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Back to normal presentation flow.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Use cases:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Backup content for Q&amp;amp;A&lt;/li&gt;
&lt;li&gt;Speaker reference material&lt;/li&gt;
&lt;li&gt;Alternative explanations&lt;/li&gt;
&lt;li&gt;Work-in-progress content&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;!-- no-branding --&gt;
&lt;h2 id="title-slide-no-branding"&gt;Title Slide (No Branding)&lt;/h2&gt;
&lt;p&gt;This slide has no branding elements.&lt;/p&gt;
&lt;p&gt;Add &lt;code&gt;&amp;lt;!-- no-branding --&amp;gt;&lt;/code&gt; at the start of a slide to hide logo, title, author, and footer.&lt;/p&gt;
&lt;p&gt;Other options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;!-- no-header --&amp;gt;&lt;/code&gt; — hides logo + title&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;!-- no-footer --&amp;gt;&lt;/code&gt; — hides author + footer&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="branding-configuration"&gt;Branding Configuration&lt;/h2&gt;
&lt;p&gt;Add your logo, title, author, and footer to every slide:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;slides&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;branding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;logo&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;logo.png&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;top-right&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;60px&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;show&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;bottom-left&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;author&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;show&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;bottom-right&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;footer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;text&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;© 2026 · Your Name&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;bottom-center&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; Use SVG logos with &lt;code&gt;fill=&amp;quot;currentColor&amp;quot;&lt;/code&gt; for automatic theme adaptation.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="dual-column-layouts"&gt;Dual Column Layouts&lt;/h2&gt;
&lt;h3 id="equal-columns-5050"&gt;Equal Columns (50/50)&lt;/h3&gt;
&lt;div class="r-hstack"&gt;
&lt;div&gt;
&lt;h3 id="before"&gt;Before&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Slow: 2.5s&lt;/li&gt;
&lt;li&gt;Memory: 4GB&lt;/li&gt;
&lt;li&gt;Cost: $100/mo&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h3 id="after"&gt;After&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fast: 0.3s ✅&lt;/li&gt;
&lt;li&gt;Memory: 512MB ✅&lt;/li&gt;
&lt;li&gt;Cost: $15/mo ✅&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="dual-column-code--explanation"&gt;Dual Column: Code + Explanation&lt;/h2&gt;
&lt;div style="display: flex; gap: 2rem;"&gt;
&lt;div style="flex: 2;"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Transformer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="fm"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;layers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attention&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;MultiHeadAttention&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ffn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;FeedForward&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;forward&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;layer&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;layers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;layer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div style="flex: 1;"&gt;
&lt;h3 id="key-points"&gt;Key Points&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Multi-head attention&lt;/li&gt;
&lt;li&gt;Feed forward network&lt;/li&gt;
&lt;li&gt;Residual connections&lt;/li&gt;
&lt;li&gt;Layer normalization&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="vertical-slide-navigation"&gt;Vertical Slide Navigation&lt;/h2&gt;
&lt;p&gt;Create hierarchical slides with sub-slides:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Main Topic
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Overview content here
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Press ↓ for details
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; slide id=&amp;#34;detail-1&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;### Detail Level 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;More information
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; slide id=&amp;#34;detail-2&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;### Detail Level 2
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Even more detail
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Press → to continue
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Perfect for optional deep-dives that viewers can skip or explore.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="themes"&gt;Themes&lt;/h2&gt;
&lt;p&gt;Choose from 15+ built-in themes:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dark Themes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;black&lt;/code&gt; (default) — Clean dark background&lt;/li&gt;
&lt;li&gt;&lt;code&gt;night&lt;/code&gt; — Dark blue/purple&lt;/li&gt;
&lt;li&gt;&lt;code&gt;blood&lt;/code&gt; — Dark red accent&lt;/li&gt;
&lt;li&gt;&lt;code&gt;league&lt;/code&gt; — Gray with orange&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Light Themes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;white&lt;/code&gt; — Clean white background&lt;/li&gt;
&lt;li&gt;&lt;code&gt;simple&lt;/code&gt; — Minimal white&lt;/li&gt;
&lt;li&gt;&lt;code&gt;beige&lt;/code&gt; — Warm beige&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sky&lt;/code&gt; — Light blue gradient&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Special:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;solarized&lt;/code&gt; — Solarized color scheme&lt;/li&gt;
&lt;li&gt;&lt;code&gt;moon&lt;/code&gt; — Purple/blue gradient&lt;/li&gt;
&lt;li&gt;&lt;code&gt;serif&lt;/code&gt; — Serif font styling&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="custom-backgrounds"&gt;Custom Backgrounds&lt;/h2&gt;
&lt;p&gt;Add color, image, or video backgrounds to individual slides:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; slide background-color=&amp;#34;&lt;span class="ni"&gt;#1e3a8a&lt;/span&gt;&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Blue Background
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;This slide has a custom blue background!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; slide background-image=&amp;#34;background.jpg&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Image Background
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Content over image
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; slide background-video=&amp;#34;video.mp4&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Video Background
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Dynamic background!
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="fragment-animations"&gt;Fragment Animations&lt;/h2&gt;
&lt;p&gt;Reveal content progressively:&lt;/p&gt;
&lt;span class="fragment " &gt;
First point appears.
&lt;/span&gt;
&lt;span class="fragment " &gt;
Then this point appears.
&lt;/span&gt;
&lt;span class="fragment " &gt;
Finally, this point appears.
&lt;/span&gt;
&lt;span class="fragment highlight-red" &gt;
This point is highlighted in red!
&lt;/span&gt;
&lt;hr&gt;
&lt;h2 id="media-embedding"&gt;Media Embedding&lt;/h2&gt;
&lt;h3 id="youtube"&gt;YouTube&lt;/h3&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/dQw4w9WgXcQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; youtube dQw4w9WgXcQ &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="bilibili"&gt;Bilibili&lt;/h3&gt;
&lt;div class="w-full h-auto aspect-video relative"&gt;
&lt;iframe src="//player.bilibili.com/player.html?bvid=BV1dyXqBaEE5&amp;page=1&amp;autoplay=0"
allow="accelerometer; clipboard-write; encrypted-media; gyroscope; fullscreen; picture-in-picture;"
class="w-full h-full"
&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; bilibili id=&amp;#34;BV1dyXqBaEE5&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="local-video"&gt;Local Video&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; video src=&amp;#34;demo.mp4&amp;#34; controls=&amp;#34;yes&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="audio"&gt;Audio&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; audio src=&amp;#34;interview.mp3&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="mermaid-diagrams"&gt;Mermaid Diagrams&lt;/h2&gt;
&lt;p&gt;Create flowcharts, sequence diagrams, and more:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;slides&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;diagram&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="mermaid"&gt;graph LR
A[Question] --&gt; B{Hypothesis}
B --&gt;|Valid| C[Experiment]
B --&gt;|Invalid| D[Revise]
C --&gt; E[Analyze]
E --&gt; F{Significant?}
F --&gt;|Yes| G[Publish]
F --&gt;|No| D
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="tables-for-data"&gt;Tables for Data&lt;/h2&gt;
&lt;p&gt;Present research results and benchmarks:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Accuracy&lt;/th&gt;
&lt;th&gt;Latency&lt;/th&gt;
&lt;th&gt;Memory&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPT-3&lt;/td&gt;
&lt;td&gt;87.3%&lt;/td&gt;
&lt;td&gt;450ms&lt;/td&gt;
&lt;td&gt;4GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-4&lt;/td&gt;
&lt;td&gt;92.1%&lt;/td&gt;
&lt;td&gt;890ms&lt;/td&gt;
&lt;td&gt;8GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ours&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;95.8%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;320ms&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;2GB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="citations--blockquotes"&gt;Citations &amp;amp; Blockquotes&lt;/h2&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&amp;ldquo;The best way to predict the future is to invent it.&amp;rdquo;
— Alan Kay&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Recent research by Chen et al. (2024) demonstrates significant improvements.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="custom-slide-attributes"&gt;Custom Slide Attributes&lt;/h2&gt;
&lt;p&gt;Use the &lt;code&gt;slide&lt;/code&gt; shortcode for advanced customization:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; slide id=&amp;#34;custom&amp;#34; class=&amp;#34;my-class&amp;#34; data-background-color=&amp;#34;&lt;span class="ni"&gt;#ff0000&lt;/span&gt;&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Custom Slide
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;This slide has:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; Custom ID for linking
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; Custom CSS class
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; Red background
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="keyboard-shortcuts"&gt;Keyboard Shortcuts&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Key&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;→&lt;/code&gt; &lt;code&gt;←&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Navigate slides (horizontal)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;↓&lt;/code&gt; &lt;code&gt;↑&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Navigate substeps (vertical)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Space&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Next slide&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;S&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Open speaker notes&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;F&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fullscreen mode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ESC&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Exit fullscreen / Overview mode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;O&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Overview mode&lt;/strong&gt; (see all slides)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Search slides&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show keyboard help&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="presenter-view"&gt;Presenter View&lt;/h2&gt;
&lt;p&gt;Press &lt;strong&gt;S&lt;/strong&gt; to open a separate presenter window showing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Current slide&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Next slide preview&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Speaker notes&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Elapsed time&lt;/li&gt;
&lt;li&gt;Slide progress&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; Open presenter view on your laptop while mirroring the main presentation to the projector!&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="linking-slides-to-events"&gt;Linking Slides to Events&lt;/h2&gt;
&lt;p&gt;Associate slide decks with conference talks:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Create slides:&lt;/strong&gt; &lt;code&gt;content/slides/neurips-2024/index.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create event:&lt;/strong&gt; &lt;code&gt;content/events/neurips-talk/index.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Link them:&lt;/strong&gt; Add &lt;code&gt;slides: &amp;quot;neurips-2024&amp;quot;&lt;/code&gt; to the event front matter&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Slides automatically embed on the event page with fullscreen toggle.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="pdf-export"&gt;PDF Export&lt;/h2&gt;
&lt;p&gt;Export slides to PDF:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open slides in browser&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;?print-pdf&lt;/code&gt; to URL&lt;/li&gt;
&lt;li&gt;Print to PDF (Ctrl+P / Cmd+P)&lt;/li&gt;
&lt;li&gt;Save as PDF file&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; Use Chrome or Chromium for best results.&lt;/p&gt;
&lt;hr&gt;
&lt;!-- hide --&gt;
&lt;h2 id="hidden-slide-backup-content"&gt;Hidden Slide: Backup Content&lt;/h2&gt;
&lt;p&gt;This slide is hidden from the presentation but remains in the source.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use cases:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Backup slides for Q&amp;amp;A&lt;/li&gt;
&lt;li&gt;Detailed technical explanations&lt;/li&gt;
&lt;li&gt;Alternative versions for different audiences&lt;/li&gt;
&lt;li&gt;Work-in-progress content&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="thank-you"&gt;Thank You!&lt;/h2&gt;
&lt;h3 id="questions"&gt;Questions?&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Resources:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="appendix-full-configuration"&gt;Appendix: Full Configuration&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;slides&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;black&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;highlight_style&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;dracula&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;diagram&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;branding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;logo&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;logo.png&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;top-right&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;60px&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;show&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;bottom-left&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;author&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;show&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;bottom-right&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;footer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;text&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;© 2026 · Your Name&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;bottom-center&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;reveal_options&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;controls&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;progress&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;slideNumber&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;hash&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;history&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;keyboard&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;overview&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;center&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;touch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;fragments&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;help&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;slide&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;menu_enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Chen, S. et al. (2024). &lt;em&gt;Advances in AI&lt;/em&gt;. Nature.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item></channel></rss>