-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Start working on actual documentation
- Loading branch information
Showing
14 changed files
with
124 additions
and
7 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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 |
---|---|---|
@@ -1,19 +1,19 @@ | ||
# Weaver | ||
|
||
Weaver is a lightweight game framework meant for simple yet seamless game networking and synchronization. Weaver adheres by a single-script architecture, with a setup for the creation of services and controllers, allowing quick, painless communication from script-to-script, without the need of BindableEvents/Functions. | ||
Weaver is a fast, lightweight game framework meant for simple yet seamless game networking and synchronization. Weaver adheres by a single-script architecture, with a setup for the creation of services and controllers, allowing quick and painless communication from script-to-script without the need of BindableEvents/Functions. | ||
|
||
This was originally developed as a replacement for [Knit](https://github.com/Sleitnick/Knit), but without the use of external libraries; there are no promises or extra packages to install, as all modules are packaged internally and created for Weaver. | ||
|
||
All code is up-to-date with the latest technology in Roblox, including Luau typechecking. | ||
All code is written in Luau and up-to-date with the latest technology in Roblox, including typechecking. | ||
|
||
# Documentation | ||
|
||
Weaver's documentation, examples, and basic usage can be found [here](https://paracosm-daemon.github.io/Weaver/). | ||
More information about Weaver and its usage can be found in the [documentation](https://paracosm-daemon.github.io/Weaver/). | ||
|
||
# Credits | ||
|
||
This repository's tools are managed using [Rokit](https://github.com/rojo-rbx/rokit), a next-generation toolchain manager. | ||
|
||
The tool [Lune](https://github.com/lune-org/lune) is used for publishing the module to the Roblox marketplace. | ||
[Lune](https://github.com/lune-org/lune) is used for publishing the module to the Roblox marketplace. | ||
|
||
All documentation was made using [Moonwave](https://github.com/evaera/moonwave). | ||
All documentation was created using [Moonwave](https://github.com/evaera/moonwave). |
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,4 @@ | ||
{ | ||
"label": "Extras", | ||
"position": 3 | ||
} |
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,7 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Execution Model | ||
|
||
parted |
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,7 @@ | ||
--- | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Migration from Knit | ||
|
||
parted |
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,25 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Introduction | ||
|
||
Weaver is a fast, lightweight game framework meant for simple yet seamless communication between the server and the client. Weaver adheres by a single-script architecture, with a setup for the creation of services and controllers, allowing quick and painless communication from script-to-script without the need of BindableEvents/Functions. | ||
|
||
Weaver is based off of the archived framework [Knit](https://github.com/Sleitnick/Knit). The structure that Weaver has is identical to Knit, making migration a simple process. | ||
|
||
If you feel like Weaver is the framework for you, read about [getting started here](tutorial/getting-started). | ||
|
||
## Why Weaver? | ||
|
||
### Reliability | ||
|
||
Since Weaver's structure is built around a single-script architecture, your code is guaranteed to run in an order you can easily manage. [WeaverServices](/api/WeaverServer#WeaverService) and [WeaverControllers](/api/WeaverClient#WeaverController) will always be ready on WeaverInit, and fully initialized on WeaverStart. You can also read more about [Weaver's execution model](extras/execution-model). | ||
|
||
### Infrastructure | ||
|
||
Weaver allows for a simpler way of networking between the server and client. You don't need to add [RemoteEvents](https://create.roblox.com/docs/reference/engine/classes/RemoteEvent) or [RemoteFunctions](https://create.roblox.com/docs/reference/engine/classes/RemoteFunction) to your game's hierarchy at all; Weaver automatically bridges the gap between the server and the client. | ||
|
||
### Accessibility | ||
|
||
Weaver is greatly accessible - from grabbing the module via Roblox's Creator Store to using it as a package in Wally, installation is straightforward and made to fit your workflow. To see the ways to acquire Weaver, read about the [installation methods available](tutorial/getting-started#installation). |
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,4 @@ | ||
{ | ||
"label": "Tutorial", | ||
"position": 2 | ||
} |
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,5 @@ | ||
--- | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Example Project |
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,31 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Getting Started | ||
|
||
As of right now, Weaver is currently available on the Roblox Creator Store, and it is useable as a Wally package. Below are the current ways to install Weaver and get it working in your game. | ||
|
||
## Installation | ||
|
||
### Method 1 - Wally | ||
|
||
Since Weaver is available as a package for [Wally](https://github.com/UpliftGames/wally), the package manager, you are able to install it by adding this beneath `[dependencies]` in your `wally.toml` file: | ||
|
||
`Weaver = "paracosm-daemon/weaver@^0.0.1"` | ||
|
||
### Method 2 - Roblox Creator Store | ||
|
||
Weaver is also available as a module on the Roblox Creator Store. Installing it is relatively simple. | ||
|
||
First, [get the model](https://create.roblox.com/store/asset/18772004646/Weaver). To add it to your inventory, you simply click the "Get Model" button. | ||
|
||
![Weaver's page on the Roblox Creator Store](/introduction-store.png) | ||
|
||
Once you've acquired the model, you're free to add it into Studio. You should see it within your inventory: | ||
|
||
![Weaver in Roblox Studio](/introduction-model.png) | ||
|
||
Finally, insert the model into your game, and then slot it somewhere you can easily access. Usually, it may go in a folder like `ReplicatedStorage/Shared/Weaver`, but it's up to you. | ||
|
||
![Weaver in the Explorer tree](/introduction-explorer.png) |
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,34 @@ | ||
gitSourceBranch = "main" | ||
|
||
[[classOrder]] | ||
section = "Core" | ||
classes = ["WeaverServer", "WeaverClient"] | ||
|
||
[[classOrder]] | ||
section = "Networking" | ||
classes = ["RemoteSignal", "Signal", "SignalConnection"] | ||
|
||
[home] | ||
enabled = true | ||
includeReadme = false | ||
|
||
[docusaurus] | ||
url = "https://paracosm-daemon.github.io" | ||
baseUrl = "/Weaver" | ||
tagline = "A fast, lightweight game framework for Roblox" | ||
|
||
[footer] | ||
style = "dark" | ||
copyright = "Copyright © 2024 Oliver S. Built with Moonwave and Docusaurus." | ||
|
||
[[home.features]] | ||
title = "Simple Structure" | ||
description = "Since Weaver is built around a single-script architecture, communicating between multiple modules is seamless - ditto for communication between the server and the client." | ||
|
||
[[home.features]] | ||
title = "Painless Networking" | ||
description = "Due to the nature of Weaver, all networking is made simple, as services and controllers natively support Weaver's RemoteSignal implementation; you don't need to use any Instances." | ||
|
||
[[home.features]] | ||
title = "Effortless Integration" | ||
description = "Weaver doesn't take much effort to install. Once it's added into your Roblox project, there is little setup required to get it working as intended and integrated with your codebase." |
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 |
---|---|---|
@@ -1 +1 @@ | ||
std = "roblox+luau" | ||
std = "roblox+luau" |
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