fika-editor 3.0.20 → 3.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "fika-editor",
|
|
4
|
-
"packageVersion": "3.0.
|
|
5
|
-
"generatedAt": "2026-09-04T10:
|
|
4
|
+
"packageVersion": "3.0.21",
|
|
5
|
+
"generatedAt": "2026-09-04T10:53:17.554Z",
|
|
6
6
|
"summary": "Authoring guidance for the Fika agentic bridge. SLIDE NUMBERS START AT 1 everywhere: payload.index, result.data.slideIndex, screenshot.slideIndex, getState().slideIndex, selectedSlideIndexes, plan.slides[].index, and plan.loudIndex are the SAME 1-based number — never subtract or add 1. First slide = 1; last existing = slideCount; omit index to append; index === slideCount+1 also appends; 1 ≤ index ≤ slideCount on createFromLayout REPLACES that slide. The recommended way to build a deck from scratch: (1) ONE bootstrap call deck.setup({ styleId, slideCount, title? }) — applies the visual identity, returns the composition plan (anchors + loud slide), and optionally builds the title slide together; prefer this over separate styles.catalog / deck.applyStyle / deck.planComposition, then (2) for each slide pick a recipe + visual variant from layouts.catalog and add it with slides.createFromLayout({ layoutId, variantId, slots }), preferring a variant whose anchor matches the plan (when variantId is omitted the engine picks a filled/full-width match; an explicit variantId is kept). The engine themes, positions, sanitizes slot markers the layout already draws, AND auto-fits every text box (via responsive measurement) so content does not overflow, and it runs a deterministic QA pass on each slide (overlap / contrast / density / monotony) so you can fix issues in the same turn. Author slot content as Markdown/plain text or structured values (arrays for bullets, { labels, series } for charts) — never hand-written HTML. Host-registered templates (deck.applyTemplate + slides.insertFromTemplate) are optional when the embed host supplies them. Avoid blank slides.create / hand-placed elements unless no layout fits. Pair this with the machine schema (command payload/return types) in the same manifest.",
|
|
7
7
|
"commandCount": 197,
|
|
8
8
|
"designSystem": {
|
|
@@ -739,7 +739,7 @@
|
|
|
739
739
|
"Rail/offset variants (leftRail/rightRail/leftOffset/rightOffset) are ONLY for short/sparse content (≤3 short items). Dense copy auto-collapses to full width. Prefer standard/grid/accentPanel/even for real teaching content.",
|
|
740
740
|
"Slot sanitization is automatic: bullet/step markers the layout already draws are stripped. For numbered, pass heading WITHOUT '1.'/'2.' — chips are drawn for you. Prefer leftBullets/rightBullets arrays over markdown lists in *Body (body lists are coerced).",
|
|
741
741
|
"The style MOTIF (e.g. academic doubleRule) is drawn only on feature/hero slides (title/section/closing). Content layouts (cards/bullets/twoColumn/numbered/…) intentionally omit it — their own chrome (card tops, chips, columns) is the accent.",
|
|
742
|
-
"Keep slot copy concise so the auto-fit keeps text at a comfortable size
|
|
742
|
+
"Keep slot copy concise so the auto-fit keeps text at a comfortable size. A [textShrunk] warning or a tooSmall QA issue means the auto-fit had to go more than ~30% below the designed size — the slide is overloaded: split it into two slides or cut bullets/cards, then re-issue createFromLayout with index to replace it (never slides.delete). Rule of thumb: ≤6 bullets, ≤3 cards with body copy, ≤60 words per slide.",
|
|
743
743
|
"Use 'title' for the first slide and 'closing' for the last; 'section' to divide a long deck; 'imageFull' for the single loud slide (plan.loudIndex).",
|
|
744
744
|
"SOFT warnings (CompositionNearestAnchor, CompositionDrift, CompositionLoudMiss, BootstrapIdempotent, LayoutContent, density/contrast/squeeze, slot aliases, image sourceUrl nest, rail/offset collapse) mean continue — do NOT slides.delete or rebuild solely for these.",
|
|
745
745
|
"HARD errors (SlideQualityError / contentEmpty): the engine ROLLS BACK the insert — re-issue createFromLayout with corrected slots. Do NOT slides.delete. Pass the 1-based index (same as result.data.slideIndex / screenshot.slideIndex) to rebuild that slide in place. Never delete the blank starter.",
|