<feed xmlns='http://www.w3.org/2005/Atom'>
<title>demo.git/tools/timeline_editor/index.html, branch main</title>
<subtitle>Vide-coded 64k demo system</subtitle>
<id>https://git.taar-o.com/demo.git/atom?h=main</id>
<link rel='self' href='https://git.taar-o.com/demo.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/'/>
<updated>2026-02-17T06:52:48Z</updated>
<entry>
<title>feat: add Sequence V2 format support to timeline editor</title>
<updated>2026-02-17T06:52:48Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-17T06:52:48Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=cd53ff0be8971b592d8d01836a6572c4123e5495'/>
<id>urn:sha1:cd53ff0be8971b592d8d01836a6572c4123e5495</id>
<content type='text'>
Implements full support for the sequence v2 DAG format with explicit
node routing and arrow syntax.

New features:
- timeline-format.js module for parsing/serializing v2 format
- NODE declarations with typed buffers (u8x4_norm, f32x4, etc.)
- Arrow syntax for effect routing: input1 input2 -&gt; output1 output2
- Buffer chain visualization in properties panel and tooltips
- Node editor modal for adding/deleting node declarations
- Validation for undeclared node references (when NODEs explicit)
- Backward compatible with auto-inferred nodes

Files added:
- tools/timeline_editor/timeline-format.js (214 lines)
- tools/timeline_editor/test_format.html (automated tests)
- workspaces/test/timeline_v2_test.seq (test file with NODE declarations)

Files modified:
- tools/timeline_editor/index.html (~40 changes for v2 support)

All success criteria met. Round-trip tested with existing timelines.

handoff(Claude): Timeline editor now fully supports v2 format with
explicit node routing, NODE declarations, and buffer chain visualization.
Parser handles both explicit NODE declarations and auto-inferred nodes.
Validation only runs when explicit NODEs exist. Ready for production use.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(tools): consolidate common CSS for HTML tools</title>
<updated>2026-02-15T16:09:57Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T16:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=f074964f9a39644fc2acd901b137eca345fdae5a'/>
<id>urn:sha1:f074964f9a39644fc2acd901b137eca345fdae5a</id>
<content type='text'>
Extract common styles from various tool HTML files (timeline, spectral, cnn_v2_test, etc.) into a shared stylesheet.

This reduces code duplication and improves maintainability of the tool frontends.

- Create a new 'tools/common/style.css' to house the shared rules.
- Update all tool HTML files to link to the new stylesheet.
- Remove redundant inline styles from individual HTML files.
</content>
</entry>
<entry>
<title>fix(audio): WAV dump drift improvements, acceptable state</title>
<updated>2026-02-15T15:41:08Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T15:41:08Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=3a3eca975f15d1e025d6c46c6de253d2abaa7170'/>
<id>urn:sha1:3a3eca975f15d1e025d6c46c6de253d2abaa7170</id>
<content type='text'>
WAV dump changes:
- Bypass ring buffer, render directly with synth_render()
- Frame accumulator eliminates truncation errors
- Skip pre-fill and fix seek for WAV dump mode
- Result: No glitches, -150ms drift at 64b (acceptable)

Timeline editor:
- Fix waveform tooltip position calculation
- Increase beat bar visibility (0.5 opacity)

Cleanup:
- Remove all drift debugging code from audio.cc and tracker.cc

Status: Acceptable for now, further investigation needed.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(timeline-editor): capture all wheel events at container level</title>
<updated>2026-02-15T14:23:21Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T14:23:21Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=efa59a79dfabfe11d25df624421915d49dc652eb'/>
<id>urn:sha1:efa59a79dfabfe11d25df624421915d49dc652eb</id>
<content type='text'>
- Add timelineContainer reference and capture wheel events with { capture: true }
- Remove redundant wheel handlers from individual sequence/effect elements
- Prevents child elements from interfering with zoom/scroll functionality

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs(timeline-editor): clarify effect time units in property panel</title>
<updated>2026-02-15T14:20:17Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T14:20:17Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=6dcde32122263627e58000c7616553a5bd5d2cef'/>
<id>urn:sha1:6dcde32122263627e58000c7616553a5bd5d2cef</id>
<content type='text'>
Add "beats" to start/end time labels in effect properties panel for consistency with sequence panel.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(timeline-editor): rename variables to reflect beat-based units</title>
<updated>2026-02-15T14:14:47Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T14:14:47Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=f7edf29a4c8208c7654a1c979dba980d741ad52d'/>
<id>urn:sha1:f7edf29a4c8208c7654a1c979dba980d741ad52d</id>
<content type='text'>
Renamed time-related variables for clarity:
- pixelsPerSecond → pixelsPerBeat (timeline internally uses beats)
- audioDuration → audioDurationSeconds
- maxTime → maxTimeBeats
- Local variables: newTime → newTimeBeats, duration → durationBeats
- Updated stats display to show both beats and seconds

All internal state stores beat values; serializer writes beats without suffix per .seq format.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(timeline-editor): centralize BPM calculations</title>
<updated>2026-02-15T14:00:57Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T14:00:57Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=f23bd208b38ccfdc814daa99818a7e119f5ee313'/>
<id>urn:sha1:f23bd208b38ccfdc814daa99818a7e119f5ee313</id>
<content type='text'>
Replace repeated 60.0/bpm calculations with precomputed secondsPerBeat
and beatsPerSecond properties. Add computeBPMValues helper and updateBPM
function for consistency. Also prevent wheel events on time markers.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(timeline-editor): add timing tooltip and cursor in waveform view</title>
<updated>2026-02-15T13:54:32Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T13:54:32Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=2031e24c976d1a11eb48badb97e824b1db07741a'/>
<id>urn:sha1:2031e24c976d1a11eb48badb97e824b1db07741a</id>
<content type='text'>
Shows precise time (seconds) and beat position under mouse cursor with
a vertical guide line for accurate sample timing measurements.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(timeline-editor): enable mouse wheel on all sequence viewer elements</title>
<updated>2026-02-15T13:49:08Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T13:49:08Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=a7bd63b1fc2b573141677da2d613c2a84455260e'/>
<id>urn:sha1:a7bd63b1fc2b573141677da2d613c2a84455260e</id>
<content type='text'>
Wheel events now work when hovering over sequence boxes and effects,
not just the timeline background.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(timeline-editor): extract viewport and playback to ES6 modules</title>
<updated>2026-02-15T12:04:49Z</updated>
<author>
<name>skal</name>
<email>pascal.massimino@gmail.com</email>
</author>
<published>2026-02-15T12:04:49Z</published>
<link rel='alternate' type='text/html' href='https://git.taar-o.com/demo.git/commit/?id=f7227fb28aabd1899832cd769fe72692ea4890e6'/>
<id>urn:sha1:f7227fb28aabd1899832cd769fe72692ea4890e6</id>
<content type='text'>
Extract zoom/scroll/playback code from monolithic index.html into
separate modules for better code organization:

- timeline-viewport.js: Zoom, scroll sync, indicator positioning (133 lines)
- timeline-playback.js: Audio loading, playback, waveform rendering (303 lines)
- index.html: Reduced from 1093 to 853 lines (-22%)

Requires HTTP server for ES6 module imports. Updated README with usage.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
