Skip to content

Comments

X Axis Indicators on Force Curve#193

Open
DXCanas wants to merge 7 commits intoJaapvanEkris:0.9.7-(under-construction)from
DXCanas:force-curve-dividers
Open

X Axis Indicators on Force Curve#193
DXCanas wants to merge 7 commits intoJaapvanEkris:0.9.7-(under-construction)from
DXCanas:force-curve-dividers

Conversation

@DXCanas
Copy link

@DXCanas DXCanas commented Feb 19, 2026

Initially thought of this in #170

One of the downsides of this decision

… keep the (y) axis.

Was the loss of this bit of "built in" force curve measuring; because of the grid layout and the fact that force curve spans 2 normal tiles, having 2 tiles above or below provided a natural "50%" line to base the shape off of.

So I was thinking… what if we just marked the halfway point manually?

And was then encouraged by this line in this comment:

… and show what the peak is in percentage on the x-axis as well.

Not much room for numerical percentage. But a line? Easy to see throughout the stroke, or at least the catch.

So: tap to add a halfway marker.

Checking my assumptions, I found out about some of the other common issues; multi-peak/valley, sharp spikes that folks might want to monitor. So I added thirds as well.

Not biomechanically accurate (leg, hip, arm drive are not all same length), but could be a handy diagnostic.

So: second tap for thirds.

Tap again to reset to clear.

Some screencaps:
force curve with halves indicated

force curve with thirds indicated

Linter was complaining about types, hints, etc. So, knowing about the intended TS converesion, I figured I'd add some hints to at least get the warnings/errors cleared on this file.

What do y'all think?

@DXCanas DXCanas changed the title X Axis Lines on Force Curve X Axis Indicators on Force Curve Feb 19, 2026
@JaapvanEkris
Copy link
Owner

JaapvanEkris commented Feb 19, 2026

This is interesting! And a nice and creative improvement. Would it survive a browser restart (i.e. set once, forget about it)?

@JaapvanEkris JaapvanEkris linked an issue Feb 19, 2026 that may be closed by this pull request
@DXCanas
Copy link
Author

DXCanas commented Feb 19, 2026

Hm no, it wouldn't survive as it's based entirely on local state.

I could see about bubbling the event out to be handled by the persistent browser state, but I was thinking of this mostly as a "oh, today I want to focus on X" type of thing.

@DXCanas DXCanas force-pushed the force-curve-dividers branch from 01dd789 to 77ff871 Compare February 19, 2026 20:28
@DXCanas
Copy link
Author

DXCanas commented Feb 19, 2026

Alright @JaapvanEkris, it survives now :)

@DXCanas DXCanas force-pushed the force-curve-dividers branch 5 times, most recently from e867a82 to 040431d Compare February 21, 2026 03:26
@DXCanas DXCanas marked this pull request as ready for review February 21, 2026 03:27
@JaapvanEkris JaapvanEkris added this to the 0.9.7 milestone Feb 23, 2026
@JaapvanEkris
Copy link
Owner

Found a small bug in testing: when I tap on the GUI to activate the new line, the colorscheme drops from OLED (really loving that one, thanks) to the old colorscheme.

And there is a merge conflict, so you might have to rebase (normally I'd solve that for you).

…unctionality

- Implement custom Chart.js plugin to draw vertical dashed division lines at configurable positions
- Add click handler to cycle through division modes (0, 2, or 3 divisions)
- Move Chart.register call outside constructor to include new divisionLinesPlugin
- Add `_divisionMode` state property to track current division setting
- Implement `_updateDivisionLines()` to calculate line positions based on data length and division mode
…ration values

Changed updateState call in settings-update handler to spread existing guiConfigs before applying new values, preventing unintended deletion of other GUI configuration properties when updating individual settings.
Removing inline styles and wrapper div.
Thickening line a bit, for visibility.
@DXCanas DXCanas force-pushed the force-curve-dividers branch from 040431d to 41c5966 Compare February 23, 2026 18:30
Now we merge the new settings into the existing guiConfigs and pass the resulting trueBlackTheme value to applyTheme, ensuring the theme state is preserved.
    Replaced the hardcoded 'actions' metric migration with a dynamic validation check against the authoritative DASHBOARD_METRICS object keys.
    This ensures that any non-existent or deprecated tiles are gracefully ignored and removed from saved state, preventing rendering issues if metrics are removed in future updates.

AI-Assisted-By: Gemini 3.1
@DXCanas
Copy link
Author

DXCanas commented Feb 23, 2026

Nice catch @JaapvanEkris!

Fixed that behaviour in ea2bcb7

Also, while looking through index.js I decided to make the migration bandaid from #170 (434d7f8) a little more robust by checking what tiles are actually available.

If we think it'll be a performance concern or something, I'm happy to revert the commit.

cc @Abasz

@Abasz
Copy link
Collaborator

Abasz commented Feb 24, 2026

this is no concern as it runs once per page load. thanks!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GUI Peak Force Tile

3 participants