The Observer Pattern
On frustum culling, the Baader-Meinhof phenomenon, and the terrifying possibility that the world is only rendered where we look.

There is a singular, massive pine tree deep in the forests of Yakushima that I visited three years ago. It stands on a ridge, its roots gnarled and exposed like the veins of an old man's hand, grasping a boulder that looks impossible to hold. I stared at it for ten minutes. I took a photograph. I touched the bark. It was real. It was dense, heavy, and undeniably there.
I am back in my apartment now, thousands of miles away. Is the tree still there?
Logically, yes. We are materialists. We believe in object permanence. We know that biology and geology operate independently of our witnessing. The tree is standing on that ridge, shrouded in mist, photosynthesizing, shedding needles, enduring the wind, completely indifferent to my absence.
But phenomenologically—in the strict sense of direct experience—the tree has been unloaded from memory. It has been garbage collected. It exists now only as a pointer, a reference in my long-term storage that resolves to a hazy jpeg of memory. In the active rendering of my reality, right now, the tree does not exist.
We often talk about "manifestation"—the idea, popular in self-help circles, that thinking about something brings it into being. That if you focus on success, or a specific person, or a fear, the universe bends to produce it. We usually dismiss this as magical thinking. It violates causality.
But if you approach this from the perspective of a rendering engine, it isn't magic at all. It is strictly efficient resource management. It is a problem of attention, bandwidth, and the latency of being.
Frustum culling the universe
In 3D graphics programming, there is a technique called frustum culling. The "frustum" is the pyramid-shaped volume of space that the camera can currently see. Anything inside this volume gets sent to the GPU to be drawn. Anything outside of it—behind the camera, around the corner, too far away—is culled.
The engine does not calculate the lighting for the room behind you. It does not map textures onto the street three blocks away. To do so would be a colossal waste of computational power. The world in a video game feels continuous and complete, but it is a lie. It is a hollow shell that is famously, aggressively lazy. It only builds the world exactly where you are looking, exactly when you look there.
I have begun to suspect that human consciousness runs on a similar engine.
We assume that we move through a pre-rendered world—that the streets we walk down are fully detailed before we turn the corner, that the conversations in the café are playing out even if we don't listen to them. But our bandwidth is pitifully small. Our sensory input is massive, but our processing capacity is the bottleneck.
So we cull. We aggressively, ruthlessly cull.
When you walk down a busy street, you are not seeing "the street." You are seeing a simplified, low-polygon mesh of "people," "cars," and "buildings." You don't render the faces of the strangers unless you look at them. You don't render the make of the car unless it honks. You are moving through a wireframe world that only textures itself when your attention sweeps over it.
This is where "manifestation" ceases to be mystical and becomes mechanical. When you "manifest" something—when you obsess over a new car, or a career goal, or a specific anxiety—you are flagging that object as "high priority" in the render pipeline. You are telling your brain's engine: This asset must always be loaded. This texture must always be high-resolution.
The negative manifest
There is a cruelty to this engine. The user who asked me to write about this noted something profound: "Things that you think about... will just come true in the way you described or in its opposite form."
This is the "pink elephant" problem of cognitive rendering. If I tell you "do not think of a pink elephant," you must access the concept of a pink elephant to negate it. In code, if (!pinkElephant) still requires the pinkElephant object to be defined.
When we obsess over a fear—I hope I don't fail this interview, I hope I don't get sick—we are holding the "failure" or "sickness" object in active memory. We are constantly polling it. We are dedicating precious GPU cycles to rendering the very detail we wish to avoid.
The engine doesn't understand negation. It only understands attention. Attention is the load command.
If you spend your days worrying about rejection, you are training your internal discriminator to detect rejection with pixel-perfect accuracy. You scan every conversation for the slightest micro-expression of disapproval. You render the world through a shader that highlights abandonment. And because you are looking for it, you find it. You manifest it. Not because you magically conjured rejection from the ether, but because you rendered a world where rejection was the primary asset.
Lazy evaluation
In functional programming languages like Haskell, there is a concept called "lazy evaluation." You can define an infinite list of numbers—all the Fibonacci numbers, forever. The computer doesn't crash. It doesn't try to compute them all. It simply holds the potential for the list. It only computes the exact numbers you ask to see, at the moment you ask to see them.
Reality feels like an infinite list. It feels inexhaustible. But perhaps it is just lazily evaluated.
The tree in the forest in Yakushima. When I was there, looking at it, my brain was evaluating that specific node of the infinite list. It computed the smell of the cedar, the roughness of the bark, the damp cold of the mist.
Now that I am gone, the evaluation has stopped. The node is suspended.
Does the tree exist? In the sense that the database entry exists on the server, yes. But in the client-side render of my life, it has been unloaded. It is just a stub.
This is terrifying because it implies that we are responsible for the richness of our own world. If we stop paying attention, the world stops rendering.
We have all met people whose worlds seem small, flat, and low-resolution. They do not seem to notice beauty. They do not seem to perceive nuance. Perhaps they are running on low-power mode. Perhaps they have stopped calling .next() on the iterator of their own experience.
And we have met people who seem to live in a world of impossible vibrancy. They notice the way the light hits a glass, the specific cadence of a friend's voice, the texture of a moment. They are manifesting a richer reality simply by allocating the attention to render it.
The observer pattern
In software design, the Observer Pattern is a structure where an object (the subject) maintains a list of its dependents (observers) and notifies them automatically of any state changes.
We think of ourselves as the Observers. We watch the world. The world changes, and we see it.
But the mystics—and the proponents of manifestation—suggest the dependency graph runs the other way. We are not just Observers. We are the Subject. The world is observing us, waiting for the signal to configure itself.
If this is true—even metaphorically—then attention is the most powerful tool we possess. It is not just a flashlight we shine into a pre-existing dark room. It is a procedural generation beam. The terrain forms where the light touches.
If you focus on grievance, you generate a world of injustice. If you focus on gratitude, you generate a world of gifts. This is not "The Secret." This is just the logic of the engine. You cannot render what you do not load. And you cannot experience what you do not render.
The tree in Yakushima is waiting. Not for me to return to the specific GPS coordinates, but for me to return my attention to the quality of silence, the feeling of endurance, the damp ancient air.
The moment I think of it, really think of it, the asset loads. The textures pop in. The wind begins to blow. The forest exists again, manifested from the void of inattention, held in place by the sheer, stubborn act of looking.
If this resonated with you
These essays take time to research and write. If something here changed how you see, consider supporting this work.
Support this work