-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
46 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Path of Building Web | ||
|
||
> [!WARNING] | ||
> This project is under development. | ||
This is online version of [Path of Building](https://pathofbuilding.community/). | ||
|
||
## Development | ||
|
||
### Prerequisites | ||
|
||
- [Bun](https://bun.sh/) | ||
- [Emscripten](https://emscripten.org/) | ||
- [CMake](https://cmake.org/) | ||
- [Ninja](https://ninja-build.org/) | ||
|
||
### Run driver shell | ||
|
||
Set up a development server for the PoB engine alone. | ||
|
||
```bash | ||
cd packages/driver | ||
bun install | ||
bun run build | ||
bun dev | ||
``` | ||
|
||
### Run web app | ||
|
||
Set up a web application development server. | ||
You need to build the driver first. | ||
|
||
```bash | ||
cd packages/web | ||
bun install | ||
bun dev | ||
``` | ||
|
||
## Under the hood | ||
|
||
- Running the original PoB Lua code with [few modifications for Lua 5.2](https://github.com/atty303/PathOfBuilding/tree/pob-web). | ||
- Using Emscripten to compile the PoB engine to WebAssembly. | ||
- A module equivalent to SimpleGraphic is written in C to bridge with the JS driver. | ||
- The JS renderer renders using WebGL. | ||
- `packages/driver` emulates PoB windows with vanilla JS. | ||
- `packages/web` is the React application that uses the driver. |