# feel.digital > feel.digital is the website of Den Ivanov. Its English notebook covers cameras and video, graphics, VR and AR, AI, crypto and networks, and building software. ## Website - [Home](https://feel.digital/): The feel.digital website. - [Apps](https://feel.digital/apps/): Applications, tools and spatial experiences, with product and support links. - [Blog](https://feel.digital/blog/): The complete article archive with topics, years and search. - [RSS](https://feel.digital/blog/rss.xml): Published article feed. - [Sitemap index](https://feel.digital/sitemap-index.xml): All website sitemap files. - [Site sitemap](https://feel.digital/sitemap.xml): Main website and app pages. - [Blog sitemap](https://feel.digital/blog/sitemap.xml): Canonical article URLs. - [Full notebook text](https://feel.digital/llms-full.txt): Public article text in one Markdown file. ## Articles: 2026 - [Aerolith: Giving a Small Arcade Game a Clear Shape](https://feel.digital/blog/2026-10-a-aerolith-giving-a-small-arcade-game-a-clear-shape/): October 2026. Aerolith is a three-mission arcade-shooter prologue for iPhone. Automatic fire, a short escape route and readable threats keep the game's attention on movement through the screen. - [Thalassa: A Game Built over a Weekend](https://feel.digital/blog/2026-09-a-thalassa-a-game-built-over-a-weekend/): September 2026. I built a Thalassa game prototype with GPT-6 over a weekend and shared it while much of the graphics was still missing. The next useful step is choosing what needs to become coherent before adding more. - [One Photo, a Gaussian Scene, and an Awkward Face](https://feel.digital/blog/2026-08-a-one-photo-a-gaussian-scene-and-an-awkward-face/): August 2026. I tried making a Gaussian scene from one ordinary photograph. The awkward result around a face was a useful reminder that a plausible new view is an inference, not another captured observation. - [Camera Calibration from a Single Image](https://feel.digital/blog/2026-07-a-camera-calibration-from-a-single-image/): July 2026. GeoCalib estimates camera parameters and gravity direction from one image. It is useful for bringing unfamiliar photographs into graphics workflows, provided calibration estimates are not mistaken for a complete scene reconstruction. - [A Printer Plugin Grows Up](https://feel.digital/blog/2026-06-b-a-printer-plugin-grows-up/): June 2026. The v3 rewrite of my Unity printer plugin separates capture, document layout and platform printing. A capability-based API makes differences between desktop, mobile and browser output explicit. - [Stereo Video from an Ordinary Web Page](https://feel.digital/blog/2026-06-a-stereo-video-from-an-ordinary-web-page/): June 2026. My Safari extension prototype reuses a page's video as a texture and presents the correct region to each eye in WebXR. The crop is simple; orientation, controls and browser playback behavior take more care. - [Keeping an Experimental Practice from Narrowing](https://feel.digital/blog/2026-05-a-keeping-an-experimental-practice-from-narrowing/): May 2026. J Bostock's essay on mode collapse is a useful prompt to examine how successful habits can narrow a creative practice. I am interested in preserving the ability to try unfamiliar work without treating specialization as a failure. - [Giving an Attractor a Place in the Room](https://feel.digital/blog/2026-04-a-giving-an-attractor-a-place-in-the-room/): April 2026. My early visionOS Hopalong prototype turns a deterministic attractor into a spatial tunnel. The interesting design work is in scale, movement and the viewer's ability to remain comfortable inside the pattern. - [A Placeholder That Started to Feel Like a Place](https://feel.digital/blog/2026-03-a-a-placeholder-that-started-to-feel-like-a-place/): March 2026. I replaced the old feel.digital placeholder with a new one using Codex. A small site can carry a sense of place before it grows into a large archive of work. - [From Pascal and Assembly to Swift and Metal](https://feel.digital/blog/2026-02-a-from-pascal-and-assembly-to-swift-and-metal/): February 2026. I started porting an old assembly and Pascal project to Swift and Metal with Codex. The first problem worth fixing was how the agent explained its work, because I still needed to understand the transformation. - [Porting AquaDegrees While I Was Away](https://feel.digital/blog/2026-01-a-porting-aquadegrees-while-i-was-away/): January 2026. I asked Claude Code to read AquaDegrees for iOS, leave it untouched and build an Android counterpart. About an hour later, an emulator was running the result, including widget and watch components. ## Articles: 2025 - [Smart Contracts as a Test for Coding Agents](https://feel.digital/blog/2025-12-a-smart-contracts-as-a-test-for-coding-agents/): December 2025. Smart-contract simulators provide a concrete way to test an agent against executable behavior. Anthropic's study is most useful as a lesson in reproducible security evaluation, rather than a headline about stolen funds. - [From a Panorama to a Graphics-Ready Room](https://feel.digital/blog/2025-11-a-from-a-panorama-to-a-graphics-ready-room/): November 2025. OmniX links panoramic generation with depth and material estimation. The useful question is what survives when an attractive panorama becomes a scene that can be relit and viewed from elsewhere. - [Putting a Real Camera inside a Unity Workflow](https://feel.digital/blog/2025-10-b-putting-a-real-camera-inside-a-unity-workflow/): October 2025. A Canon camera and a Unity scene operate on different schedules. My plugin work connects device control and live-view data while making session lifetime and threading explicit. - [Building Compliage from the Beach](https://feel.digital/blog/2025-10-a-building-compliage-from-the-beach/): October 2025. I used Gemini CLI to build Compliage while on holiday, including data work, payments, tests and deployment. The experience made the role of a precise engineering request more obvious, not less. - [A Smaller File Can Change a 3D Workflow](https://feel.digital/blog/2025-09-a-a-smaller-file-can-change-a-3d-workflow/): September 2025. SOG packages Gaussian scenes into a more compact form for delivery. Its practical significance is the shorter path from a captured scene to a page someone can actually open. - [Spatial Video as a Memory Format](https://feel.digital/blog/2025-08-a-spatial-video-as-a-memory-format/): August 2025. I have been taking more spatial photos and videos because I enjoy revisiting ordinary moments in a headset. The value is personal, and it changes what I consider worth capturing. - [AquaDegrees: One Small Question, One Small App](https://feel.digital/blog/2025-07-a-aquadegrees-one-small-question-one-small-app/): July 2025. AquaDegrees keeps its scope close to a single question: how warm is the water nearby? By summer 2025, its phone and Watch surfaces were different ways to reach that same answer. - [Water Temperature at a Glance](https://feel.digital/blog/2025-06-a-water-temperature-at-a-glance/): June 2025. Adding AquaDegrees to Apple Watch exposed the difference between fetching a value and showing a timely value on a watch face. Synchronization and refresh behavior deserve as much attention as the compact layout. - [Two Nights with a Coding Agent](https://feel.digital/blog/2025-05-a-two-nights-with-a-coding-agent/): May 2025. After two nights with Claude Code, the useful lesson was about task definition and review. Fast implementation is most valuable when I can say precisely what a correct result should do. - [What a Research Notebook Sounds Like](https://feel.digital/blog/2025-04-a-what-a-research-notebook-sounds-like/): April 2025. I tried NotebookLM in Russian and liked the result. Listening can reveal a different structure in research material, but the original documents remain the place to check what the narration claims. - [Measuring Stereo Compression One Eye at a Time](https://feel.digital/blog/2025-03-b-measuring-stereo-compression-one-eye-at-a-time/): March 2025. A stereo compression comparison needs separate left-eye and right-eye measurements, aligned frames and an explicit aggregation method. My script sets up the experiment, but its summary is not a sequence-level benchmark. - [A Smaller View of a Very Large Stereo Frame](https://feel.digital/blog/2025-03-a-a-smaller-view-of-a-very-large-stereo-frame/): March 2025. My small C utility extracts one eye from a large stereo HEVC frame, resizes it and encodes a smaller output. It is a useful example of why a preview stream should have an explicit purpose. - [Exact Volumes, Familiar Splats](https://feel.digital/blog/2025-02-a-exact-volumes-familiar-splats/): February 2025. EVER changes the rendering calculation behind an ellipsoid-based scene. Exact volumetric integration offers a useful comparison with the screen-space approximation used by Gaussian splatting. - [A Camera Control Panel in Half an Hour](https://feel.digital/blog/2025-01-a-a-camera-control-panel-in-half-an-hour/): January 2025. Claude helped me build a Python camera server and a browser control panel in about half an hour. Preview and settings worked as a prototype; simultaneous dual-4K recording remained the next experiment. ## Articles: 2024 - [Ordering a Tiny Computer for a Big Stereo Idea](https://feel.digital/blog/2024-12-a-ordering-a-tiny-computer-for-a-big-stereo-idea/): December 2024. I ordered a Jetson Orin Nano Super to explore a compact stereo-camera setup. The immediate engineering question is video throughput, especially on a board without a dedicated hardware encoder. - [From a Prompt to a Small Application](https://feel.digital/blog/2024-11-a-from-a-prompt-to-a-small-application/): November 2024. GitHub Spark proposes personal micro-apps built through a natural-language editor and managed runtime. The difficult boundary is between a convincing demonstration and a tool that stays useful after repeated use. - [The Browser Is Becoming a Serious Game Target](https://feel.digital/blog/2024-10-a-the-browser-is-becoming-a-serious-game-target/): October 2024. Unity 6 makes mobile web a more explicit target. A good browser game starts with its loading and input constraints, because the first minute includes the wait before the first move. - [The Notebook of Ideas Starts to Look Buildable](https://feel.digital/blog/2024-09-a-the-notebook-of-ideas-starts-to-look-buildable/): September 2024. Trying Replit Agent made a backlog of small ideas feel more approachable. The valuable change is reaching a testable interaction sooner, while keeping the experiment small enough to judge. - [Preparing AquaDegrees for Its First Store Version](https://feel.digital/blog/2024-08-b-preparing-aquadegrees-for-its-first-store-version/): August 2024. The first store-version milestone for AquaDegrees was a change in expectations. A useful prototype had to become an app that could explain itself without its developer standing nearby. - [A Gaussian Scene You Can Touch](https://feel.digital/blog/2024-08-a-a-gaussian-scene-you-can-touch/): August 2024. VR-GS adds simulation and interaction to a Gaussian scene. It exposes the missing link between a representation that looks like an object and one that can respond like an object. - [One Model, Several Macs](https://feel.digital/blog/2024-07-a-one-model-several-macs/): July 2024. Experimental distributed inference can combine the memory of several machines. The useful distinction is between fitting a larger model and making it respond faster. - [Stereo Vision Still Matters](https://feel.digital/blog/2024-06-a-stereo-vision-still-matters/): June 2024. Deep stereo matching is easier to understand as a chain of assumptions than as a leaderboard. Calibration, ambiguous surfaces and temporal consistency shape the result before a model reaches an application. - [A Small App for a Very Local Question](https://feel.digital/blog/2024-05-a-a-small-app-for-a-very-local-question/): May 2024. The early water-temperature app starts with a narrow, practical question. Its hardest design requirement is making a small answer understandable without implying more precision than the data provides. - [A Soundtrack from a Prompt Is Still a Design Task](https://feel.digital/blog/2024-04-a-a-soundtrack-from-a-prompt-is-still-a-design-task/): April 2024. Stable Audio 2.0 makes longer generated audio possible. Interactive sound still needs deliberate structure, transitions and a clear place in the scene. - [Generating Motion from 2D Evidence](https://feel.digital/blog/2024-03-a-generating-motion-from-2d-evidence/): March 2024. MAS builds 3D motion from a model trained on 2D motion evidence. Its interesting step is the repeated negotiation between plausible views and a consistent moving skeleton. - [WebGPU Reaches Android](https://feel.digital/blog/2024-02-a-webgpu-reaches-android/): February 2024. Chrome 121 brought WebGPU to a subset of Android devices. Compute access is useful, but a mobile browser still has a frame budget, a battery and a page that must respond to touch. - [I Let an AI Assemble a Short Video](https://feel.digital/blog/2024-01-a-i-let-an-ai-assemble-a-short-video/): January 2024. A two-minute InVideo experiment produced a complete short from a single request. The useful result was a first edit I could react to, rather than a collection of separate assets. ## Articles: 2023 - [Depth from One Picture, with a Diffusion Prior](https://feel.digital/blog/2023-12-a-depth-from-one-picture-with-a-diffusion-prior/): December 2023. Marigold uses a diffusion model's visual prior to estimate relative depth from one image. Useful depth structure does not imply a physical distance measurement. - [Small Stereo Baselines Have a Use Case](https://feel.digital/blog/2023-11-a-small-stereo-baselines-have-a-use-case/): November 2023. A small camera baseline produces less stereo disparity, which can be useful for close subjects even though it limits depth separation farther away. - [Can You Walk around a Live Stream?](https://feel.digital/blog/2023-10-a-can-you-walk-around-a-live-stream/): October 2023. 4D Gaussian Splatting makes dynamic scenes render quickly after training. Live volumetric streaming needs several additional parts of the pipeline. - [Small Equations, Long Orbits](https://feel.digital/blog/2023-09-b-small-equations-long-orbits/): September 2023. Barry Martin's Hopalong recurrence generates intricate orbits from a few parameters. A small implementation makes its rules easy to explore. - [Gaussian Splatting Comes to Unity](https://feel.digital/blog/2023-09-a-gaussian-splatting-comes-to-unity/): September 2023. Aras's Unity Gaussian Splatting project brings a new scene representation into a familiar engine, exposing practical questions about blending, memory and interaction. - [RTMP Is Old, but the Pipeline Is Not Going Away](https://feel.digital/blog/2023-08-a-rtmp-is-old-but-the-pipeline-is-not-going-away/): August 2023. Enhanced RTMP extends a familiar ingest path for newer video codecs, making compatibility across the entire streaming chain the central question. - [A Local Chatbot for a Folder of Documents](https://feel.digital/blog/2023-07-a-a-local-chatbot-for-a-folder-of-documents/): July 2023. A local document assistant needs reliable retrieval and visible evidence. The language model is only one part of answering questions about a folder. - [Local Language Models Learn to Use the GPU](https://feel.digital/blog/2023-06-a-local-language-models-learn-to-use-the-gpu/): June 2023. The first Metal implementation in llama.cpp moves local generation onto Apple silicon GPUs, while memory and the distinction between prompt processing and decoding remain important. - [Looking Back at My Leap Motion Projects](https://feel.digital/blog/2023-05-a-looking-back-at-my-leap-motion-projects/): May 2023. The second Leap Motion controller announcement made me revisit why hand tracking appealed to me, and what a useful gesture interface still needs. - [From a Single Image to a 3D Asset](https://feel.digital/blog/2023-04-a-from-a-single-image-to-a-3d-asset/): April 2023. Make-It-3D combines image evidence with a diffusion prior, showing both the appeal and the ambiguity of generating an object from one view. - [Building a Small Tool with GPT-4](https://feel.digital/blog/2023-03-a-building-a-small-tool-with-gpt-4/): March 2023. I used GPT-4 to build a small Python application connecting YouTube Data API and ChatGPT API. The useful surprise was how it explained the surrounding setup. - [A Model That Knows When to Use a Tool](https://feel.digital/blog/2023-02-a-a-model-that-knows-when-to-use-a-tool/): February 2023. Toolformer explores how a language model can learn when an external calculation or lookup is useful, rather than relying on text prediction alone. - [The VR Camera Is Becoming a Sensor System](https://feel.digital/blog/2023-01-a-the-vr-camera-is-becoming-a-sensor-system/): January 2023. Lenovo's Project Chronos concept treats the camera as a sensor for an avatar, raising questions about depth, tracking and access to the resulting data. ## Articles: 2022 - [Diffusion on the Machine You Already Own](https://feel.digital/blog/2022-12-a-diffusion-on-the-machine-you-already-own/): December 2022. Apple's Core ML Stable Diffusion work brings local generation closer to ordinary applications, where memory, responsiveness and model packaging become product decisions. - [Two Images, One Depth Map](https://feel.digital/blog/2022-11-a-two-images-one-depth-map/): November 2022. Stereo depth turns disparity into distance. HITNet improves the matching stage, while calibration and uncertainty still determine how the result can be used. - [NeRF Leaves the Research Notebook](https://feel.digital/blog/2022-10-a-nerf-leaves-the-research-notebook/): October 2022. Nerfstudio makes radiance-field experiments easier to inspect and repeat, bringing attention to the workflow around the rendering method. - [What Happens When Diffusion Meets Blender?](https://feel.digital/blog/2022-09-a-what-happens-when-diffusion-meets-blender/): September 2022. A 3D scene can provide composition for diffusion, but stable geometry in the input does not guarantee stable details in the generated sequence. - [From a Prompt to a Place](https://feel.digital/blog/2022-08-a-from-a-prompt-to-a-place/): August 2022. Generated images suggest a route toward generated places, but a navigable world must preserve relationships that a single picture can leave unresolved. - [A Digital Head from a Single Picture](https://feel.digital/blog/2022-07-a-a-digital-head-from-a-single-picture/): July 2022. MegaPortraits separates a source identity from driving motion, while using learned priors to fill information that a single portrait cannot contain. - [Mixed Reality Needs More than Passthrough](https://feel.digital/blog/2022-06-a-mixed-reality-needs-more-than-passthrough/): June 2022. Presence Platform and The World Beyond suggest how a mixed-reality application can treat a room as an interactive place rather than a video background. - [Can My GoPro Become a 4K60 Streaming Camera?](https://feel.digital/blog/2022-05-a-can-my-gopro-become-a-4k60-streaming-camera/): May 2022. My search for 4K60 GoPro streaming led to Open GoPro and GoPro Labs, and to a useful separation between controlling a camera and obtaining its video. - [Ten Years of Oculus, and the Problems That Remain](https://feel.digital/blog/2022-04-a-ten-years-of-oculus-and-the-problems-that-remain/): April 2022. The Oculus anniversary brings attention back to comfort, latency and the practical cost of entering VR. - [Scanning a Room with an Ordinary Camera](https://feel.digital/blog/2022-03-a-scanning-a-room-with-an-ordinary-camera/): March 2022. NeuralRecon combines local surface predictions over time. A stable room scan depends on that accumulation as well as the quality of each frame. - [Before Image Generation Had a Polished UI](https://feel.digital/blog/2022-02-a-before-image-generation-had-a-polished-ui/): February 2022. Disco Diffusion makes generation feel like an editable experiment, with seeds, parameters and intermediate results exposed in a notebook. - [The Server Hiding inside Web3](https://feel.digital/blog/2022-01-a-the-server-hiding-inside-web3/): January 2022. A decentralized ledger can still reach its users through centralized servers. Web3 applications need to be examined along the whole request path. ## Articles: 2021 - [Do We Need a Neural Network to Render a NeRF?](https://feel.digital/blog/2021-12-a-do-we-need-a-neural-network-to-render-a-nerf/): December 2021. Plenoxels separates the value of a radiance-field representation from the assumption that a neural network must store it. - [One Lens, Two Views](https://feel.digital/blog/2021-11-a-one-lens-two-views/): November 2021. Canon's Dual Fisheye design puts two views on one sensor, simplifying synchronization while leaving stereo geometry and projection work intact. - [When a Neural Scene Changes Shape](https://feel.digital/blog/2021-10-a-when-a-neural-scene-changes-shape/): October 2021. HyperNeRF uses an expanded representation to handle changes that a simple deformation of a fixed scene cannot describe cleanly. - [Painting with Materials instead of Pixels](https://feel.digital/blog/2021-09-a-painting-with-materials-instead-of-pixels/): September 2021. Canvas turns semantic regions into images, making composition and material choice direct controls while leaving exact detail partly to the model. - [A Concert Is Also a Level Design Problem](https://feel.digital/blog/2021-08-a-a-concert-is-also-a-level-design-problem/): August 2021. Fortnite's Rift Tour shows how a musical event can use movement, scale and shared timing as part of its composition. - [Landscapes from a Few Functions](https://feel.digital/blog/2021-07-a-landscapes-from-a-few-functions/): July 2021. Procedural terrain becomes easier to understand when broad shape, fine variation and safe distance estimates are treated separately. - [The Unity Editor Gets an Apple Silicon Preview](https://feel.digital/blog/2021-06-a-the-unity-editor-gets-an-apple-silicon-preview/): June 2021. Unity's Apple Silicon preview raises practical questions about native plugins, editor tooling and reproducible project environments. - [Cloth Is Still a Difficult Simulation](https://feel.digital/blog/2021-05-a-cloth-is-still-a-difficult-simulation/): May 2021. Learned garment deformation can make clothing more practical to animate, but body contact, material behavior and unfamiliar poses remain distinct challenges. - [A Digital Avatar Starts with a Camera](https://feel.digital/blog/2021-04-a-a-digital-avatar-starts-with-a-camera/): April 2021. NVIDIA's AR SDK can provide face and body estimates, but an avatar needs an explicit mapping from those measurements to its own expressive controls. - [An NFT Is More than the Token](https://feel.digital/blog/2021-03-a-an-nft-is-more-than-the-token/): March 2021. An NFT connects a token record to metadata and media through several systems. Persistence depends on how those connections are maintained. - [MetaHuman and the Cost of Believability](https://feel.digital/blog/2021-02-a-metahuman-and-the-cost-of-believability/): February 2021. MetaHuman lowers the cost of assembling a detailed digital person, while leaving performance, lighting and character decisions in the creator's hands. - [Face, Hands, Body: One Tracking Pipeline](https://feel.digital/blog/2021-01-a-face-hands-body-one-tracking-pipeline/): January 2021. MediaPipe Holistic shows why face, hand and body tracking benefit from a coordinated pipeline instead of three unrelated detectors. ## Articles: 2020 - [A Fashion Show You Can Walk Through](https://feel.digital/blog/2020-12-a-a-fashion-show-you-can-walk-through/): December 2020. Balenciaga Afterworld makes fashion presentation spatial. That changes how a viewer moves, where attention lands and how clothing can be inspected. - [Running a Neural Network inside Unity](https://feel.digital/blog/2020-11-a-running-a-neural-network-inside-unity/): November 2020. Putting style transfer into a game requires attention to image conversion, GPU work and temporal stability as well as the neural network. - [What Depth Could Add to Web AR](https://feel.digital/blog/2020-10-a-what-depth-could-add-to-web-ar/): October 2020. The early WebXR depth proposal could help virtual objects respond to real surfaces, but depth must be aligned, interpreted and trusted selectively. - [Virtual Production on a Small Setup](https://feel.digital/blog/2020-09-a-virtual-production-on-a-small-setup/): September 2020. A small virtual production setup needs a dependable matte, matched camera geometry and controlled delay before it needs a complicated set. - [The Messy Internet as a 3D Dataset](https://feel.digital/blog/2020-08-a-the-messy-internet-as-a-3d-dataset/): August 2020. NeRF-W separates persistent scene structure from changing appearance and temporary occluders in uncontrolled photo collections. - [A Face Tracker Is Part of a Larger System](https://feel.digital/blog/2020-07-a-a-face-tracker-is-part-of-a-larger-system/): July 2020. My Broadcast AR SDK changes expose head pose and alter the sample workflow. They show why tracking integration extends beyond inference. - [The Last Percent of a Digital Human](https://feel.digital/blog/2020-06-a-the-last-percent-of-a-digital-human/): June 2020. Gawain from The Heretic is a useful reference for thinking about how facial geometry, lighting and motion must agree. - [What an Open-Source 360 Stitcher Reveals](https://feel.digital/blog/2020-05-a-what-an-open-source-360-stitcher-reveals/): May 2020. The open Vahana VR and VideoStitch code reveals why a 360 pipeline needs separate answers for calibration, seams, timing and delivery. - [The Webcam Becomes a Graphics Input](https://feel.digital/blog/2020-04-a-the-webcam-becomes-a-graphics-input/): April 2020. A webcam becomes an input device when tracking data is translated into stable, correctly timed controls for a graphics application. - [NeRF: A Scene Stored as a Function](https://feel.digital/blog/2020-03-a-nerf-a-scene-stored-as-a-function/): March 2020. The original NeRF represents a scene with density and view-dependent color. Rendering a new view means sampling that function along camera rays. - [Removing a Person Is Harder than Detecting One](https://feel.digital/blog/2020-02-a-removing-a-person-is-harder-than-detecting-one/): February 2020. Person removal depends on remembering a plausible background, handling uncertain boundaries and keeping the result stable across frames. - [The Meeting Room Is Becoming a Scene](https://feel.digital/blog/2020-01-a-the-meeting-room-is-becoming-a-scene/): January 2020. Spatial collaboration becomes useful when people need to point at the same object, rather than simply occupy the same virtual room. ## Articles: 2019 - [What StyleGAN2 Fixed and What It Did Not](https://feel.digital/blog/2019-12-a-what-stylegan2-fixed-and-what-it-did-not/): December 2019. StyleGAN2 traces recurring image artifacts back to architecture and training choices. Cleaner outputs improve the tool without making its latent space a complete model of the world. - [Volumetric Capture Is a Synchronization Problem](https://feel.digital/blog/2019-11-b-volumetric-capture-is-a-synchronization-problem/): November 2019. A distributed volumetric capture system needs a common space and a common timeline. Small disagreements turn into visible seams on moving subjects. - [Separating a Song into Its Parts](https://feel.digital/blog/2019-11-a-separating-a-song-into-its-parts/): November 2019. Spleeter estimates separate musical sources from a finished mix. Its usefulness comes from making an imperfect inverse problem easy to explore. - [From RenderTexture to a Printed Artifact](https://feel.digital/blog/2019-10-a-from-rendertexture-to-a-printed-artifact/): October 2019. The public PrinterPluginPro documentation turns a Unity image into a clear integration contract: readable pixel data, explicit page fitting and a deliberate capture step. - [Face Filters Are a Real-Time Systems Problem](https://feel.digital/blog/2019-09-a-face-filters-are-a-real-time-systems-problem/): September 2019. A browser face filter combines capture, tracking and rendering on a shared frame budget. Small timing and coordinate errors can break the illusion. - [Hands as a Mobile Interface](https://feel.digital/blog/2019-08-a-hands-as-a-mobile-interface/): August 2019. MediaPipe's hand-tracking pipeline separates locating a palm from estimating finger landmarks. A usable gesture interface needs another layer of state and feedback. - [Rendering a Scene without a Mesh](https://feel.digital/blog/2019-07-a-rendering-a-scene-without-a-mesh/): July 2019. Neural Point-Based Graphics attaches learned features to a point cloud and trains a renderer to turn projected features into an image. - [Walking between Photographs](https://feel.digital/blog/2019-06-a-walking-between-photographs/): June 2019. DeepView uses layered images to synthesize nearby viewpoints. Occlusion is the reason a stack of layers can do more than a single depth-warped photograph. - [AR without an App Install](https://feel.digital/blog/2019-05-a-ar-without-an-app-install/): May 2019. Browser AR reduces the cost of entering a spatial experience. A good prototype still needs a narrow tracking promise and a useful fallback. - [Teaching Game Agents to Play Together](https://feel.digital/blog/2019-04-a-teaching-game-agents-to-play-together/): April 2019. A small soccer environment exposes the design decisions behind learned behavior: what agents observe, which actions they can take and what earns a reward. - [Putting Body Tracking inside Unity](https://feel.digital/blog/2019-03-a-putting-body-tracking-inside-unity/): March 2019. OpenPose's Unity wrapper supplies body keypoints. Turning those estimates into interaction requires coordinate mapping, confidence handling and a clear behavior when tracking fails. - [Presence from Four Depth Cameras](https://feel.digital/blog/2019-02-a-presence-from-four-depth-cameras/): February 2019. Multiple depth cameras can turn a remote person into a spatial capture. The useful freedom depends on coverage, alignment and what the cameras cannot see. - [Mobile XR Has a Bandwidth Problem](https://feel.digital/blog/2019-01-a-mobile-xr-has-a-bandwidth-problem/): January 2019. Mobile XR moves camera, tracking and display data through a shared power budget. More compute helps only when the whole pipeline keeps up. ## Articles: 2018 - [Fisheye Calibration before the Pretty Picture](https://feel.digital/blog/2018-12-a-fisheye-calibration-before-the-pretty-picture/): December 2018. A fisheye image is a map of directions. Calibration and rectification depend on choosing a projection that respects its wide field of view. - [VR180 Is Geometry Hidden in a Video File](https://feel.digital/blog/2018-11-a-vr180-is-geometry-hidden-in-a-video-file/): November 2018. My VR180 broadcast experiments led into MP4 projection metadata, where a rectangular video frame becomes separate views on a mesh. - [Teaching a Character by Showing It a Video](https://feel.digital/blog/2018-10-a-teaching-a-character-by-showing-it-a-video/): October 2018. Berkeley's SFV pipeline turns video into a motion reference, then trains a simulated character to reproduce the skill under physics. - [The Browser as a Door into VR](https://feel.digital/blog/2018-09-a-the-browser-as-a-door-into-vr/): September 2018. Firefox Reality brings the web's familiar idea of following a link into a headset, where navigation and text input need different treatment. - [Why VR180 Trades Coverage for Detail](https://feel.digital/blog/2018-08-a-why-vr180-trades-coverage-for-detail/): August 2018. VR180 spends its image budget on the space in front of the camera. That changes both technical sampling and the way a scene should be staged. - [Calibration before Reconstruction](https://feel.digital/blog/2018-07-a-calibration-before-reconstruction/): July 2018. A reconstruction pipeline needs agreement about lenses, coordinate systems and time before it can turn images into a trustworthy scene. - [Seurat and the Art of Keeping Only What You Can See](https://feel.digital/blog/2018-06-a-seurat-and-the-art-of-keeping-only-what-you-can-see/): June 2018. Seurat simplifies a scene around a chosen region of viewpoints. Limiting where the viewer can move creates room for much richer appearance. - [Livepeer: A Useful Question for Blockchain](https://feel.digital/blog/2018-05-a-livepeer-a-useful-question-for-blockchain/): May 2018. Livepeer's alpha connects a concrete computing job to a coordination protocol. The interesting questions concern service quality, verification and payment. - [From a Short Video to a Digital Human](https://feel.digital/blog/2018-04-a-from-a-short-video-to-a-digital-human/): April 2018. A monocular video can constrain a digital human from several directions, provided the system accounts for the person's motion between frames. - [Learning ML from the Graphics Side](https://feel.digital/blog/2018-03-a-learning-ml-from-the-graphics-side/): March 2018. I want to learn machine learning through images and graphics problems I can inspect, starting with small experiments and honest comparisons. - [Growing a Generator One Resolution at a Time](https://feel.digital/blog/2018-02-b-growing-a-generator-one-resolution-at-a-time/): February 2018. Progressive GAN training begins with a small image and adds detail gradually. The transition between resolutions is part of the method. - [A Mandelbrot Set on the GPU](https://feel.digital/blog/2018-02-a-a-mandelbrot-set-on-the-gpu/): February 2018. The Mandelbrot set is a compact way to understand GPU work: independent pixels, repeated arithmetic and a surprising amount of control-flow variation. - [What Does a Private Transaction Hide?](https://feel.digital/blog/2018-01-a-what-does-a-private-transaction-hide/): January 2018. Zcash separates proof that a transaction is valid from public disclosure of its contents. Privacy still depends on the surrounding transaction path. ## Articles: 2017 - [Why Bright Renders Turn White](https://feel.digital/blog/2017-12-b-why-bright-renders-turn-white/): December 2017. Filmic makes the transformation from scene values to display values explicit. A bright pixel need not lose all of its neighbors to clipping. - [Mining Profitability Is a Moving Target](https://feel.digital/blog/2017-12-a-mining-profitability-is-a-moving-target/): December 2017. MultiPoolMiner is an example of a controller choosing between changing estimates. Switching costs and stale measurements complicate the obvious rule. - [Discovery without an Infinite Feed](https://feel.digital/blog/2017-11-a-discovery-without-an-infinite-feed/): November 2017. A map and a decade selector offer a different rhythm for music discovery: choose a direction, then let the archive surprise you. - [A Portable 3D Scene Needs a Shared Material Language](https://feel.digital/blog/2017-10-a-a-portable-3d-scene-needs-a-shared-material-language/): October 2017. glTF 2.0 gives materials a portable description, making it easier to move a scene without carrying one renderer's shader code along with it. - [Can You See a Blockchain?](https://feel.digital/blog/2017-09-a-can-you-see-a-blockchain/): September 2017. Transaction visualizations make a network feel tangible, but their mappings can hide uncertainty about what the activity actually means. - [An Interface to a Century of Recorded Sound](https://feel.digital/blog/2017-08-a-an-interface-to-a-century-of-recorded-sound/): August 2017. The Great 78 Project makes old recordings explorable through careful transfers, metadata and access to the imperfections of the source. - [Printing a Unity Texture in the Real World](https://feel.digital/blog/2017-07-a-printing-a-unity-texture-in-the-real-world/): July 2017. My early PrinterPluginPro work connects a Unity texture to a physical printer. The difficult part is the boundary between rendering and native output. - [A Flash Crash Is a System of Feedback Loops](https://feel.digital/blog/2017-06-a-a-flash-crash-is-a-system-of-feedback-loops/): June 2017. The June GDAX price collapse shows how order-book liquidity, stop orders and forced selling can amplify one another. - [Focus Is a Coordinate: Exploring Light Fields](https://feel.digital/blog/2017-05-a-focus-is-a-coordinate-exploring-light-fields/): May 2017. A light field samples where rays travel as well as where they land. Refocusing becomes an operation on those samples. - [RTMP Can Carry More than Video](https://feel.digital/blog/2017-04-a-rtmp-can-carry-more-than-video/): April 2017. A small .NET RTMP client separates three ideas that are often bundled together: media transport, remote calls and video encoding. - [When Design Starts with a Search Space](https://feel.digital/blog/2017-03-a-when-design-starts-with-a-search-space/): March 2017. Generative design makes the definition of a problem part of the design itself. The useful output is a set of informed choices. - [A Shader Is a Small World](https://feel.digital/blog/2017-02-a-a-shader-is-a-small-world/): February 2017. A fragment shader turns coordinates and time into an image. A tiny moving shape is enough to explain the feedback loop. - [Order from Chaos: Music as a Generative System](https://feel.digital/blog/2017-01-a-order-from-chaos-music-as-a-generative-system/): January 2017. Max Cooper and Maxime Causeret turn musical repetition into a visual study of growth, motion and small variations. ## Articles: 2016 - [From Edges to Images with pix2pix](https://feel.digital/blog/2016-12-a-from-edges-to-images-with-pix2pix/): December 2016. pix2pix treats image translation as a learned relationship between paired examples, with a second network judging whether the result fits. - [Two Fisheye Images, One Difficult Seam](https://feel.digital/blog/2016-11-a-two-fisheye-images-one-difficult-seam/): November 2016. My early theta_stitch work sits inside a deceptively compact problem: reconciling lens geometry, overlap and parallax between two fisheye images. - [Small Rules, Surprisingly Large Worlds](https://feel.digital/blog/2016-10-a-small-rules-surprisingly-large-worlds/): October 2016. Wave Function Collapse builds larger patterns by propagating local constraints. Its successes and contradictions are both useful to understand. - [Making a Voice One Sample at a Time](https://feel.digital/blog/2016-09-a-making-a-voice-one-sample-at-a-time/): September 2016. WaveNet generates an audio waveform through conditional prediction, revealing both the richness and the cost of working at sample scale. - [What an Immutable Ledger Can and Cannot Decide](https://feel.digital/blog/2016-08-a-what-an-immutable-ledger-can-and-cannot-decide/): August 2016. Ethereum's hard fork separates two questions that are often bundled together: how a ledger records decisions and how people decide which ledger to follow. - [Reading the Surround 360 Stitching Pipeline](https://feel.digital/blog/2016-07-a-reading-the-surround-360-stitching-pipeline/): July 2016. Surround 360's open rendering pipeline shows why stereo stitching is a chain of geometric decisions rather than a single blending effect. - [A Smart Contract Still Needs a Threat Model](https://feel.digital/blog/2016-06-a-a-smart-contract-still-needs-a-threat-model/): June 2016. Smart contract security begins with assumptions about adversaries, state changes and external calls, not with the word immutable. - [What Mobile VR Makes You Leave Out](https://feel.digital/blog/2016-05-a-what-mobile-vr-makes-you-leave-out/): May 2016. Daydream's mobile focus makes scope, input and the cost of every rendered frame central design decisions. - [A 360 Camera Is a Synchronization Problem](https://feel.digital/blog/2016-04-a-a-360-camera-is-a-synchronization-problem/): April 2016. A multicamera VR rig has to agree about time and geometry before its images can become a comfortable stereo panorama. - [The Room Is Part of the Interface](https://feel.digital/blog/2016-03-a-the-room-is-part-of-the-interface/): March 2016. HoloLens development changes interface design by making gaze, gestures, sound and the surrounding room part of the same problem. - [When Style Became Something a Computer Could Move](https://feel.digital/blog/2016-02-a-when-style-became-something-a-computer-could-move/): February 2016. Neural style transfer turns visual resemblance into an optimization problem, with useful results and a surprisingly specific meaning of style. - [A Web Page You Can Step Inside](https://feel.digital/blog/2016-01-a-a-web-page-you-can-step-inside/): January 2016. Early A-Frame makes a useful promise: describe a small 3D scene with familiar web tools, then share it through a link.