diff --git a/schema/content-manifest.schema.json b/schema/content-manifest.schema.json index 3c8fffd..64c09af 100644 --- a/schema/content-manifest.schema.json +++ b/schema/content-manifest.schema.json @@ -305,5 +305,5 @@ ], "title": "ContentManifest", "type": "object", - "x-schema-version": "1.7" + "x-schema-version": "1.8" } diff --git a/schema/engine-version.txt b/schema/engine-version.txt index 26acbf0..54d1a4f 100644 --- a/schema/engine-version.txt +++ b/schema/engine-version.txt @@ -1 +1 @@ -0.12.2 +0.13.0 diff --git a/schema/lesson.schema.json b/schema/lesson.schema.json index ffcdfed..c00069d 100644 --- a/schema/lesson.schema.json +++ b/schema/lesson.schema.json @@ -943,11 +943,20 @@ "type": "string" }, "src": { - "description": "Relative path inside the set's ``assets/`` directory ('assets/img/cat.png'). Resolved by the asset loader.", - "maxLength": 500, - "minLength": 1, - "title": "Src", - "type": "string" + "anyOf": [ + { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "maxLength": 250000, + "pattern": "^data:image/[a-z0-9.+-]+;base64,", + "type": "string" + } + ], + "description": "Image reference in one of two explicit formats (schema v1.8): a relative path inside the set's ``assets/`` directory ('assets/img/cat.png', <= 500 chars, resolved by the asset loader) OR an inline base64 data URI ('data:image/...;base64,...', its own 250000-char cap - sized for the reference consumer's 150-KiB upload compression: 153600 bytes -> 204800 base64 chars plus header). Repo content should prefer the assets/ path; the ``W-PIC-DATA-URI`` author lint flags inline data URIs.", + "title": "Src" } }, "required": [ @@ -1168,5 +1177,5 @@ ], "title": "Lesson", "type": "object", - "x-schema-version": "1.7" + "x-schema-version": "1.8" } diff --git a/schema/quality-rules.json b/schema/quality-rules.json index ba1a981..ef23cd5 100644 --- a/schema/quality-rules.json +++ b/schema/quality-rules.json @@ -1,5 +1,5 @@ { - "$schema-version": "1.7", + "$schema-version": "1.8", "_comment": "GENERATED from scripts/generate_lesson_schema.py (EXP-039). Do not edit. Shared quality minimums for the content quality gate (app + content repo).", "rules": { "minExerciseTypes": 2,