@quenty/rogue-properties 11.30.0-canary.10565ea.0 → 11.30.1-canary.a3ac54d.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 CHANGED
@@ -3,7 +3,23 @@
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.30.0-canary.10565ea.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/rogue-properties@11.29.1...@quenty/rogue-properties@11.30.0-canary.10565ea.0) (2025-11-17)
6
+ ## [11.30.1-canary.a3ac54d.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/rogue-properties@11.30.0...@quenty/rogue-properties@11.30.1-canary.a3ac54d.0) (2025-11-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * Fix styling ([a3ac54d](https://github.com/Quenty/NevermoreEngine/commit/a3ac54d43aafa1c37b0e8c9b6e7b20b3f3362742))
12
+
13
+
14
+ ### Performance Improvements
15
+
16
+ * Fix memory cleanup in Tie + Rogue Properties to try to address memory consumption ([c989f23](https://github.com/Quenty/NevermoreEngine/commit/c989f23bb7741a1f160ee341dfb542ba71775620))
17
+
18
+
19
+
20
+
21
+
22
+ # [11.30.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/rogue-properties@11.29.1...@quenty/rogue-properties@11.30.0) (2025-11-17)
7
23
 
8
24
  **Note:** Version bump only for package @quenty/rogue-properties
9
25
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/rogue-properties",
3
- "version": "11.30.0-canary.10565ea.0",
3
+ "version": "11.30.1-canary.a3ac54d.0",
4
4
  "description": "Roguelike properties which can be modified by external provides",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -24,35 +24,35 @@
24
24
  "Quenty"
25
25
  ],
26
26
  "dependencies": {
27
- "@quenty/adorneedata": "7.22.1",
28
- "@quenty/attributeutils": "14.20.0",
27
+ "@quenty/adorneedata": "7.22.2-canary.a3ac54d.0",
28
+ "@quenty/attributeutils": "14.20.1-canary.a3ac54d.0",
29
29
  "@quenty/baseobject": "10.9.0",
30
- "@quenty/binder": "14.25.1",
31
- "@quenty/brio": "14.20.0",
30
+ "@quenty/binder": "14.25.2-canary.a3ac54d.0",
31
+ "@quenty/brio": "14.20.1-canary.a3ac54d.0",
32
32
  "@quenty/defaultvalueutils": "1.2.2",
33
33
  "@quenty/ducktype": "5.9.0",
34
- "@quenty/instanceutils": "13.20.1",
34
+ "@quenty/instanceutils": "13.20.2-canary.a3ac54d.0",
35
35
  "@quenty/jsonutils": "10.12.0",
36
- "@quenty/linkutils": "13.20.1",
36
+ "@quenty/linkutils": "13.20.2-canary.a3ac54d.0",
37
37
  "@quenty/loader": "10.9.0",
38
38
  "@quenty/maid": "3.5.0",
39
- "@quenty/observablecollection": "12.24.1",
40
- "@quenty/remoting": "12.21.1",
39
+ "@quenty/observablecollection": "12.24.2-canary.a3ac54d.0",
40
+ "@quenty/remoting": "12.21.2-canary.a3ac54d.0",
41
41
  "@quenty/rx": "13.20.0",
42
- "@quenty/rxbinderutils": "14.25.1",
42
+ "@quenty/rxbinderutils": "14.25.2-canary.a3ac54d.0",
43
43
  "@quenty/rxsignal": "7.20.0",
44
44
  "@quenty/servicebag": "11.13.1",
45
45
  "@quenty/signal": "7.11.1",
46
46
  "@quenty/spring": "10.9.1",
47
47
  "@quenty/string": "3.3.3",
48
48
  "@quenty/table": "3.8.0",
49
- "@quenty/tie": "10.26.0-canary.10565ea.0",
50
- "@quenty/valuebaseutils": "13.20.1",
51
- "@quenty/valueobject": "13.21.1",
49
+ "@quenty/tie": "10.26.1-canary.a3ac54d.0",
50
+ "@quenty/valuebaseutils": "13.20.2-canary.a3ac54d.0",
51
+ "@quenty/valueobject": "13.21.2-canary.a3ac54d.0",
52
52
  "@quentystudios/t": "^3.0.0"
53
53
  },
54
54
  "publishConfig": {
55
55
  "access": "public"
56
56
  },
57
- "gitHead": "10565eabfa479c04dde7445c2755ea171d045eb5"
57
+ "gitHead": "a3ac54d43aafa1c37b0e8c9b6e7b20b3f3362742"
58
58
  }
@@ -4,14 +4,17 @@
4
4
  @class RoguePropertyCache
5
5
  ]=]
6
6
 
7
+ local WEAK_KV = { __mode = "kv" }
8
+
7
9
  local RoguePropertyCache = {}
8
10
  RoguePropertyCache.ClassName = "RoguePropertyCache"
9
11
  RoguePropertyCache.__index = RoguePropertyCache
10
12
 
11
- function RoguePropertyCache.new()
13
+ function RoguePropertyCache.new(debugName: string)
12
14
  local self = setmetatable({}, RoguePropertyCache)
13
15
 
14
- self._cache = setmetatable({}, { __mode = "v" })
16
+ self._debugName = debugName
17
+ self._cache = setmetatable({}, WEAK_KV)
15
18
 
16
19
  return self
17
20
  end
@@ -14,25 +14,27 @@ local ServiceBag = require("ServiceBag")
14
14
  local RoguePropertyCacheService = {}
15
15
  RoguePropertyCacheService.ServiceName = "RoguePropertyCacheService"
16
16
 
17
+ local WEAK_K_TABLE = { __mode = "k" }
18
+
17
19
  function RoguePropertyCacheService:Init(serviceBag: ServiceBag.ServiceBag)
18
20
  assert(not self._serviceBag, "Already initialized")
19
21
  self._serviceBag = assert(serviceBag, "No serviceBag")
20
22
 
21
- self._cache = setmetatable({}, { __mode = "k" })
23
+ self._cache = setmetatable({}, WEAK_K_TABLE)
22
24
  end
23
25
 
24
26
  function RoguePropertyCacheService:GetCache(roguePropertyDefinition)
25
27
  if not self._cache then
26
28
  assert(not RunService:IsRunning(), "Not in test mode")
27
29
  -- Test mode
28
- return RoguePropertyCache.new()
30
+ return RoguePropertyCache.new(roguePropertyDefinition:GetName())
29
31
  end
30
32
 
31
33
  if self._cache[roguePropertyDefinition] then
32
34
  return self._cache[roguePropertyDefinition]
33
35
  end
34
36
 
35
- local cache = RoguePropertyCache.new()
37
+ local cache = RoguePropertyCache.new(roguePropertyDefinition:GetName())
36
38
  self._cache[roguePropertyDefinition] = cache
37
39
  return cache
38
40
  end