You pull two hours of video off the back of a building because somebody hung around the door before it got hit. Then you scrub. Forward, back, forward. You're hunting for a person who isn't moving, which is about the hardest thing to see at 8x speed.
Bradley Tangonan posted an Instagram reel on September 17 captioned "xy + t." He took a street video and stacked it into a rotating block, so the people stretch into tubes. It's past 600,000 likes. His reel: https://www.instagram.com/reel/DdaH9kpg4iA/
I watched it and thought about that back door. When time is an axis you can see, standing still has a shape.
I spent 21 years as a sworn police officer, the last of them as a sergeant. I build physical-security AI on my own time now, so I tried it on my own cameras.
The shape of a stop
Most people in this business have seen BriefCam's Video Synopsis. Hours of footage play back in minutes, with everybody who crossed the scene walking through it at once, each one tagged with the time they were really there. It works by taking time out of the way.
This goes the other direction. It keeps time and gives it a place on the screen.
Lay the camera view flat like a floor. Time runs up.
Somebody walking across the image leaves a slanted line. Somebody who stops leaves a vertical post. Walk in, stand around, walk out, and the path shows all of it. The post is the part you'd otherwise scrub for.
In my yard, a 27-second stand made a post I could see from across the room.
What I fed it
No video. I used the object tracks my cameras already publish. Each finished track shows up as one message with its path, its timestamps, and whatever class the camera gave it. The message only comes when the track ends, so this is a review tool. It won't tell you where anybody is right now.
The first run was about 1.8 MB of metadata for five minutes. That's it.
Then I pointed a camera at the public road behind my house for two runs of two hours each. Zoomed in tight, cars crossed the frame in about a second. About 87% of tracks never got a class, and I got roughly 159 classed vehicles an hour.
I widened the view. Same road, same afternoon. Roughly 742 an hour.
I doubt traffic quintupled on a Sunday afternoon. The framing changed what the camera had time to label.
Where it broke
The first problem showed up when I stopped walking.
The camera ended my walk-in track and started a new one for the stand. Same guy, two IDs. My viewer had to stitch them to draw one path. It didn't happen every time. On another run the camera held my ID through a stop just fine.
A stitch is a guess that two observations are the same object. Draw it as one smooth line and the guess starts to look like evidence.
On the road I checked 15 stitches where both sides were moving vehicles. Three of them had joined two cars passing in opposite directions. That's 20%, off a small sample. My rule only asked whether one track ended near where the next one started, close in time. It never asked which way either one was headed.
In the yard with a second person, the stitcher made no false joins. It also made no joins at all, and it missed two it should have made. A clean false-join number doesn't mean much without that.
The bigger failure was quieter.
The second person was tracked for about 75 seconds and the camera never once called them a person. They stood still longer than anyone. My default view hides unclassed tracks, so for the one person whose stop should've been easiest to find, it showed nothing.
Later I walked in alone from the same corner and scored 0.91 as a person. So the corner alone doesn't explain it. I don't know yet what does.
"Unclassed" turned out to be a junk drawer. That second person was in it. So were my dogs. So was my own afternoon shadow, which the camera tracked as a separate object that stopped every time I stopped. On the wide road run about two thirds of all tracks were unclassed, mostly trees moving in the wind.
Hiding the drawer made the view cleaner. It also removed a person.
The camera sometimes repairs its own breaks. Once it built a single track across a 16-second absence. Same test, a 17-second absence got a brand new track. I can't count on either behavior.
Then my viewer made it worse. It drew that 16-second hole as solid line, and the line could've counted toward a stop. That was my bug. I fixed it. Observed segments stay separate now, a gap gets its own thin connector, and a stop can't run through missing data.
Smaller stuff. The camera tracks a head separately from its body, so you get two lines per person unless you filter. My camera clocks were off, one by 90 seconds and one by 10 minutes, which is embarrassing for a guy who used to write search warrants off timestamps.
A parked car turns into a chain of tracks because the camera ends any track at 600 seconds and starts over.
Slope needs care too. It's speed across the image. The same walk leans differently close to the camera than far from it.
And a vertical post says one narrow thing. Something stayed put in the image. Call it loitering and you've added a judgment. Intent takes evidence the post doesn't have.
This isn't new
Meghdadi and Irani built and user-tested this for surveillance video in 2013, on a time-geography idea that goes back to 1970.
Other studies of these cubes found the same trade. Good for the overview, weaker on exact questions, and depth is hard to judge from one angle. Rotating helps. You still have to sort out what overlaps.
What changed is the input. My cameras hand over tracks as metadata, so the whole thing runs on megabytes.
I haven't found a security product that ships a time-axis track view. I asked Dr. Irani why theirs never shipped. No answer yet.
What I'd want
Keep the cube tied to normal playback. Find the post or the odd path in the overview, click it, watch the footage at that moment.
Show every stitch. An analyst should be able to tell what the camera observed from what the viewer inferred.
Before I relied on a view like this I'd ask the vendor two things. Can I export finished tracks? Do IDs survive a stop? Then I'd check the camera clocks myself.
I'm going to keep testing it. The stop really is quick to spot. Most of the work is making sure the line only shows what the camera saw, and I'm not done with that.
Tangonan's caption was "xy + t." That's the whole idea.
Tested on AXIS Q6325-LE and Q6358-LE, AXIS OS 12.9.57, object_track_v1 over MQTT, September 20, 2026. Build script and viewer on request.