Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
453c1b7
simplify frets implementation
caged Dec 18, 2025
88e9308
fuck my shit up fam
caged Dec 18, 2025
7356bd6
spike out the fretboard and data implementation
caged Dec 18, 2025
56639c0
try to figure out svelte 5 pattern
caged Dec 19, 2025
19cad33
keep brackets on same line
caged Dec 19, 2025
499a9f8
13 frets default since the 0 fret is open
caged Dec 19, 2025
8d79e22
visual tweaks and 12 whole frets
caged Dec 19, 2025
9093625
draw fret lines
caged Dec 19, 2025
8827cf5
rename note to strings since it's an array of strings that each conta…
caged Dec 21, 2025
e72b590
basic working fretboard
caged Dec 21, 2025
2f0cbd4
allow reversing of string order
caged Dec 21, 2025
2c4c89e
get simplified note name
caged Dec 21, 2025
9a0ab2d
bump fret height
caged Dec 21, 2025
fcb5fbf
a little more visual flavor. vary string widths, add nut, end fret line
caged Dec 21, 2025
b695459
no need for left padding
caged Dec 21, 2025
845bb1a
add the key selector
caged Dec 21, 2025
7267866
update favicon
caged Dec 21, 2025
72e65c8
draw and implement scale notes on the fretboard
caged Dec 21, 2025
7cd4801
use flat symbol
caged Dec 21, 2025
84f780f
default to c major i guess
caged Dec 21, 2025
4637212
remove some legacy stuff
caged Dec 22, 2025
9ba1a04
use flat symbol
caged Dec 22, 2025
1eb4ffb
update scale chords to work with new system
caged Dec 22, 2025
da70214
visual tweaks to fretboard
caged Dec 22, 2025
512ebfd
update ScaleInfo to new system
caged Dec 22, 2025
ead3d88
add AppContext to get global player
caged Dec 22, 2025
87bcf1a
add the scale chords to the page
caged Dec 22, 2025
381ac31
spike out another page
caged Dec 22, 2025
159b2c9
swap chords to bottom so the fretboard remains stable when there are …
caged Dec 22, 2025
f07cfd7
seems like we can check if a scale has triads in the tonal library to…
caged Dec 22, 2025
a0c6a9a
move frets lib to lib/frets and remove some dead code
caged Dec 22, 2025
98194a4
get name of translated chords
caged Dec 23, 2025
8a5a654
remove log
caged Dec 23, 2025
551ac92
remove some dead code
caged Dec 23, 2025
c13338c
remove dead code
caged Dec 23, 2025
8d759fe
implement Chord component
caged Dec 23, 2025
c083575
gracefully handle resizes
caged Dec 23, 2025
27d54dc
scale chords now use the chord component
caged Dec 23, 2025
321f41f
use Note component for fretboard
caged Dec 23, 2025
bd72d60
move scale note utils to utils and implement ScaleInfo
caged Dec 23, 2025
b0420d8
remove this route for now
caged Dec 23, 2025
4cc8315
add a system selector
caged Dec 24, 2025
fb00039
pretty decent working version of minor pentatonic shapes
caged Dec 24, 2025
6e90394
dont need note name
caged Dec 24, 2025
4fc7b5a
fix position 3 of the a minor pentatonic
caged Dec 26, 2025
abf53bd
use position selector to filter notes
caged Dec 26, 2025
468873f
get working scale positions for major and minor pentatonic
caged Dec 26, 2025
fd33c87
working CAGED system for pentatonic
caged Dec 26, 2025
883c822
working C minor CAGED shapes
caged Dec 26, 2025
51623c2
simplify isMajor for CAGED
caged Dec 26, 2025
57fa670
update to auto select system based on scale
caged Dec 26, 2025
fd9c3eb
major scale working. try to simplify
caged Dec 26, 2025
0611d6f
revert patterns so they still work in major/minor pentatonics
caged Dec 26, 2025
da7fdba
hacky but works
caged Dec 26, 2025
dbb05ab
revert to basic caged shapes for minor because major is still broken
caged Dec 27, 2025
9088ea7
install and configure prettier
caged Dec 27, 2025
60e7346
format
caged Dec 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .prettierrc.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"singleQuote": false,
"semi": true
"semi": true,
"bracketSameLine": true
}
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
}
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This directory contains the source code for the Scales web application, built us

## Architecture

The app is structured as a SvelteKit project which is stored in the `src` directory and a frets library in src/lib/frets that handles rendering fret boards and musical notation. The core of the app is build on top of the Tonal music theory library, which provides functions for generating scales, chords, and notes and can be found here: node_modules/tonal.
The app is structured as a SvelteKit project which is stored in the `src` directory and a frets library in src/frets that handles rendering fret boards and musical notation. The core of the app is build on top of the Tonal music theory library, which provides functions for generating scales, chords, and notes and can be found here: node_modules/tonal.

## Documentation

Expand All @@ -16,5 +16,5 @@ The documentation for the Svelte 5 framework can be found at https://svelte.dev/

* Always prefer built in features of the Tonal library over custom implementations or 3rd party libraries.
* Prefer local markdown documentation for the relevant packages stored in the directory node_modules.
* Use the chai library for unit tests and store tests next to the relevant source files with a .test.js suffix.
* Prefer `assert` statements from the chai library for validations in tests.
* Use the vitest library for tests and prefer expect statements from vitest.
* Follow Svelte best practices for component structure, reactivity, and state management as outlined in the Svelte documentation.
172 changes: 0 additions & 172 deletions DIATONIC_CHORDS_SUMMARY.md

This file was deleted.

Loading