Skip to content

About

V2 of the standalone browser 2 browser project Recursion (xXmizzeryXx/Recursion)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

plutonium-recursion

An entire browser. Inside your browser.

plutonium-recursion is an experimental web browser environment written in C++ and compiled to WebAssembly, designed to run entirely within another web browser.

It is not a browser-themed webpage, an iframe wrapper, or a frontend for the host browser. The project explores the possibility of bringing an independent browser stack into the web through WebAssembly.


Overview

A conventional website relies on the browser that hosts it:

Website
   ↓
Host Browser
   ↓
Operating System

plutonium-recursion reverses the relationship:

┌──────────────────────────────────────────────┐
│                  Host Browser                │
│                                              │
│   ┌──────────────────────────────────────┐   │
│   │          plutonium-recursion         │   │
│   │                                      │   │
│   │   ┌──────────────────────────────┐   │   │
│   │   │       Browser Runtime        │   │   │
│   │   │                              │   │   │
│   │   │       Rendering              │   │   │
│   │   │       Navigation             │   │   │
│   │   │       Browser APIs           │   │   │
│   │   │       Web Content            │   │   │
│   │   │                              │   │   │
│   │   └──────────────────────────────┘   │   │
│   │                                      │   │
│   └──────────────────────────────────────┘   │
│                                              │
└──────────────────────────────────────────────┘

The host browser provides the execution environment. plutonium-recursion provides the browser environment operating within it.

Browser → Browser → Web


Features

Independent Browser Environment

plutonium-recursion is designed around the concept of an independent browser runtime rather than a simulated browser interface.

The project aims to provide its own rendering, navigation, and browser functionality within the constraints of the web platform.

C++ and WebAssembly

The core implementation is written in C++ and compiled to WebAssembly.

This allows the project to execute its native codebase within a browser without requiring a conventional native executable for the web build.

Browser-Based Execution

The web version can be launched from a supported modern browser with JavaScript and WebAssembly enabled.

No native installation is required to run the WebAssembly build.

Host Independence

The host browser acts as the execution container rather than the primary browser interface.

The long-term objective is to minimize dependence on the host browser's normal browsing environment while operating within the capabilities and security restrictions of WebAssembly.

Recursive Execution

One of the project's more experimental possibilities is recursive execution:

Browser
└── plutonium-recursion
    └── Browser
        └── plutonium-recursion
            └── ...

A browser running inside plutonium-recursion could theoretically load another instance of plutonium-recursion, creating successive browser environments.


Architecture

The project is built around a separation between the host environment and the browser runtime.

┌───────────────────────────────┐
│        Host Browser            │
│                               │
│  ┌─────────────────────────┐  │
│  │      Web Interface      │  │
│  ├─────────────────────────┤  │
│  │    JavaScript Runtime   │  │
│  ├─────────────────────────┤  │
│  │       WebAssembly       │  │
│  │           │             │  │
│  │           ▼             │  │
│  │      C++ Runtime        │  │
│  └─────────────────────────┘  │
└───────────────────────────────┘

The exact architecture is evolving as development continues.


Technology

Technology Purpose
C++ Core browser implementation
WebAssembly Executes the C++ runtime within the browser
HTML Application structure
CSS User interface
JavaScript WebAssembly integration and browser-side functionality

The project primarily focuses on bringing native-style browser functionality into a web-compatible execution environment.


Running from Source

Requirements

  • A modern web browser
  • JavaScript enabled
  • WebAssembly support
  • A suitable C++ and WebAssembly toolchain for building from source

Clone the Repository

git clone https://github.com/Plutonium-Net/plutonium-recursion.git
cd plutonium-recursion

Build the project using the provided build configuration and WebAssembly toolchain.

After building, serve the resulting files through a local web server.

For example:

python3 -m http.server

Then open the local server address in your browser.

Build instructions are currently evolving alongside the project.


Development Status

plutonium-recursion is experimental and under active development.

The project is not intended to be considered a feature-complete replacement for a conventional desktop browser.

Browser functionality, rendering support, APIs, performance, and compatibility are actively being developed and may change between versions.


Goals

The long-term objective is to develop a capable browser environment that can operate entirely within another browser.

Current areas of development include:

  • Browser compatibility
  • Rendering capabilities
  • Navigation
  • Web standards support
  • Browser APIs
  • WebAssembly integration
  • Performance
  • Stability
  • Resource management
  • Recursive execution
  • Overall browser functionality

Roadmap

The official 2026 development roadmap is available in ROADMAP.md.


Contributing

Contributions, bug reports, suggestions, and improvements are welcome.

Before contributing, review the project's license and ensure that any third-party code, libraries, or assets introduced into the project retain their applicable attribution and licensing requirements.

Contributors should also ensure that modifications and redistributions comply with the requirements of the project license.


Developers

Plutonium-Net

The organization responsible for the development and maintenance of plutonium-recursion.

xXmizzeryXx

Original developer and contributor.

Craf1ed

Original developer and contributor.


License

plutonium-recursion is licensed under the Plutonium Recursion License (PRL) v1.0.

The license permits non-commercial use, modification, forking, and redistribution subject to its terms.

Commercial use, selling the software, and incorporating substantial portions of the software into other projects are prohibited by the license.

Redistributions and derivative works must provide appropriate attribution to:

  • Plutonium-Net
  • xXmizzeryXx
  • Craf1ed

Third-party code and assets remain subject to their respective licenses and attribution requirements.

See LICENSE for the complete terms.


plutonium-recursion

An entire browser. Inside your browser.

About

V2 of the standalone browser 2 browser project Recursion (xXmizzeryXx/Recursion)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors