diff --git a/docs/api-reference/graph/types/graphobject.md b/docs/api-reference/graph/types/graphobject.md index ef2fafa15..03d02b135 100644 --- a/docs/api-reference/graph/types/graphobject.md +++ b/docs/api-reference/graph/types/graphobject.md @@ -15,10 +15,9 @@ export type GraphObject = ScopedObject & { dependencySet: {[GraphObject]: unknown}, dependentSet: {[GraphObject]: unknown}, lastChange: number?, - lastCompute: number?, timeliness: "lazy" | "eager", validity: "valid" | "invalid" | "busy", - _evaluate: (GraphObject) -> boolean + _evaluate: (GraphObject, lastChange: number?) -> boolean } ``` @@ -76,16 +75,6 @@ object. The `os.clock()` time of this object's most recent meaningful change, or `nil` if the object is newly created. -

- lastCompute - - : number? - -

- -The `os.clock()` time of when this object was most recently computed, or `nil` -if the object is newly created. -

timeliness diff --git a/src/Animation/ExternalTime.luau b/src/Animation/ExternalTime.luau index e3adfaf26..8e18ce204 100644 --- a/src/Animation/ExternalTime.luau +++ b/src/Animation/ExternalTime.luau @@ -39,7 +39,6 @@ local function ExternalTime( createdAt = createdAt, dependentSet = {}, lastChange = nil, - lastCompute = nil, scope = scope, validity = "invalid" }, diff --git a/src/Animation/Spring.luau b/src/Animation/Spring.luau index 60e4d74b1..4b332aa49 100644 --- a/src/Animation/Spring.luau +++ b/src/Animation/Spring.luau @@ -81,7 +81,6 @@ local function Spring( dependencySet = {}, dependentSet = {}, lastChange = nil, - lastCompute = nil, scope = scope, validity = "invalid", _activeDamping = -1, diff --git a/src/Animation/Stopwatch.luau b/src/Animation/Stopwatch.luau index f93a56edd..b2e330c9b 100644 --- a/src/Animation/Stopwatch.luau +++ b/src/Animation/Stopwatch.luau @@ -53,7 +53,6 @@ local function Stopwatch( dependencySet = {}, dependentSet = {}, lastChange = nil, - lastCompute = nil, scope = scope, validity = "invalid", _EXTREMELY_DANGEROUS_usedAsValue = 0, diff --git a/src/Animation/Tween.luau b/src/Animation/Tween.luau index 762b19605..72bf956c7 100644 --- a/src/Animation/Tween.luau +++ b/src/Animation/Tween.luau @@ -67,7 +67,6 @@ local function Tween( dependencySet = {}, dependentSet = {}, lastChange = nil, - lastCompute = nil, scope = scope, validity = "invalid", _activeDuration = nil, diff --git a/src/Graph/evaluate.luau b/src/Graph/evaluate.luau index 6161fd17e..59c747fd8 100644 --- a/src/Graph/evaluate.luau +++ b/src/Graph/evaluate.luau @@ -21,14 +21,14 @@ local function evaluate( if target.validity == "busy" then return External.logError("infiniteLoop") end - local firstEvaluation = target.lastCompute == nil or target.lastChange == nil + local firstEvaluation = target.lastChange == nil local isInvalid = target.validity == "invalid" if firstEvaluation or isInvalid or forceComputation then local needsComputation = firstEvaluation or forceComputation if not needsComputation then for dependency in target.dependencySet do evaluate(dependency, false) - if dependency.lastChange > target.lastCompute then + if dependency.lastChange > target.lastChange then needsComputation = true break end @@ -42,7 +42,6 @@ local function evaluate( end target.validity = "busy" targetMeaningfullyChanged = target:_evaluate() or firstEvaluation - target.lastCompute = os.clock() end if targetMeaningfullyChanged then target.lastChange = os.clock() diff --git a/src/State/Computed.luau b/src/State/Computed.luau index a1d2f29ab..893e2883d 100644 --- a/src/State/Computed.luau +++ b/src/State/Computed.luau @@ -52,7 +52,6 @@ local function Computed( dependencySet = {}, dependentSet = {}, lastChange = nil, - lastCompute = nil, scope = scope, validity = "invalid", _EXTREMELY_DANGEROUS_usedAsValue = nil, diff --git a/src/State/Value.luau b/src/State/Value.luau index 57529e440..337af62e8 100644 --- a/src/State/Value.luau +++ b/src/State/Value.luau @@ -37,7 +37,6 @@ local function Value( createdAt = createdAt, dependentSet = {}, lastChange = os.clock(), - lastCompute = os.clock(), scope = scope, validity = "valid", _EXTREMELY_DANGEROUS_usedAsValue = initialValue diff --git a/src/Types.luau b/src/Types.luau index d26737e47..ddecd4092 100644 --- a/src/Types.luau +++ b/src/Types.luau @@ -78,7 +78,6 @@ export type GraphObject = ScopedObject & { dependencySet: {[GraphObject]: unknown}, dependentSet: {[GraphObject]: unknown}, lastChange: number?, - lastCompute: number?, timeliness: "lazy" | "eager", validity: "valid" | "invalid" | "busy", _evaluate: (GraphObject) -> boolean diff --git a/test/Spec/Graph/evaluate.spec.luau b/test/Spec/Graph/evaluate.spec.luau index 112fd5849..9d53aaf15 100644 --- a/test/Spec/Graph/evaluate.spec.luau +++ b/test/Spec/Graph/evaluate.spec.luau @@ -415,7 +415,6 @@ return function() local seen = {} for _, searchTarget in searchNow do searchTarget.lastChange = -depth - searchTarget.lastCompute = -depth searchTarget.validity = if depth == 0 then "valid" else "invalid" for dependent in searchTarget.dependentSet do if seen[dependent] then diff --git a/test/Util/Graphs.luau b/test/Util/Graphs.luau index 7faedf390..d017a7ab8 100644 --- a/test/Util/Graphs.luau +++ b/test/Util/Graphs.luau @@ -533,7 +533,6 @@ function Graphs.make( dependencySet = {}, dependentSet = {}, lastChange = nil, - lastCompute = nil, timeliness = "lazy" :: "lazy", validity = "valid" :: "valid", _evaluate = function()