Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ There are some additional ideas worth reviewing which are relatively unique to t

In general, our CHANGELOG.md are generated by our commits, which also dictates our semantic versioning.

## Get the repo setup to develop locally.
## Get the repo setup to develop locally
Unlike consuming Nevermore, building and changing Nevermore for general production is a little bit trickier. This is because:

1. Unlike consuming, we want changes to show up immediately so we can test everything at once.
Expand Down
4 changes: 2 additions & 2 deletions docs/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Library packages tend to be packages that export one or multiple libraries. Thes
* [Elo](/api/EloUtils)

### Object utility libraries
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.
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.

* [Octree](/api/Octree)
* [Maid](/api/Maid)
Expand All @@ -45,7 +45,7 @@ These are very similiar to libraries but they tend to export an object, and some
* [Queue](/api/Queue)

### Integration services
There services are primary about providing a contract between two services.
These services are primarily about providing a contract between two services.

* [GameConfigService](/api/GameConfigService)
* [CameraStackService](/api/CameraStackService)
Expand Down
2 changes: 1 addition & 1 deletion docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Nevermore has had significant cultural impact. There are some packages this repo
* [DataStore](/api/DataStore) - Battle-tested datastore wrapper
* [Camera](/api/CameraStackService) - Layered camera system that interops with Roblox's cameras

## Nevermore can by used in many cases
## Nevermore can be used in many cases
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.

* **Top Games** - Both built originally with Nevermore, or games that use other systems and frameworks but may want to include Nevermore
Expand Down
7 changes: 3 additions & 4 deletions docs/servicebag.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ return ServiceName

There are 3 methods in a service that are precoded in a `ServiceBag`.

All three of these services are optional. However, if you want to have services
All three of these methods are optional. However, if you want to have services
bootstrapped that this service depends upon, then you should do this in `Init`.

### `ServiceBag:Init(serviceBag)`
Expand Down Expand Up @@ -107,7 +107,7 @@ serviceBag:Start()
:::warning
An important detail of ServiceBag is that it does not allow your services to
yield in the `:Init()` methods. This is to prevent a service from delaying your
entires game start. If you need to yield, do work in `:Start()` or export your
entire game's start. If you need to yield, do work in `:Start()` or export your
API calls as promises. See [Cmdr](/api/CmdrService/) for a good example of how
this works.
:::
Expand Down Expand Up @@ -210,8 +210,7 @@ end
Nevermore tries to be a collection of libraries that can be plugged together,
and not exist as a set framework that forces specific design decisions. While
there are certainly some design patterns these libraries will guide you to,
you shouldn't necessarily feel forced to operate within these set of
scenarios.
you shouldn't necessarily feel forced to operate within this set of scenarios.

That being said, in order to use certain services, like `CmdrService` or
permission service, you need to be familiar with `ServiceBag`.
Expand Down
2 changes: 1 addition & 1 deletion src/actionmanager/src/Client/BaseAction.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
BaseAction state for [ActionManager].

:::info
This is legacy code and probably shoudl not be used in new games.
This is legacy code and probably should not be used in new games.
:::

@class BaseAction
Expand Down
2 changes: 1 addition & 1 deletion src/adorneedata/src/Shared/AdorneeData.lua
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
```lua
local data = CombatConfiguration:Create(workspace)

-- Can ready any data
-- Can read any data
print(data.EnableCombat.Value) --> true
print(data.PunchDamage.Value) --> 15
print(data.Value) --> { EnableCombat = true, PunchDamage = true }
Expand Down
2 changes: 1 addition & 1 deletion src/animationgroup/src/Shared/AnimationGroupUtils.lua
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
--!strict
--[=[
An animation group is a group of animations, such as the idle animations that Roblox plays.
This utility functions are intended to help recreate a custom animation playback system with
These utility functions are intended to help recreate a custom animation playback system with
weighted values.
@class AnimationGroupUtils
]=]
Expand Down
4 changes: 2 additions & 2 deletions src/attributeutils/src/Shared/AttributeValue.lua
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ function AttributeValue.new<T>(object: Instance, attributeName: string, defaultV
end

--[=[
Handles observing the value conditionalli
Handles observing the value conditionally

@param condition function | nil
@return Observable<Brio<any>>
Expand All @@ -90,7 +90,7 @@ function AttributeValue.Observe<T>(self: AttributeValue<T>): Observable.Observab
end

--[=[
The current property of the Attribute. Can be assigned to to write
The current property of the Attribute. Can be assigned to write
the attribute.
@prop Value T
@within AttributeValue
Expand Down
4 changes: 2 additions & 2 deletions src/basicpane/src/Shared/BasicPane.lua
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ function BasicPane.new(gui: GuiObject?): BasicPane
self._visible = self._maid:Add(ValueObject.new(false, "boolean"))

--[=[
Fires whenever visibility changes. FIres with isVisible, doNotAnimate, and a maid which
Fires whenever visibility changes. Fires with isVisible, doNotAnimate, and a maid which
has the lifetime of the visibility.

:::info
Expand Down Expand Up @@ -120,7 +120,7 @@ end
--[=[
Returns an observable that observes visibility

@param predicate function | nil -- Optional predicate. If not includeded returns the value.
@param predicate function | nil -- Optional predicate. If not included returns the value.
@return Observable<Brio<boolean>>
]=]
function BasicPane.ObserveVisibleBrio(
Expand Down
2 changes: 1 addition & 1 deletion src/bindtocloseservice/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"repository": {
"type": "git",
"url": "https://github.com/Quenty/NevermoreEngine.git",
"directory": "src/blend/"
"directory": "src/bindtocloseservice/"
},
"funding": {
"type": "patreon",
Expand Down
14 changes: 5 additions & 9 deletions src/blend/src/Shared/Blend/Blend.lua
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export type BlendProps = { [any]: any }
```

@param className string
@return (props: { [string]: any; }) -> Observable<Instance>
@return (props: { [string]: any }) -> Observable<Instance>
]=]
function Blend.New(className: string): (props: BlendProps) -> Observable.Observable<Instance>
assert(type(className) == "string", "Bad className")
Expand Down Expand Up @@ -286,7 +286,7 @@ function Blend.Attached(constructor)
end

--[=[
Similiar to Fusion's ComputedPairs, where the changes are cached, and the lifetime limited.
Similar to Fusion's ComputedPairs, where the changes are cached, and the lifetime limited.
@param source Observable<T> | any
@param compute (key: any, value: any, innerMaid: Maid) -> Instance | Observable<Instance>
@return Observable<Brio<Instance>>
Expand Down Expand Up @@ -668,10 +668,6 @@ end
}))
```

:::tip

:::

@param className string
@return function
]=]
Expand Down Expand Up @@ -816,10 +812,10 @@ end
of multiple. Used in conjunction with [Blend.Children] and [Blend.Computed].

:::warning
In general, cosntructing new instances like this is a bad idea, so it's recommended against it.
In general, constructing new instances like this is a bad idea, so it's recommended against it.
:::

```
```lua
local render = Blend.New "ScreenGui" {
Parent = game.Players.LocalPlayer.PlayerGui;
[Blend.Children] = {
Expand All @@ -831,7 +827,7 @@ end
Size = UDim2.new(1, 0, 1, 0);
BackgroundTransparency = 0.5;
};
end)
end))
};
};

Expand Down
6 changes: 3 additions & 3 deletions src/blend/src/Shared/Blend/SpringObject.lua
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ function SpringObject:ObserveRenderStepped()
end

--[=[
Alias for [ObserveRenderStepped]
Alias for [SpringObject:ObserveRenderStepped]

@return Observable<T>
]=]
Expand Down Expand Up @@ -176,7 +176,7 @@ function SpringObject:ObserveVelocityOnRenderStepped()
end

--[=[
Promises that the spring is done, based upon the animating property
Promises that the spring is done, based upon the animating property.
Relatively expensive.

@param signal RBXScriptSignal | nil
Expand Down Expand Up @@ -437,7 +437,7 @@ function SpringObject:_applyDamper(unconverted: number)
end

--[=[
Sets the damper for the spring
Sets the speed for the spring

@param speed number | Observable<number>
]=]
Expand Down
8 changes: 4 additions & 4 deletions src/brio/src/Shared/Brio.lua
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

Brios are useful for downstream events where you want to emit a resource. Typically
brios should be killed when their source is killed. Brios are intended to be merged
with downstream brios so create a chain of reliable resources.
with downstream brios to create a chain of reliable resources.

```lua
local brio = Brio.new("a", "b")
Expand Down Expand Up @@ -103,7 +103,7 @@ function Brio.new<T...>(...: T...): Brio<T...>
end

--[=[
Constructs a new brio that will cleanup afer the set amount of time
Constructs a new brio that will cleanup after the set amount of time

@since 3.6.0
@param time number
Expand Down Expand Up @@ -153,7 +153,7 @@ function Brio.GetDiedSignal<T...>(self: Brio<T...>): Signal.Signal<T...>
end

--[=[
Returns true is the brio is dead.
Returns true if the brio is dead.

```lua
local brio = Brio.new("a", "b")
Expand Down Expand Up @@ -287,7 +287,7 @@ function Brio.Destroy<T...>(self: Brio<T...>)
end

--[=[
Alias for Destroy.
Alias for [Brio.Destroy].
@method Kill
@within Brio
]=]
Expand Down
2 changes: 1 addition & 1 deletion src/brio/src/Shared/RxBrioUtils.lua
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ end
3. All resources are invalidated
4. We still wanted to be able to use most of the resources

With this method we are able to do this, as we'll re-emit a table with all resoruces
With this method we are able to do this, as we'll re-emit a table with all resources
except the invalidated one.

@since 3.6.0
Expand Down
6 changes: 3 additions & 3 deletions src/buttondragmodel/src/Client/ButtonDragModel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export type ButtonDragModel = typeof(setmetatable(
)) & BaseObject.BaseObject

--[=[
Construst a new drag model for the button
Constructs a new drag model for the button

@param initialButton GuiButton? -- Optional
@return ButtonDragModel
Expand Down Expand Up @@ -129,7 +129,7 @@ end
--[=[
Returns the scale position on the Gui from 0 to 1

This is reletive to the GUI, so top left is 0, 0
This is relative to the GUI, so top left is 0, 0

@return Vector2?
]=]
Expand All @@ -140,7 +140,7 @@ end
--[=[
Observes the scale position on the Gui from 0 to 1

This is reletive to the GUI, so top left is 0, 0
This is relative to the GUI, so top left is 0, 0

@return Observable<Vector2?>
]=]
Expand Down
4 changes: 2 additions & 2 deletions src/buttonhighlightmodel/src/Client/ButtonHighlightModel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,7 @@ end
--[=[
Sets whether the model is choosen
@param isChoosen boolean
@param doNotAnimate boolean
@param doNotAnimate boolean?
]=]
function ButtonHighlightModel.SetIsChoosen(self: ButtonHighlightModel, isChoosen: boolean, doNotAnimate: boolean?)
assert(type(isChoosen) == "boolean", "Bad isChoosen")
Expand Down Expand Up @@ -531,7 +531,7 @@ end
--[=[
Sets whether a key is down
@param isKeyDown boolean
@param doNotAnimate boolean -- Optional
@param doNotAnimate boolean? -- Optional
]=]
function ButtonHighlightModel.SetKeyDown(self: ButtonHighlightModel, isKeyDown: boolean, doNotAnimate: boolean?)
assert(type(isKeyDown) == "boolean", "Bad isKeyDown")
Expand Down
2 changes: 1 addition & 1 deletion src/camera/src/Client/CameraStack.lua
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ function CameraStack.PrintCameraStack(self: CameraStack): ()
end

--[=[
Gets the camera current on the top of the stack
Gets the camera currently on the top of the stack
@return CameraEffect
]=]
function CameraStack.GetTopCamera(self: CameraStack): CameraEffectUtils.CameraLike
Expand Down
4 changes: 2 additions & 2 deletions src/camera/src/Client/CameraStackService.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
--[=[
Holds camera states and allows for the last camera state to be retrieved. Also
initializes an impulse and default camera as the bottom of the stack. Is a singleton.
initializes an impulse and default camera at the bottom of the stack. Is a singleton.

@class CameraStackService
]=]
Expand Down Expand Up @@ -172,7 +172,7 @@ function CameraStackService.GetRawDefaultCamera(self: CameraStackService): Defau
end

--[=[
Gets the camera current on the top of the stack
Gets the camera currently on the top of the stack
@return CameraEffect
]=]
function CameraStackService.GetTopCamera(self: CameraStackService): CameraEffectUtils.CameraLike
Expand Down
2 changes: 1 addition & 1 deletion src/camera/src/Client/Effects/DefaultCamera.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
--!strict
--[=[
Hack to maintain default camera control by binding before and after the camera update cycle
Hack to maintain default camera control by binding before and after the camera update cycle.
This allows other cameras to build off of the "default" camera while maintaining the same Roblox control scheme.

This camera is automatically setup by the [CameraStackService](/api/CameraStackService).
Expand Down
4 changes: 2 additions & 2 deletions src/camera/src/Client/Effects/ZoomedCamera.lua
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
--!strict
--[=[
Allow freedom of movement around a current place, much like the classic script works now.
Not intended to be use with the current character script
Intended to be used with a SummedCamera, relative.
Not intended to be used with the current character script.
Intended to be used with a [SummedCamera], relative.

```lua
local zoom = ZoomedCamera.new()
Expand Down
12 changes: 8 additions & 4 deletions src/camera/src/Client/Utility/CameraStateTweener.lua
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
--!strict
--[=[
Makes transitions between states easier. Uses the `CameraStackService` to tween in and
out a new camera state Call `:Show()` and `:Hide()` to do so, and make sure to
call `:Destroy()` after usage
out a new camera state. Call `:Show()` and `:Hide()` to do so, and make sure to
call `:Destroy()` after usage.

@class CameraStateTweener
]=]
Expand Down Expand Up @@ -87,15 +87,15 @@ end

--[=[
Shows the camera to fade in.
@param doNotAnimate? boolean -- Optional, defaults to animating
@param doNotAnimate boolean? -- Optional, defaults to animating
]=]
function CameraStateTweener.Show(self: CameraStateTweener, doNotAnimate: boolean?)
self:SetTarget(1, doNotAnimate)
end

--[=[
Hides the camera to fade in.
@param doNotAnimate? boolean -- Optional, defaults to animating
@param doNotAnimate boolean? -- Optional, defaults to animating
]=]
function CameraStateTweener.Hide(self: CameraStateTweener, doNotAnimate: boolean?)
self:SetTarget(0, doNotAnimate)
Expand Down Expand Up @@ -156,6 +156,10 @@ function CameraStateTweener.GetCameraBelow(self: CameraStateTweener): CameraEffe
return self._cameraBelow
end

--[=[
Sets the epsilon to stop animating
@param epsilon number?
]=]
function CameraStateTweener:SetEpsilon(epsilon: number?)
self._fadeBetween.Epsilon = epsilon
end
Expand Down
Loading
Loading