@quenty/depthoffield 11.19.3 → 11.19.4-canary.11a5dcf.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/package.json +17 -17
- package/src/Client/DepthOfFieldEffect.lua +12 -8
- package/src/Client/DepthOfFieldEffect.story.lua +26 -26
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [11.19.4-canary.11a5dcf.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/depthoffield@11.19.3...@quenty/depthoffield@11.19.4-canary.11a5dcf.0) (2025-05-10)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* Additional type checking updates ([05ba29a](https://github.com/Quenty/NevermoreEngine/commit/05ba29a03efc9f3feed74b34f1d9dfb237496214))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [11.19.3](https://github.com/Quenty/NevermoreEngine/compare/@quenty/depthoffield@11.19.2...@quenty/depthoffield@11.19.3) (2025-04-10)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @quenty/depthoffield
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/depthoffield",
|
|
3
|
-
"version": "11.19.
|
|
3
|
+
"version": "11.19.4-canary.11a5dcf.0",
|
|
4
4
|
"description": "Depth of field service to allow multiple systems to write depth of field",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -25,24 +25,24 @@
|
|
|
25
25
|
"Quenty"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@quenty/acceltween": "
|
|
29
|
-
"@quenty/attributeutils": "
|
|
30
|
-
"@quenty/baseobject": "
|
|
31
|
-
"@quenty/basicpane": "
|
|
32
|
-
"@quenty/blend": "
|
|
33
|
-
"@quenty/brio": "
|
|
34
|
-
"@quenty/instanceutils": "
|
|
35
|
-
"@quenty/loader": "
|
|
36
|
-
"@quenty/maid": "
|
|
37
|
-
"@quenty/math": "
|
|
38
|
-
"@quenty/rx": "
|
|
39
|
-
"@quenty/signal": "
|
|
40
|
-
"@quenty/steputils": "
|
|
41
|
-
"@quenty/transitionmodel": "
|
|
42
|
-
"@quenty/valueobject": "
|
|
28
|
+
"@quenty/acceltween": "2.5.3",
|
|
29
|
+
"@quenty/attributeutils": "14.17.4-canary.11a5dcf.0",
|
|
30
|
+
"@quenty/baseobject": "10.8.4-canary.11a5dcf.0",
|
|
31
|
+
"@quenty/basicpane": "13.17.4-canary.11a5dcf.0",
|
|
32
|
+
"@quenty/blend": "12.18.4-canary.11a5dcf.0",
|
|
33
|
+
"@quenty/brio": "14.17.4-canary.11a5dcf.0",
|
|
34
|
+
"@quenty/instanceutils": "13.17.4-canary.11a5dcf.0",
|
|
35
|
+
"@quenty/loader": "10.8.4-canary.11a5dcf.0",
|
|
36
|
+
"@quenty/maid": "3.4.4-canary.11a5dcf.0",
|
|
37
|
+
"@quenty/math": "2.7.3",
|
|
38
|
+
"@quenty/rx": "13.17.4-canary.11a5dcf.0",
|
|
39
|
+
"@quenty/signal": "7.10.4-canary.11a5dcf.0",
|
|
40
|
+
"@quenty/steputils": "3.5.6-canary.11a5dcf.0",
|
|
41
|
+
"@quenty/transitionmodel": "7.19.4-canary.11a5dcf.0",
|
|
42
|
+
"@quenty/valueobject": "13.17.4-canary.11a5dcf.0"
|
|
43
43
|
},
|
|
44
44
|
"publishConfig": {
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "11a5dcf7d4c7a0bfbf3337e97d30e8346ea09d3f"
|
|
48
48
|
}
|
|
@@ -12,18 +12,18 @@ local Lighting = game:GetService("Lighting")
|
|
|
12
12
|
local Workspace = game:GetService("Workspace")
|
|
13
13
|
|
|
14
14
|
local Blend = require("Blend")
|
|
15
|
+
local Brio = require("Brio")
|
|
15
16
|
local Maid = require("Maid")
|
|
16
17
|
local Math = require("Math")
|
|
17
18
|
local Observable = require("Observable")
|
|
18
19
|
local Rx = require("Rx")
|
|
20
|
+
local RxAttributeUtils = require("RxAttributeUtils")
|
|
19
21
|
local RxBrioUtils = require("RxBrioUtils")
|
|
20
22
|
local RxInstanceUtils = require("RxInstanceUtils")
|
|
21
23
|
local SpringObject = require("SpringObject")
|
|
22
24
|
local SpringTransitionModel = require("SpringTransitionModel")
|
|
23
25
|
local TransitionModel = require("TransitionModel")
|
|
24
26
|
local ValueObject = require("ValueObject")
|
|
25
|
-
local RxAttributeUtils = require("RxAttributeUtils")
|
|
26
|
-
local _Brio = require("Brio")
|
|
27
27
|
|
|
28
28
|
local DepthOfFieldEffect = setmetatable({}, TransitionModel)
|
|
29
29
|
DepthOfFieldEffect.ClassName = "DepthOfFieldEffect"
|
|
@@ -37,7 +37,7 @@ export type DepthOfFieldEffect = typeof(setmetatable(
|
|
|
37
37
|
_nearIntensitySpring: SpringObject.SpringObject<number>,
|
|
38
38
|
_farIntensitySpring: SpringObject.SpringObject<number>,
|
|
39
39
|
_percentVisibleModel: SpringTransitionModel.SpringTransitionModel<number>,
|
|
40
|
-
_observeOtherStates: Observable.Observable<
|
|
40
|
+
_observeOtherStates: Observable.Observable<Brio.Brio<DepthOfFieldEffect>?>,
|
|
41
41
|
},
|
|
42
42
|
{} :: typeof({ __index = DepthOfFieldEffect })
|
|
43
43
|
)) & TransitionModel.TransitionModel
|
|
@@ -282,7 +282,9 @@ type DepthOfFieldState = {
|
|
|
282
282
|
depthOfField: Instance?,
|
|
283
283
|
}
|
|
284
284
|
|
|
285
|
-
function DepthOfFieldEffect._observeRenderedDepthOfFieldState(
|
|
285
|
+
function DepthOfFieldEffect._observeRenderedDepthOfFieldState(
|
|
286
|
+
self: DepthOfFieldEffect
|
|
287
|
+
): Observable.Observable<Brio.Brio<DepthOfFieldEffect>?>
|
|
286
288
|
if self._observeOtherStates then
|
|
287
289
|
return self._observeOtherStates
|
|
288
290
|
end
|
|
@@ -378,10 +380,12 @@ function DepthOfFieldEffect._observeRenderedDepthOfFieldState(self: DepthOfField
|
|
|
378
380
|
Rx.cache() :: any,
|
|
379
381
|
}) :: any
|
|
380
382
|
|
|
381
|
-
return self._observeOtherStates
|
|
383
|
+
return self._observeOtherStates :: any
|
|
382
384
|
end
|
|
383
385
|
|
|
384
|
-
function DepthOfFieldEffect._observeAllDepthOfFieldBrio(
|
|
386
|
+
function DepthOfFieldEffect._observeAllDepthOfFieldBrio(
|
|
387
|
+
_self: DepthOfFieldEffect
|
|
388
|
+
): Observable.Observable<Brio.Brio<Instance>>
|
|
385
389
|
return Rx.merge({
|
|
386
390
|
RxInstanceUtils.observeChildrenOfClassBrio(Lighting, "DepthOfFieldEffect") :: any,
|
|
387
391
|
RxInstanceUtils.observePropertyBrio(Workspace, "CurrentCamera", function(camera)
|
|
@@ -389,9 +393,9 @@ function DepthOfFieldEffect._observeAllDepthOfFieldBrio(_self: DepthOfFieldEffec
|
|
|
389
393
|
end):Pipe({
|
|
390
394
|
RxBrioUtils.flatMapBrio(function(currentCamera)
|
|
391
395
|
return RxInstanceUtils.observeChildrenOfClassBrio(currentCamera, "DepthOfFieldEffect")
|
|
392
|
-
end),
|
|
396
|
+
end) :: any,
|
|
393
397
|
}) :: any,
|
|
394
398
|
}) :: any
|
|
395
399
|
end
|
|
396
400
|
|
|
397
|
-
return DepthOfFieldEffect
|
|
401
|
+
return DepthOfFieldEffect
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
@class DepthOfFieldEffect.story
|
|
3
3
|
]]
|
|
4
4
|
|
|
5
|
-
local require =
|
|
5
|
+
local require =
|
|
6
|
+
require(game:GetService("ServerScriptService"):FindFirstChild("LoaderUtils", true).Parent).bootstrapStory(script)
|
|
6
7
|
|
|
7
8
|
local Workspace = game:GetService("Workspace")
|
|
8
9
|
|
|
9
|
-
local Maid = require("Maid")
|
|
10
|
-
local DepthOfFieldEffect = require("DepthOfFieldEffect")
|
|
11
10
|
local Blend = require("Blend")
|
|
11
|
+
local DepthOfFieldEffect = require("DepthOfFieldEffect")
|
|
12
|
+
local Maid = require("Maid")
|
|
12
13
|
|
|
13
14
|
return function(target)
|
|
14
15
|
local maid = Maid.new()
|
|
@@ -25,55 +26,54 @@ return function(target)
|
|
|
25
26
|
depthOfFieldEffect2.Gui.Parent = Workspace.CurrentCamera
|
|
26
27
|
-- depthOfFieldEffect2:Show()
|
|
27
28
|
|
|
28
|
-
|
|
29
29
|
maid:Add(Blend.mount(target, {
|
|
30
30
|
Blend.New "Frame" {
|
|
31
|
-
Size = UDim2.new(1, 0, 1, 0)
|
|
32
|
-
BackgroundTransparency = 1
|
|
31
|
+
Size = UDim2.new(1, 0, 1, 0),
|
|
32
|
+
BackgroundTransparency = 1,
|
|
33
33
|
|
|
34
34
|
Blend.New "UIListLayout" {
|
|
35
|
-
Padding = UDim.new(0, 5)
|
|
36
|
-
}
|
|
35
|
+
Padding = UDim.new(0, 5),
|
|
36
|
+
},
|
|
37
37
|
|
|
38
38
|
Blend.New "TextButton" {
|
|
39
39
|
Text = Blend.Computed(depthOfFieldEffect:ObserveVisible(), function(visible)
|
|
40
40
|
return string.format("Toggle 1 (%s)", visible and "on" or "off")
|
|
41
|
-
end)
|
|
41
|
+
end),
|
|
42
42
|
BackgroundColor3 = Blend.Computed(depthOfFieldEffect:ObserveVisible(), function(visible)
|
|
43
43
|
return visible and Color3.new(0.5, 1, 0.5) or Color3.new(1, 0.5, 0.5)
|
|
44
|
-
end)
|
|
45
|
-
AutoButtonColor = true
|
|
46
|
-
Size = UDim2.new(0, 100, 0, 30)
|
|
44
|
+
end),
|
|
45
|
+
AutoButtonColor = true,
|
|
46
|
+
Size = UDim2.new(0, 100, 0, 30),
|
|
47
47
|
[Blend.OnEvent "Activated"] = function()
|
|
48
48
|
depthOfFieldEffect:Toggle()
|
|
49
|
-
end
|
|
49
|
+
end,
|
|
50
50
|
|
|
51
51
|
Blend.New "UICorner" {
|
|
52
|
-
CornerRadius = UDim.new(0, 5)
|
|
53
|
-
}
|
|
54
|
-
}
|
|
52
|
+
CornerRadius = UDim.new(0, 5),
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
55
|
|
|
56
56
|
Blend.New "TextButton" {
|
|
57
57
|
Text = Blend.Computed(depthOfFieldEffect2:ObserveVisible(), function(visible)
|
|
58
58
|
return string.format("Toggle 2 (%s)", visible and "on" or "off")
|
|
59
|
-
end)
|
|
59
|
+
end),
|
|
60
60
|
BackgroundColor3 = Blend.Computed(depthOfFieldEffect2:ObserveVisible(), function(visible)
|
|
61
61
|
return visible and Color3.new(0.5, 1, 0.5) or Color3.new(1, 0.5, 0.5)
|
|
62
|
-
end)
|
|
63
|
-
AutoButtonColor = true
|
|
64
|
-
Size = UDim2.new(0, 100, 0, 30)
|
|
62
|
+
end),
|
|
63
|
+
AutoButtonColor = true,
|
|
64
|
+
Size = UDim2.new(0, 100, 0, 30),
|
|
65
65
|
[Blend.OnEvent "Activated"] = function()
|
|
66
66
|
depthOfFieldEffect2:Toggle()
|
|
67
|
-
end
|
|
67
|
+
end,
|
|
68
68
|
|
|
69
69
|
Blend.New "UICorner" {
|
|
70
|
-
CornerRadius = UDim.new(0, 5)
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
70
|
+
CornerRadius = UDim.new(0, 5),
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
74
|
}))
|
|
75
75
|
|
|
76
76
|
return function()
|
|
77
77
|
maid:DoCleaning()
|
|
78
78
|
end
|
|
79
|
-
end
|
|
79
|
+
end
|