refactor: implement base/modifier separation for variable reactivity
Introduce a distinction between base values (set via `/set` or declarations) and active modifiers (applied via tags). This ensures tag transitions and numeric modifiers are calculated correctly during cascades. - Refactor `VariableView` to use a flat list with hover popups for declarations and active modifiers. - Update `command-dispatcher` to use `getCombined` for accurate value lookups and `setBase` for variable updates. - Update `var-reactivity` to manage `baseValues`, `activeMods`, and `sourceActivations` separately. - Export new utility functions for accessing combined values, modifiers, and declaration expressions.
This commit is contained in:
@@ -60,7 +60,7 @@ export { parseDeclareCsv } from "./declare-parser";
|
||||
export type { VarDeclaration, TagModifier } from "./declare-parser";
|
||||
export { evaluateExpression, expressionIsTag } from "./variable-expression";
|
||||
export type { EvalContext, EvalResult } from "./variable-expression";
|
||||
export { initReactivity, computeCascade, computeActiveTags, extractDependencies, computeInitialValues } from "./var-reactivity";
|
||||
export { initReactivity, computeCascade, getCombined, getMods, getDeclExpr, setBase, extractDependencies, computeInitialValues } from "./var-reactivity";
|
||||
export type { VarReactivityState, VariableStore } from "./var-reactivity";
|
||||
export { JournalContext, useJournalContext } from "./JournalContext";
|
||||
export type { JournalContextValue } from "./JournalContext";
|
||||
|
||||
Reference in New Issue
Block a user