Skip to content

State Management System #194

Closed
Closed

Description

@kubrickcode

Predictable state changes with Redux-inspired state management.

type ApplicationState = {
  config: {
    currentTarget: ConfigurationTarget;
    buttons: ButtonConfig[];
    validationErrors: ValidationError[];
  };
  buttonSets: {
    sets: ButtonSet[];
    activeSet: string | null;
  };
  execution: {
    history: ExecutionHistoryEntry[];
    terminals: Map<string, TerminalState>;
  };
};

class StateManager {
  dispatch<T>(action: Action<T>): Promise<void>;
  getState(): Readonly<ApplicationState>;
  subscribe(selector: StateSelector, callback: SubscriberCallback): Disposable;

  // Time-travel debugging
  getStateHistory(): ApplicationState[];
  replayActions(actions: Action[]): void;
}

Reason: State predictability
Current: State is distributed across multiple managers
Improvement: Single state store + action-based changes

  • Easier debugging (state change tracking)
  • Natural implementation of Undo/Redo

Activity

  1. added 2 commits that reference this issue on Dec 2, 2025
    394b05d
    2322b00
  2. moved this from Backlog to Progress in Issue Trackeron Dec 2, 2025
  3. moved this from Progress to Review in Issue Trackeron Dec 2, 2025
  4. moved this from Done to Progress in Issue Trackeron Dec 2, 2025
  5. added a commit that references this issue on Dec 2, 2025
    428b354
  6. moved this from Progress to Review in Issue Trackeron Dec 2, 2025
  7. added a commit that references this issue on Dec 2, 2025
    d35c794
  8. 3 remaining items

  9. moved this from Done to Progress in Issue Trackeron Dec 2, 2025
  10. added a commit that references this issue on Dec 2, 2025
    57fe385
  11. moved this from Progress to Review in Issue Trackeron Dec 2, 2025
  12. moved this from Done to Progress in Issue Trackeron Dec 2, 2025
  13. added a commit that references this issue on Dec 2, 2025
    5b7b44e
  14. moved this from Progress to Review in Issue Trackeron Dec 2, 2025
  15. added 2 commits that reference this issue on Dec 2, 2025
    071609c
    0c62f4e
  16. kubrickcode commented on Dec 7, 2025

    @kubrickcode
    OwnerAuthor

    🎉 This issue has been resolved in version 0.10.0 🎉

    The release is available on GitHub release

    Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions