<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Fasih Ud Din Mazhar</title>
    <description>The latest articles on DEV Community by Fasih Ud Din Mazhar (@fasihuddinmazhar).</description>
    <link>https://dev.to/fasihuddinmazhar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4129465%2Fa2d7683b-feb5-4356-8fea-f994e39246a9.png</url>
      <title>DEV Community: Fasih Ud Din Mazhar</title>
      <link>https://dev.to/fasihuddinmazhar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fasihuddinmazhar"/>
    <language>en</language>
    <item>
      <title>Seamless by construction: chaining ten video segments into one scroll-scrubbed loop</title>
      <dc:creator>Fasih Ud Din Mazhar</dc:creator>
      <pubDate>Thu, 17 Sep 2026 08:48:20 +0000</pubDate>
      <link>https://dev.to/fasihuddinmazhar/seamless-by-construction-chaining-ten-video-segments-into-one-scroll-scrubbed-loop-3d6b</link>
      <guid>https://dev.to/fasihuddinmazhar/seamless-by-construction-chaining-ten-video-segments-into-one-scroll-scrubbed-loop-3d6b</guid>
      <description>&lt;p&gt;&lt;em&gt;By Fasih Ud Din Mazhar, founder and director of Atelier Vivance, a cinematic web studio in Lahore, Pakistan.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Cinq Terres is a demonstration site the studio built for an invented fragrance house: five worlds for a single fragrance on one unbroken timeline. It is self-initiated work, not a client commission, and its moving imagery was generated and composited by the studio. It is live at &lt;a href="https://cinq-terres.ateliervivance.com" rel="noopener noreferrer"&gt;cinq-terres.ateliervivance.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This post covers the three decisions that made it read as film instead of a slideshow.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The failure it replaced
&lt;/h2&gt;

&lt;p&gt;Five products is normally five pages, or one page with five cards and a transition between them. This build spent most of its life as exactly that, and our own build log names why it failed: "Five cards with effects between them is a slideshow." A slideshow tells the visitor the five things are separate, which for a collection is the one thing they must not believe.&lt;/p&gt;

&lt;p&gt;So the continuity had to be the product, not an effect laid over the seams.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Seams removed by construction, not hidden
&lt;/h2&gt;

&lt;p&gt;The site is one film of ten chained segments, scrubbed by scroll, and the fifth world returns to the first, so there is no end of the page to bounce off.&lt;/p&gt;

&lt;p&gt;The usual way to join two clips is a dissolve. A dissolve only holds at the speed it was authored for: scroll faster or slower and the seam shows. Instead, every clip was generated with its first and last frame locked to the same still image. Each join is therefore the same file twice. The seam is not hidden. It does not exist.&lt;/p&gt;

&lt;p&gt;The five worlds are also five hours of one day: first light on a glacier, mid-morning in a conifer forest, golden hour on a dune, dusk on a tide flat, astronomical night under the Milky Way, then back to first light. Most crossings push the camera into a foreground object and out the other side somewhere else. One of the five does not work that way. It is an honest travelling shot, and we say so on the case study rather than pretend otherwise.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Settling on one clean frame
&lt;/h2&gt;

&lt;p&gt;Scroll input is noisy. If the frame index follows it directly, the picture jitters, and if you blend frames to smooth it, a stopped visitor looks at two images ghosted together.&lt;/p&gt;

&lt;p&gt;Cinq Terres puts a damped spring between the scroll position and the frame index. The image settles rather than snaps, and as it slows it resolves onto a single frame, so what you look at when you stop is one clean image.&lt;/p&gt;

&lt;h2&gt;
  
  
  The numbers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Scrub-addressable frames: 848 (one still image the scroll can stop on each)&lt;/li&gt;
&lt;li&gt;Chained film segments: 10&lt;/li&gt;
&lt;li&gt;Total frame payload: 73.7 MB&lt;/li&gt;
&lt;li&gt;Median frame time: 16.7 ms, one sixtieth of a second&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Holding a sixtieth of a second per frame is the difference between something that reads as film and something that reads as a slideshow.&lt;/p&gt;

&lt;h2&gt;
  
  
  About the studio
&lt;/h2&gt;

&lt;p&gt;Atelier Vivance (spelled V-I-V-A-N-C-E) is a cinematic web studio in Lahore, Punjab, Pakistan, founded and directed by Fasih Ud Din Mazhar. It builds 3D and immersive websites, luxury real estate websites, premium e-commerce websites and website rebuilds. It is not connected to any similarly named business elsewhere.&lt;/p&gt;

&lt;p&gt;Full case study: &lt;a href="https://ateliervivance.com/work/cinq-terres/" rel="noopener noreferrer"&gt;ateliervivance.com/work/cinq-terres&lt;/a&gt; · Studio: &lt;a href="https://ateliervivance.com/studio/" rel="noopener noreferrer"&gt;ateliervivance.com/studio&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>design</category>
      <category>animation</category>
    </item>
  </channel>
</rss>
