@@ -303,6 +303,13 @@ Re-generate: `./scripts/generate-codemap.sh > CODEMAP.md`
303303- 29: export function useResizablePanelHeight({
304304- ** deps** : ../services/db
305305
306+ ### useSectionLoop.test.ts (84 lines)
307+ - ** deps** : ../stores/useLoopStore
308+
309+ ### useSectionLoop.ts (46 lines)
310+ - 25: export function useSectionLoop({
311+ - ** deps** : ../stores/useLoopStore,../utils/songLoop
312+
306313### useSetlistAdvance.ts (131 lines)
307314- 27: export function useSetlistAdvance({ onPlay }: UseSetlistAdvanceOptions): SetlistAdvanceResult
308315- ** deps** : ../stores/useModeStore,../stores/useSetlistStore,../stores/useSongStore,../stores/useTabStore
@@ -315,11 +322,19 @@ Re-generate: `./scripts/generate-codemap.sh > CODEMAP.md`
315322- 34: export function useSyncSession({
316323- ** deps** : ../services/syncEmitter,../../shared/syncProtocol,../stores/useSetlistStore,../stores/useSongStore,../stores/useSyncStore,../stores/useTabStore,../stores/useTempoStore,../types
317324
325+ ### useWaveformInteraction.test.ts (185 lines)
326+ - ** deps** : ../stores/useLoopStore,../stores/useSongStore,../types
327+
328+ ### useWaveformInteraction.ts (167 lines)
329+ - 9: export interface WaveformDragState
330+ - 39: export function useWaveformInteraction({
331+ - ** deps** : ../stores/useLoopStore,../stores/useSongStore,../types
332+
318333## src/components/Layout
319334
320- ### AppShell.tsx (1272 lines)
321- - 60 : export default function AppShell()
322- - **deps**: ../Controller/RemoteControlView,../../hooks/useActiveMarkerTracker,../../hooks/useAlphaSynthPlayback,../../hooks/useAudioFile,../../hooks/useControlCommandHandler,../../hooks/useCountIn,../../hooks/useDummyPlayback,../../hooks/useGpFile,../../hooks/useKeyboardShortcuts,../../hooks/useMetronome,../../hooks/useMidiInput,../../hooks/usePlayback,../../hooks/useSetlistAdvance,../../hooks/useSyncBroadcast,../../hooks/useSyncSession,../Markers/MarkerForm,../Player/CountInIndicator,../Player/CountInToggle,../Player/DummyWaveform,../Player/Looppopoverbutton,../Player/MetronomeSplitButton,../Player/MetronomeToggle,../Player/TempoControls,../Player/TempoIndicator,../Player/TransportControls,../Player/VolumeControl,../Player/WaveformPlayer,../../services/syncEmitter,../../services/tempoMap,../../../shared/syncProtocol,../../stores/useCountInStore,../../stores/useModeStore,../../stores/useSetlistStore,../../stores/useSongStore,../../stores/useSyncStore,../../stores/useTabStore,../../stores/useTempoStore,../../stores/useToastStore,../Tabs/GpMarkerImportDialog,../Tabs/NotationPanel,../Tabs/TabEditor,../Tabs/TabViewer,../Tools/StandaloneMetronome,../../types,../../utils/gpMarkerImport,../../utils/iconSizes
335+ ### AppShell.tsx (1281 lines)
336+ - 61 : export default function AppShell()
337+ - **deps**: ../Controller/RemoteControlView,../../hooks/useActiveMarkerTracker,../../hooks/useAlphaSynthPlayback,../../hooks/useAudioFile,../../hooks/useControlCommandHandler,../../hooks/useCountIn,../../hooks/useDummyPlayback,../../hooks/useGpFile,../../hooks/useKeyboardShortcuts,../../hooks/useMetronome,../../hooks/useMidiInput,../../hooks/usePlayback,../../hooks/useSectionLoop,../../hooks/useSetlistAdvance,../../hooks/useSyncBroadcast,../../hooks/useSyncSession,../Markers/MarkerForm,../Player/CountInIndicator,../Player/CountInToggle,../Player/DummyWaveform,../Player/Looppopoverbutton,../Player/MetronomeSplitButton,../Player/MetronomeToggle,../Player/TempoControls,../Player/TempoIndicator,../Player/TransportControls,../Player/VolumeControl,../Player/WaveformPlayer,../../services/syncEmitter,../../services/tempoMap,../../../shared/syncProtocol,../../stores/useCountInStore,../../stores/useModeStore,../../stores/useSetlistStore,../../stores/useSongStore,../../stores/useSyncStore,../../stores/useTabStore,../../stores/useTempoStore,../../stores/useToastStore,../Tabs/GpMarkerImportDialog,../Tabs/NotationPanel,../Tabs/TabEditor,../Tabs/TabViewer,../Tools/StandaloneMetronome,../../types,../../utils/gpMarkerImport,../../utils/iconSizes
323338
324339### CreateDummySongDialog.tsx (265 lines)
325340- 13: export function CreateDummySongDialog({ onClose }: CreateDummySongDialogProps)
@@ -386,18 +401,26 @@ Re-generate: `./scripts/generate-codemap.sh > CODEMAP.md`
386401- 11: export function CountInToggle({ compact = false }: CountInToggleProps = {})
387402- ** deps** : ../../services/clickSoundGenerator,../../stores/useCountInStore,../../stores/useMetronomeStore,../../stores/useSongStore
388403
389- ### DummyWaveform.tsx (145 lines)
390- - 16 : export function DummyWaveform({ duration, currentTime, height = 96, onSeek }: DummyWaveformProps)
391- - ** deps** : ../../stores/useSongStore
404+ ### DummyWaveform.tsx (124 lines)
405+ - 28 : export function DummyWaveform({ duration, currentTime, height = 96, onSeek }: DummyWaveformProps)
406+ - ** deps** : ../../hooks/useWaveformInteraction,../../stores/useLoopStore,../../ stores/useSongStore
392407
393408### LoopControls.tsx (136 lines)
394409- 15: export function LoopControls({ songLoop }: LoopControlsProps)
395410- ** deps** : ../../stores/useLoopStore,../../utils/formatTime,../../utils/iconSizes
396411
412+ ### LoopOverlay.tsx (127 lines)
413+ - 66: export function LoopOverlay({
414+ - ** deps** : ../../hooks/useWaveformInteraction,../../types
415+
397416### Looppopoverbutton.tsx (31 lines)
398417- 13: export function LoopPopoverButton({ songLoop }: LoopPopoverButtonProps)
399418- ** deps** : ../Common/Popover
400419
420+ ### MarkerOverlay.tsx (93 lines)
421+ - 21: export function MarkerOverlay({
422+ - ** deps** : ../../hooks/useWaveformInteraction,../../types
423+
401424### MetronomeSplitButton.tsx (198 lines)
402425- 25: export function MetronomeSplitButton({
403426- ** deps** : ../Common/Popover,../../services/clickSoundGenerator,../../stores/useMetronomeStore,../../stores/useSongStore
@@ -422,9 +445,9 @@ Re-generate: `./scripts/generate-codemap.sh > CODEMAP.md`
422445- 6: export function VolumeControl()
423446- ** deps** : ../../stores/useSongStore,../../utils/iconSizes
424447
425- ### WaveformPlayer.tsx (416 lines)
426- - 25 : export function WaveformPlayer({
427- - ** deps** : ../../stores/useLoopStore ,../../stores/useSongStore ,../../stores/useTempoStore ,../../utils/songLoop
448+ ### WaveformPlayer.tsx (193 lines)
449+ - 20 : export function WaveformPlayer({
450+ - ** deps** : ../../hooks/useWaveformInteraction ,../../stores/useLoopStore ,../../stores/useSongStore ,../../stores/useTempoStore
428451
429452### WaveformTimeline.tsx (70 lines)
430453- 12: export function WaveformTimeline({ duration, currentTime }: WaveformTimelineProps)
0 commit comments