Skip to content

Claude.Md improvements #70

@TGALLOWAY1

Description

@TGALLOWAY1

One canonical store with derived selectors

Not:
• ad hoc local state in each panel
• copied arrays
• parallel models for timeline vs grid vs layouts

Instead:
• one canonical project store
• normalized entities
• selectors / derived view models per workspace

Example mental model

Canonical entities
• sounds
• events
• sources
• layouts
• constraints
• sections
• performance mappings

Derived selectors
• composeTimelineView
• optimizeGridView
• candidateLayoutCards
• practicePlaybackView
• soundsBrowserItems

That way:
• every surface is reading from the same truth
• different modes can still present different derived views
• renames and assignments propagate everywhere

Product rule I would enforce

Nothing should store duplicated display data if it can reference an entity ID

For example:

Bad:
• timeline row stores "Hat 1"
• grid pad stores "Hat 1"
• layout card stores "Hat 1"

Better:
• all of them store soundId: "snd_hat1"
• the display name comes from canonical sound state

That one discipline will save you a lot of pain.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions