Canvas as a Digital Milieu

Devlog n.3

Intro

There’s something powerful about blank spaces—a stadium without an audience, an empty text file, a blank page. It’s the potential these spaces hold that brings forth the essence of what might be. In Eshraq, the Canvas is this space-time, the framework that holds and shapes the computational model.

Imagine a stadium: its architecture exists to host an event on the pitch (the model). The stadium (canvas) supports the model, and while what happens outside the model might seem trivial, it actually holds everything together. This interplay between Canvas and Model introduces intriguing dynamics and questions.

In Eshraq, the Canvas isn’t just a backdrop; it’s crucial to understanding the model. This distinction allows us to break free from the constraints of modular models and explore new possibilities.

Yuk Hui’s concept of milieu and digital objects emphasizes that digital objects are not isolated entities but exist within a network of relationships that define their meaning and function. The milieu—comprising the technological and cultural context—shapes how these objects are created, interact, and are perceived. In Eshraq, the Canvas functions similarly, acting as a contextual environment that not only holds the computational model but also actively influences its behavior and significance. Just as Hui’s milieu gives digital objects their identity and operationality, the Canvas in Eshraq shapes the reality and potential of the models within it.

Canvas Feature

When a user selects a model to load, they can also choose the Canvas in which to place it. Several Canvases have been created, offering different environments for the models to interact with.

The design of Canvases isn’t bound by rules—they can be anything from a metro station to a flat grid. For now, I’ve created a few standard grid-style Canvases, minimal and distraction-free, acting as a reference for scaling models within them. Below is the list of current Canvases made in Eshraq:

^ Default - 80m x 160m

^ Default - Infinite Grid

^ Default - Night w/ Floodlights

^ Default - Dark Night

^ Floating platform

^ Afghan Desert

^ Ocean

Canvas Examples in Action

Now to see how it all comes together, I prepared some screenshots to see how the same model can seem and feel different in various Canvases.

The computational cost of Canvases varies depending on factors like detail level, lighting, and visual effects. This becomes crucial when selecting a Canvas for a specific model. Lighter Canvases with fewer demands are ideal for more complex models. For instance, the Night Canvas, with its many floodlights and dynamic shadows, proved too heavy for my Windcatcher model, as Unreal Engine struggled with the rendering.

Another interesting observation after implementation of Canvas was the surprising possibilities that showed themselves during playtime with agents. below you can see Agent Wheeler roaming around the desert outside the normal bounds of its model to get a nice view on the model from top of the dune. What’s interesting is here the Canvas distracts us from actually dealing with the model, but rather invites us to wander around the model and perhaps maybe chill a bit ?

In the Desert Canvas, something interesting happened to Agent Core. as you have seen in previous videos, Agent Core rolls on the floor to navigate. when used in the desert at the times when this agent is left idle it starts to slowly roll on the landscape of the desert. I left my computer idle for a short while and when I came back, agent walker was rolled down a kilometer away from its original spawning point!

And lastly, here are 3 agents hanging out on the beach of the Ocean Canvas, completely ignoring what is going on in the field.

Helpers

I’ve developed tools to debug models, now integrated into the Canvas as Helpers. Helpers are tools, objects, or guides used to interact with or inspect the model. For example, a clock slider lets you change the time of day by physically rolling the core Agent on it. The Origin helper marks the 0.0.0 coordinate, which is especially useful when using different canvases.

Each Canvas can host various Helpers, custom-built tools that don’t necessarily adhere to the modularity of the models.

Here’s how Clock Helper works:

Conceptual Potentials

  • Knowledge by Presence: In Suhrawardi’s Illuminationist philosophy, knowledge by presence (ilm al-huduri) refers to a direct, non-discursive form of understanding, where the knower and the known are united. Similarly, in Eshraq, the truth of a model shifts depending on its Canvas—its context alters its reality, like a Ziggurat in the desert versus one in the ocean.
  • Context: Some models need a specific environment to be fully understood. Canvases in Eshraq offer a context-sensitive approach, enabling this level of specificity.
  • Helpers: They allow you to change the simulation’s meta conditions without directly altering the model.
  • Agents are bound by the Canvas, meaning some thrive in certain environments while others don’t—for example, Agent Wheeler is perfect for the Desert Canvas!
  • Sound: Each canvas has its own sonic textures that radically influence how a model is felt. The sound of ocean waves or metro trains passing by can alter how a model is perceived, sometimes in contradictory ways.
  • Situational: There are models that need to be explained in several different situations, for example a model of a Car can be approached in several different canvases such as: In a Garage, On the Road, In a Plane, Under the sea, and so on..
  • Compatibility: Sometimes Canvases can be in-compatible with the model they are hosting. for example the Canvas geometries can collide or occlude certain parts of the model. this creates a compatibility issue that brings up its own questions regarding how canvases are designed.

Towards the Mundus Imaginalis (ʿĀlam al-Mithāl)

Mundus Imaginalis, a concept explored by Suhrawardi and later by Henri Corbin, refers to an intermediate realm where the imaginal and the real coexist—a space of suspended images and sounds. Suhrawardi’s philosophy places this realm as a bridge between the material and the divine, where truths are illuminated beyond mere rationality. Suhrawardi calls this “Na-Koja-Abad” (ناکجاآباد) meaning “No Where Land”. This is a very complex and multifaceted concept which I can’t break down as a learned philosopher would, but referring to Corbin’s text below can be a great place to start:

“The existence of this intermediate world, mundus imaginalis, thus appears metaphysically necessary; the cognitive function of the Imagination is ordered to it; it is a world whose ontological level is above the world of the senses and below the pure intelligible world…”
Corbin, Henri. Mundus Imaginalis, or The Imaginary and the Imaginal. Available at: https://www.amiscorbin.com/bibliographie/mundus-imaginalis-or-the-imaginary-and-the-imaginal/.

In Eshraq, the Canvases can be seen as digital manifestations of this concept—spaces of “nowhere” and “nowhen,” where models appear as mirages. These Canvases, like the imaginal realm described by Suhrawardi, provide a space where models take on new meanings and reveal hidden dimensions, allowing for a deeper exploration of the computational constructs within them.