{
  "id": "specs/decisions/publication/slots-islands-and-layers",
  "mentions": [
    {
      "context": "decisions",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L1",
      "kind": "written",
      "line": 1,
      "passages": 5,
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…eractive components are hydrated: an island is served as its static markup insid…",
      "file": {
        "href": "../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "island",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…s in native disclosure elements, the search field a plain form, the mode switch …",
      "file": {
        "href": "../../../screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "search",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…layers, tokens, base, components and project, the project's stylesheet winning e…",
      "file": {
        "href": "../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e is a set of named slots rendered at build by components, each with a typed vie…",
      "file": {
        "href": "../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…odule. Styling is native CSS in four cascade layers, tokens, base, components an…",
      "file": {
        "href": "../../../../glossary/ingestion/typing/type-cascade/index.html",
        "label": "ingestion/typing/type-cascade.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "cascade",
      "title": "Type cascade",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slots, islands and layers: named slots with typed view models, islands for the i…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 5,
      "surface": "Slots, islands and layers",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "5 · DECISION  Slots, islands and layers  Named slots with typed view models.  Is…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 5,
      "surface": "Slots, islands and layers",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "5 · DECISION  Slots, islands and layers  Named slots with typed view models.  Is…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 5,
      "surface": "Slots, islands and layers",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "Slide six, the decision. Slots, islands and layers: named slots with typed view …",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "location": "00:48:45",
      "passages": 5,
      "surface": "Slots, islands and layers",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "… its props, and one small bundle per island, named after a hash of its content, …",
      "file": {
        "href": "../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "island",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… no framework code unless one of its islands needs it. Every such bundle is a cl…",
      "file": {
        "href": "../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "islands",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…nt viewer, imported on demand by its island, is a module. Styling is native CSS …",
      "file": {
        "href": "../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "island",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Search",
      "file": {
        "href": "../../../screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "#L14",
      "kind": "written",
      "line": 14,
      "passages": 3,
      "surface": "Search",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Search",
      "file": {
        "href": "../../../screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 3,
      "surface": "Search",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…s, base, components and project, the project's stylesheet winning every cascade …",
      "file": {
        "href": "../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… the mode switch hidden. A budget of 150 kB per page is measured on every build.",
      "file": {
        "href": "../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e project's stylesheet winning every cascade by construction. Without JavaScript…",
      "file": {
        "href": "../../../../glossary/ingestion/typing/type-cascade/index.html",
        "label": "ingestion/typing/type-cascade.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "cascade",
      "title": "Type cascade",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The site is a set of named slots rendered at build by components, each with a ty…",
      "file": {
        "href": "../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… a page opened from the disk, and the site promises to work there; only the docu…",
      "file": {
        "href": "../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e is a set of named slots rendered at build by components, each with a typed vie…",
      "file": {
        "href": "../../../objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… the mode switch hidden. A budget of 150 kB per page is measured on every build.",
      "file": {
        "href": "../../../objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Entity page",
      "file": {
        "href": "../../../screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "#L12",
      "kind": "written",
      "line": 12,
      "passages": 2,
      "surface": "Entity page",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Entity page",
      "file": {
        "href": "../../../screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 2,
      "surface": "Entity page",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Mentions panel",
      "file": {
        "href": "../../../screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "#L13",
      "kind": "written",
      "line": 13,
      "passages": 2,
      "surface": "Mentions panel",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Mentions panel",
      "file": {
        "href": "../../../screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Mentions panel",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Gallery index",
      "file": {
        "href": "../../../screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "#L15",
      "kind": "written",
      "line": 15,
      "passages": 2,
      "surface": "Gallery index",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Gallery index",
      "file": {
        "href": "../../../screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 2,
      "surface": "Gallery index",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Static first",
      "file": {
        "href": "../static-first/index.html",
        "label": "decisions/publication/static-first.md"
      },
      "href": "#L16",
      "kind": "written",
      "line": 16,
      "passages": 2,
      "surface": "Static first",
      "title": "Static first",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Static first",
      "file": {
        "href": "../static-first/index.html",
        "label": "decisions/publication/static-first.md"
      },
      "href": "#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 2,
      "surface": "Static first",
      "title": "Static first",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…with a typed view model that is the contract between the generator and a theme; …",
      "file": {
        "href": "../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…by components, each with a typed view model that is the contract between the gen…",
      "file": {
        "href": "../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…Script the content stays reachable: mentions in native disclosure elements, the …",
      "file": {
        "href": "../../../../glossary/inference/recognition/mention/index.html",
        "label": "inference/recognition/mention.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "mentions",
      "title": "Mention",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…the search field a plain form, the mode switch hidden. A budget of 150 kB per pa…",
      "file": {
        "href": "../../../../glossary/publication/site/colour-scheme/index.html",
        "label": "publication/site/colour-scheme.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "mode switch",
      "title": "Colour scheme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The site is a set of named slots rendered at build by components, each with a ty…",
      "file": {
        "href": "../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… contract between the generator and a theme; the published HTML carries the full…",
      "file": {
        "href": "../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…by components, each with a typed view model that is the contract between the gen…",
      "file": {
        "href": "../../../objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…the search field a plain form, the mode switch hidden. A budget of 150 kB per pa…",
      "file": {
        "href": "../../../screens/panels/colour-scheme/index.html",
        "label": "screens/panels/colour-scheme.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "mode switch",
      "title": "Colour scheme",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…promises to work there; only the document viewer, imported on demand by its isla…",
      "file": {
        "href": "../../../viewers/document-viewer/index.html",
        "label": "viewers/document-viewer.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "document viewer",
      "title": "Document viewer",
      "type": "screen",
      "typeLabel": "Screen"
    }
  ]
}
