Skip to content

nixpt/bliss-engine

 
 

Repository files navigation

Bliss Engine Logo

🌌 Bliss Engine

The Agent-Native, Radically Modular HTML/CSS Rendering Stack

Bliss (forked from Blitz) is a specialized rendering engine designed for the Exosphere Ecosystem. It reimagines the browser as a secure, polyglot runtime where AI agents and human users interact through a capability-gated interface.

Build Status License Ecosystem


🚀 The Exosphere Fork: Why Bliss?

Bliss structural divergence from upstream Blitz is driven by the requirements of an Agent-Native Operating System:

  1. Polyglot Scripting: Unlike engines tied to JavaScript, Bliss supports any language in the Exosphere mesh (Crush, Python, Lua, etc.) via the ScriptEngine trait.
  2. Capability-Gated Rendering: Direct integration with the Exosphere Identity Protocol (XIP). DOM segments are cryptographically gated, ensuring agents only see/mutate what they are authorized to.
  3. Simulation-Aware: Hooks for state serialization that align with Event Horizon's relativistic time intervals (ST/DT).
  4. Asynchronous Non-Blocking: A decoupled messaging architecture that ensures the UI remains responsive even during heavy agent inference or tick processing.

🛠️ Getting Started

1. Unified Workspace (Recommended)

Bliss is designed to be used within the Exosphere Meta-Repo.

git clone --recurse-submodules https://github.com/nixpt/exosphere.git
cd exosphere
make build

2. Standalone Development

  1. Clone this repo:
    git clone https://github.com/nixpt/bliss-engine.git
    cd bliss-engine
  2. Build the workspace:
    cargo build
  3. Run an example:
    cargo run --release --example hello
    cargo run --release --example dashboard
    cargo run --release --example react

📸 Screenshots

Bliss Dashboard Screenshot
The Exosphere Dashboard rendered in Bliss Engine

Bliss Browser Screenshot
Google rendered in a Bliss-based browser

Bliss React Screenshot
A Polyglot React component rendered via Boa Engine

🏗️ Architecture: The Bliss Stack

Bliss is comprised of granular, modular crates that can be combined or replaced:

Core Modules

  • bliss-dom: The heart of the engine. Handles style resolution (Stylo), layout (Taffy), and text rendering (Parley).
  • bliss-traits: The shared interface layer for the entire ecosystem.
  • bliss-net: Extensible networking layer supporting http://, file://, and exo:// (XIP) protocols.

Integration Modules

  • bliss-html: HTML5/XHTML parsing via html5ever.
  • bliss-paint: Layout-to-Render translation for anyrender backends.
  • bliss-shell: System integration for windowing and native event loops.

🌉 Relationship to Upstream

We maintain a "Hard Fork" for architectural divergence while tracking generic improvements:

  • We track upstream Stylo and Taffy updates.
  • We contribute generic layout/CSS bug fixes back to the Dioxus Labs ecosystem.
  • Architectural changes for Agent-OS integration remain exclusive to Bliss.

📜 License

Bliss is dual-licensed under MIT or Apache-2.0. The stylo_taffy crate is additionally licensed under MPL 2.0.


Exosphere: The World is a Mesh.

About

A radically modular HTML/CSS rendering engine

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Rust 97.5%
  • CSS 2.2%
  • Just 0.3%