Changelog
90 changes since 11 May 2025. Follow all tools by RSS.
- Use cover art as the episode YAML thumbnail a9bade3
- Fix invalid YAML indentation in episode chapters fb1e444
- Cap cover art at 1500px for the MP3 poster and ZIP 9040b93
- Embed cover art as the MP3 front-cover poster image 8e267dd
- Add a plain-text Source field to each clip a7a5149
- Equal clip-list/editor columns; render card description as Markdown 467d67e
- Editable clip thumbnails + metadata-rich clip cards 9d9a5ee
- Add MP3 chapters + per-clip Link field to Audiolog episode creator 7aa608c
- Audiolog: fix episode metadata modal (dark-mode legibility + overflow) 65baaec
- Audiolog: thorough design-system pass 2ca983f
- Refactor audiolog (cleanup): extract lib/theme.js, sweep comments, document architecture b46a348
- Refactor audiolog (phase 4): extract lib/transcript.js + lib/audio-buffer.js a7bca4b
- Fix metadata.js: import formatTime/formatTimeHHMMSS from format.js d98cfae
- Refactor audiolog (phase 4): extract lib/metadata.js (episode YAML) 31d7c8d
- Refactor audiolog (phase 2c): extract lib/audio-encode.js 388d5a4
- Refactor audiolog (phase 2c): extract lib/format.js c5bd80d
- Fix module parse error: remove dead duplicate audioBufferToWav 6351232
- Refactor audiolog (phase 2b): load app.js as an ES module 75c5170
- Refactor audiolog (phase 2a): move script to external app.js 0e9234b
- Refactor audiolog (phase 0-1): smoke-test checklist + extract CSS 76947f7
- Make audiolog theme-aware (enable dark mode) 28b92af
- Apply design system to audiolog editor (light palette) cde70f6
- Add missing font property to arrow shapes 44e16dd
- Add missing labelColor property to arrow shapes 4cdeac4
- Fix TLDraw fractional index format - use base-36 encoding with 'a' prefix 2d45621
- Fix TLDraw index validation error - use index+1 to avoid invalid 'a0', 'b0' keys 8b1ea18
- Fix arrow ID validation - all shape IDs must start with 'shape:' prefix including arrows 658d362
- Fix validation error by using 'cloud' shape instead of invalid 'note' geo type for cluster labels 471b3cf
- Update OpenAI prompt to request full sentences, thematic clusters with sticky notes, and poetic cross-clip connections 5482f1a
- Refactor to use TLDraw native serialization (store.allRecords/store.put) instead of custom format mapping b579789
- Add detailed logging to debug arrow binding and rotation persistence issues 9da5513
- Fix arrow persistence by removing bound-shapes-only requirement and supporting free-floating arrows cdd7393
- Capture and restore all TLDraw shape properties including colors, styles, rotation, and all shape types 0dea909
- Save TLDraw edits to localStorage when closing modal to preserve user changes 9f3a4c9
- Use TLDraw native export methods with 3x scale for high-quality PNG output, remove html2canvas 069a2bc
- Initialize TLDraw editor after modal is appended to DOM to ensure iframe contentDocument is accessible 53b1d54
- Wait for iframe to initialize before accessing document to fix modal loading 8081c50
- Add detailed logging and simplify iframe document access to diagnose modal loading issue 2c027de
- Fix iframe initialization race condition by waiting for iframe to be ready before accessing document 413e808
- Use html2canvas to capture TLDraw canvas directly as PNG, bypassing SVG/font issues 1492ad1
- Replace SVG-to-PNG conversion with TLDraw's native toImage() method for reliable PNG export b528f5b
- Fix @font-face regex to properly match multi-line font definitions with base64 data a859b7f
- Fix template literal parsing by using RegExp constructor for closing tags and improve dollar sign escaping 99cbaca
- Fix PNG export by removing embedded fonts from SVG - browsers block @font-face in SVG images 51bb0b5
- Add detailed SVG logging and improve PNG export with proper namespace handling d0b6a6c
- Use data URI instead of blob URL for SVG to PNG conversion f340814
- Add comprehensive logging to SVG to PNG conversion dca7ae5
- Add detailed logging to diagnose PNG export failure 458d32b
- Fix PNG export - convert Set to Array for getSvg 6314e92
- Add comprehensive debugging for PNG export issue 482b569
- Wait for PNG caching to complete before closing modal 2f12774
- Fix cover art PNG export by caching before modal closes fd2dd93
- Add cover art caching and fix ZIP export a19c084
- Add both isPrecise and isExact to arrow bindings 977b30a
- Fix TLDraw arrow binding validation error fc460f6
- Use import map to ensure single React instance 0c7f735
- Fix React version conflict - use ES modules for all libraries 4fe4223
- Switch to ES modules for TLDraw library loading 2cb3bed
- Fix TLDraw library not loading - wait for scripts 6557c2d
- Add comprehensive debugging for blank cover art issue d01ecc0
- Fix JavaScript leaking onto page in TLDraw iframe 569d0e0
- Replace canvas preview with full TLDraw editor dd91d09
- Fix cover art generator to use correct OpenAI API key name bc35ed7
- Add cover art generator feature to episode creator 4037a7c
- Fix reset button to properly restore original transcript e2390c7
- Add transcript reset feature to undo edits and merges 619eb46
- Add speaker merge feature for transcript editing c05624e
- Fix missing speakerNames in YAML chapters output 3c44e79
- Update speaker mapping to use index format in YAML export 0a46f44
- Persist transcript data and add to episode.yaml export 2c447d1
- Add speaker name mapping feature for transcript customization 0c5f4ea
- Add response_format parameter to get diarized JSON output 0cb1c21
- Add raw JSON viewer for transcript debugging 7610682
- Format transcript with speakers and timestamps 01fe0a2
- Fix chunking_strategy to use server_vad instead of auto 3e6c025
- Add chunking_strategy parameter for diarization model 5ca6946
- Fix audio decoding error in transcript generation d883a3d
- Refactor transcript generation to per-clip approach e7abf74
- Add transcript generation feature with OpenAI integration 7219fdf
- Add individual clip export to audiolog episode creator fe462fc