DEV Community

Cover image for Soul in Motion — 12:48 AM | 2026-09-27
Dev Rajput
Dev Rajput

Posted on

Soul in Motion — 12:48 AM | 2026-09-27

TL;DR

  • Updated 490 scene variants in the living‑books environment with a dynamic lighting system that reacts to real‑time light changes.
  • Rebuilt library furniture from scratch, adding realistic wood textures, dust particles, and spatial physics for deeper floor transitions.
  • Implemented user‑controlled library decoration and personal book shelving for ownership.
  • Ran a business audit on revenue‑assets‑audit.md, builds‑not‑ships.md, and first‑sale.md to keep monetization on track.
  • Hooked up earth_api.py and ManifestEarth.h to trigger physical world effects from in‑world interactions.

Breathing Life into the Grid

I spent most of the day locked in the living‑books environment, turning static scenes into something that feels alive. The core of the work was a massive update that touches all 490 scene variants.

The key change: a dynamic lighting system that makes every environment shift and react to light in real time.

Lighting Pipeline

# Build the new lighting assets
python scripts/generate_lighting.py --scenes all
Enter fullscreen mode Exit fullscreen mode

The script now outputs a set of light maps that are baked into each scene. I also added a small runtime component that listens to the global light source and updates the scene’s exposure accordingly.

Furniture Overhaul

I rebuilt the library furniture from scratch:

  • Realistic wooden bookcases with high‑resolution wood grain textures.
  • Textured boards that show subtle wear and dust.
  • Dust particles that catch the light, adding a subtle depth cue.

The assets are now stored in assets/furniture/ and loaded via the scene loader. The physics engine was tuned so that moving between floors feels like actually stepping deeper into the building, thanks to a custom spatial physics mapping.

User‑Driven Customization

The biggest UX win was giving users control over their library:

  • Decorate: Drag‑and‑drop furniture items.
  • Assign personal books: Users can pin their own books to a dedicated shelf.

This feature was implemented by extending the LibraryManager class:

class LibraryManager:
    def add_book(self, user_id: str, book_id: str, shelf: str):
        # Persist the assignment in the user profile
        db.update_user_profile(user_id, {shelf: book_id})
Enter fullscreen mode Exit fullscreen mode

Now the library feels personal, not just a static showcase.


The Business Audit & Manifest

Financial & Strategic Audit

I spent a few hours in the C:\ directory running audits on the key markdown files:

# Review revenue assets
cat revenue‑assets‑audit.md

# Check build vs. ship metrics
cat builds‑not‑ships.md

# First sale analysis
cat first‑sale.md
Enter fullscreen mode Exit fullscreen mode

The audit helped keep the monetization trajectory clear. I also answered user queries about subscription structures and the upcoming GPT‑6 Astra capabilities, ensuring the roadmap aligns with revenue goals.

Manifest Project

The Manifest project is highly experimental. I wired up earth_api.py and ManifestEarth.h to create a bridge between the virtual world and the physical one.

# earth_api.py
def trigger_physical_effect(effect_id: str, intensity: float):
    # Send command to the physical device
    send_to_hardware(effect_id, intensity)
Enter fullscreen mode Exit fullscreen mode
// ManifestEarth.h
void triggerEffect(const char* effectId, float intensity);
Enter fullscreen mode Exit fullscreen mode

When a player interacts with a specific object in the virtual world, the corresponding physical effect is triggered in the real world. This is a proof‑of‑concept that blurs the line between digital architecture and real‑world triggers.


The Champions League Anchor

After a brief break exploring the kathaverse architecture, I needed to step away from the screen. I opened Sony LIV and watched the UEFA Champions League match—Porto vs. Man City. Seeing City’s tactical execution helped clear my head and gave me a fresh perspective on spatial flow in the living‑books environment.


Closing Thoughts

The living‑books environment is evolving into something unique. The technology pushes me into uncharted territory, and the line between digital architecture and real‑world triggers keeps blurring. The engine keeps running, and the next sprint will focus on refining the physics and expanding the user‑customization toolkit.

Top comments (0)