feat: support inline images within song pages (Closes #2)

Add {image: path} directive to embed images at any position within a song's
sections. SongLine gains an optional imagePath field; when set, the line
represents an inline image rather than chord/lyric content. The renderer
scales and centers images within the content width. MeasurementEngine
reserves 40mm height per inline image for layout calculations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit was merged in pull request #13.
This commit is contained in:
shahondin1624
2026-03-17 09:45:26 +01:00
parent 8c92c7d78b
commit 8dca7d7131
6 changed files with 150 additions and 10 deletions

View File

@@ -23,7 +23,10 @@ enum class SectionType {
VERSE, CHORUS, BRIDGE, REPEAT
}
data class SongLine(val segments: List<LineSegment>)
data class SongLine(
val segments: List<LineSegment> = emptyList(),
val imagePath: String? = null // when non-null, this "line" is an inline image (segments ignored)
)
data class LineSegment(
val chord: String? = null, // null = no chord above this segment