You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/architecture/design.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,9 +5,9 @@ sidebar_position: 2
5
5
6
6
# Nevermore design principles
7
7
8
-
Nevermore consists of a few hundred packages in a [mono-repo](https://en.wikipedia.org/wiki/Monorepo). These packages are [semantically versioned](https://semver.org/) such that long-term maintaince can be done. Nevermore it trying to provide utility modules, and is not a framework.
8
+
Nevermore consists of a few hundred packages in a [mono-repo](https://en.wikipedia.org/wiki/Monorepo). These packages are [semantically versioned](https://semver.org/) such that long-term maintenance can be done. Nevermore is trying to provide utility modules, and is not a framework.
9
9
10
-
***Lego blocks** - Nevermore provides utility modules that can combined in a variety of ways
10
+
***Lego blocks** - Nevermore provides utility modules that can be combined in a variety of ways
11
11
***Not a framework** - Nevermore works in a variety of other architectures
12
12
***Versioned** - Nevermore should be versioned. Nevermore should not break games when changes are made.
13
13
***Fast development** - Nevermore should accelerate game development
@@ -35,7 +35,7 @@ Library packages tend to be packages that export one or multiple libraries. Thes
35
35
*[Elo](/api/EloUtils)
36
36
37
37
### Object utility libraries
38
-
These are very similiar to libraries but they tend to export an object, and some supporting objects. These objects are concepts that are useful to learn, and generally exist outside of Roblox (although they may not). These are fundamental building blocks and patterns in Roblox.
38
+
These are very similar to libraries but they tend to export an object, and some supporting objects. These objects are concepts that are useful to learn, and generally exist outside of Roblox (although they may not). These are fundamental building blocks and patterns in Roblox.
39
39
40
40
*[Octree](/api/Octree)
41
41
*[Maid](/api/Maid)
@@ -45,7 +45,7 @@ These are very similiar to libraries but they tend to export an object, and some
45
45
*[Queue](/api/Queue)
46
46
47
47
### Integration services
48
-
There services are primary about providing a contract between two services.
48
+
These services are primarily about providing a contract between two services.
49
49
50
50
*[GameConfigService](/api/GameConfigService)
51
51
*[CameraStackService](/api/CameraStackService)
@@ -63,7 +63,7 @@ opinionated about...
63
63
2. Consumption of code (plugin, game, et cetera)
64
64
65
65
Code is designed to be copied and pasted as needed, but first and foremost, is designed to empower James's (Quenty's) workflow. For this reason, while Nevermore tries its best to be useful
66
-
to as wide of an audience as possible, in many ways document and design notes are lacking because this is not its first purpose.
66
+
to as wide of an audience as possible, in many ways documentation and design notes are lacking because this is not its first purpose.
## Why does building need a custom version of Rojo?
89
-
Nevermore does not need a custom version of Rojo to be consumed, but it does need one to be built. This custom version of Rojo understands symlinks and turn them into ObjectValues. These symlinks link the packages together and means that a change to a transient dependency, or direct dependency will immediately be shown in the upstream package.
89
+
Nevermore does not need a custom version of Rojo to be consumed, but it does need one to be built. This custom version of Rojo understands symlinks and turn them into ObjectValues. These symlinks link the packages together and means that a change to a transitive dependency, or direct dependency will immediately be shown in the upstream package.
Copy file name to clipboardExpand all lines: docs/ides/vscode.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ sidebar_position: 1
5
5
6
6
# Getting started with VSCode
7
7
8
-
VSCode works with Nevermore relatively easily. We have default extensions.json setup. Follow the general setup tips. These types should generally work for Cursor and other VS-Code based IDEs.
8
+
VSCode works with Nevermore relatively easily. We have default extensions.json setup. Follow the general setup tips. These tips should generally work for Cursor and other VS-Code based IDEs.
9
9
10
10
## Extensions
11
11
@@ -22,7 +22,7 @@ These will provide snippets, styling, and linking.
22
22
23
23
You currently must use the forked version of luau-lsp. You can use the default extension.
24
24
25
-
in`settings.json` configure the luau-lsp server to point towards a custom exe path. This should be your Luau-lsp exe path installed via aftman.toml.
25
+
In`settings.json`, configure the luau-lsp server to point towards a custom exe path. This should be your Luau-lsp exe path installed via aftman.toml.
This will install the current version of Maid and all dependencies into the `node_modules` folder. To upgrade you will want to run `npm upgrade` You should ignore the `node_modules` folder in your source control system.
39
39
40
40
### What is NPM and why are we using it?
41
-
[npm](https://www.npmjs.com/) is a package manager. Nevermore uses npm to manage package versions and install transient dependencies. A transient dependency is a dependency of a dependency (for example, [Blend](/api/Blend) depends upon [Maid](/api/Maid).
41
+
[npm](https://www.npmjs.com/) is a package manager. Nevermore uses npm to manage package versions and install transitive dependencies. A transitive dependency is a dependency of a dependency (for example, [Blend](/api/Blend) depends upon [Maid](/api/Maid)).
42
42
43
43
### How do I install additional packages?
44
44
The default installation comes with very few packages. This is normal. You can see which packages are installed by looking at the `package.json` file in a text editor. To install additional packages, simply run the following command in a terminal:
@@ -135,7 +135,7 @@ local require = require(loader).bootstrapGame(loader.Parent)
135
135
Assuming you've changed nothing, the path to the replicated modules should be the same as the one used on the server, just indexed under ReplicatedStorage instead.
136
136
137
137
## Manually installing via NPM for a stand-alone module.
138
-
If you want to use Nevermore for more stand-alone or reusable scenarios (where you can't assume that a packages folder will be reused, you can manually bootstrap the components using the loader system.
138
+
If you want to use Nevermore for more stand-alone or reusable scenarios (where you can't assume that a packages folder will be reused), you can manually bootstrap the components using the loader system.
139
139
140
140
Ensure that you have [Node.js](https://nodejs.org/en/download/) v14+ installed on your computer.
*[Camera](/api/CameraStackService) - Layered camera system that interops with Roblox's cameras
33
33
34
-
## Nevermore can by used in many cases
34
+
## Nevermore can be used in many cases
35
35
While Nevermore was originally designed to make games, in general Nevermore is now a collection of utility libraries that can be used in the following. These use cases have been carefully battle tested. Nevermore is in many top games, gamejams, plugins, and other components across Roblox.
36
36
37
37
***Top Games** - Both built originally with Nevermore, or games that use other systems and frameworks but may want to include Nevermore
This system is designed to be very similar to fusion, except that we do not having any global state management, do not rely upon weak references, works with my types, and is built on top of Rx types.
25
+
This system is designed to be very similar to fusion, except that we do not have any global state management, do not rely upon weak references, works with my types, and is built on top of Rx types.
0 commit comments