8 Commits

Author SHA1 Message Date
c0dev0id
338ea5be49 Fix result display: audio player, error message, correct field names
- Use file_accomplished (not frozen+!error) to gate audio player
- Use errors field (was .error — wrong name, always falsy)
- Render <audio controls> instead of bare download link
- Add audiowidget.tmpl.stub for server-side customization
2026-06-24 13:16:28 +02:00
c0dev0id
c52b0bf9cf Switch to FO pane on any label click in CP or SubObjects panes 2026-06-23 21:36:46 +02:00
c0dev0id
4c392927cf Fix subvariation display, progress bar, and linked-instrument discard
- ast-parser: read for_value= prop for sub-variations (was always null,
  causing fallback to positional "subvariation N" label)
- StatusPoller: calculate progress from currently_rendered_notes /
  notes_in_total; show remaining_time string from status.json
- ShapeEditor/EnvelopeEditor: pass { undo } through onChange so callers
  can revert in-place mutations
- PaneFO: makeChangeHandler stashes undo from info arg; discardEdit
  calls undo() before clearing pendingEdit; depends_on handler provides
  its own undo for the inline node.dependsOn mutation
2026-06-23 21:28:53 +02:00
c0dev0id
2060f109b6 Show numeric sub-variation edge values as bare numbers
Numeric dependsOn values (merge-type variations) are RFC edge values,
not ATTR names. Display them as the number, not as "ATTR: N" or
"subvariation N".
2026-06-23 18:49:17 +02:00
c0dev0id
06b2bab5d3 Redesign PaneCP as vertical focus-path menu; add score metadata to FO pane
PaneCP: replace horizontal breadcrumb with vertical list of short views
for each node in the focus path (type tag + label/identifier). Clicking
any item above current navigates up.

PaneFO: show score info fields (title, composer, source, encrypter) as
editable DL when at score level instead of 'Nothing selected'.
2026-06-23 18:45:13 +02:00
c0dev0id
839ea3f95c Show full score top-level in SubObjects: info, tuning, articles, stage, instruments, bars 2026-06-23 17:38:08 +02:00
c0dev0id
4afabea837 Fix hidden panes: remove duplicate se-pane wrapper from PaneCP and PaneSubObjects
AppShell already wraps each component in div.se-pane; the inner se-pane
had display:none without .active, hiding all content.
Also drop stale movement/part/line/measure bar fields (bar IDs are opaque).
2026-06-23 17:35:29 +02:00
Florian "flowdy" Heß
822e2c9f42 Added files generated by Claude, prompted by sdk based on the md files 2026-06-21 19:23:54 +02:00