@blockml/fatblock-target 0.9.4 → 0.9.5

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.
Files changed (34) hide show
  1. package/blocks/org/blockml/bml/target/fatblock/FatblockType.bml +16 -18
  2. package/blocks/org/blockml/bml/target/fatblock/Library.bml +20 -27
  3. package/blocks/org/blockml/bml/target/fatblock/README.bml +14 -21
  4. package/blocks/org/blockml/bml/target/fatblock/api/AssembleFatDocumentResult.bml +20 -18
  5. package/blocks/org/blockml/bml/target/fatblock/api/FatBlockOptions.bml +33 -21
  6. package/blocks/org/blockml/bml/target/fatblock/api/FatBlockRenderOutput.bml +23 -19
  7. package/blocks/org/blockml/bml/target/fatblock/capability/AssembleFatDocument.bml +26 -24
  8. package/blocks/org/blockml/bml/target/fatblock/capability/CloneBlockDefinition.bml +19 -20
  9. package/blocks/org/blockml/bml/target/fatblock/capability/CollectCandidateFqns.bml +31 -25
  10. package/blocks/org/blockml/bml/target/fatblock/capability/FatOutputBasename.bml +19 -21
  11. package/blocks/org/blockml/bml/target/fatblock/capability/FilterByIncludes.bml +22 -22
  12. package/blocks/org/blockml/bml/target/fatblock/capability/MatchesIncludePattern.bml +22 -21
  13. package/blocks/org/blockml/bml/target/fatblock/capability/MergeNamespaceBindings.bml +22 -22
  14. package/blocks/org/blockml/bml/target/fatblock/capability/Render.bml +22 -22
  15. package/blocks/org/blockml/bml/target/fatblock/capability/ResolveOptions.bml +19 -21
  16. package/blocks/org/blockml/bml/target/fatblock/capability/RootFqnsByFilePath.bml +19 -21
  17. package/blocks/org/blockml/bml/target/fatblock/capability/SerializeFatDocument.bml +22 -22
  18. package/blocks/org/blockml/bml/target/fatblock/capability/ValidateRequest.bml +19 -21
  19. package/blocks/org/blockml/bml/target/fatblock/config/DefaultFatBlockOptions.bml +18 -18
  20. package/blocks/org/blockml/bml/target/fatblock/config/FatBlockConstants.bml +35 -21
  21. package/blocks/org/blockml/bml/target/fatblock/documentation/ArchitectureOverview.bml +16 -20
  22. package/blocks/org/blockml/bml/target/fatblock/documentation/CandidateCollection.bml +17 -21
  23. package/blocks/org/blockml/bml/target/fatblock/documentation/DesignDecisions.bml +26 -32
  24. package/blocks/org/blockml/bml/target/fatblock/documentation/Diagnostics.bml +16 -20
  25. package/blocks/org/blockml/bml/target/fatblock/documentation/EmbedAssemblyRules.bml +15 -19
  26. package/blocks/org/blockml/bml/target/fatblock/documentation/Introduction.bml +17 -21
  27. package/blocks/org/blockml/bml/target/fatblock/documentation/LayerSeparation.bml +20 -24
  28. package/blocks/org/blockml/bml/target/fatblock/documentation/NamespaceMergeRules.bml +15 -19
  29. package/blocks/org/blockml/bml/target/fatblock/documentation/OutputLayout.bml +15 -19
  30. package/blocks/org/blockml/bml/target/fatblock/documentation/PackageOwnership.bml +18 -22
  31. package/blocks/org/blockml/bml/target/fatblock/documentation/PublicApi.bml +15 -19
  32. package/blocks/org/blockml/bml/target/fatblock/documentation/ScopeExclusions.bml +14 -18
  33. package/blocks/org/blockml/bml/target/fatblock/documentation/V1Scope.bml +15 -19
  34. package/package.json +7 -7
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — ArchitectureOverview
3
- FQN: org.blockml.bml.target.fatblock.documentation.ArchitectureOverview
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — ArchitectureOverview
2
+ FQN: org.blockml.bml.target.fatblock.documentation.ArchitectureOverview-->
3
+ <fbdocumentation:ArchitectureOverview xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,20 +17,22 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>ArchitectureOverview</name>
27
- <type>fbdocumentation:ArchitectureOverview</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>Module map and assemble pipeline</is>
30
-
31
- <documentation>Entry: fbcap:Render (FatBlockTarget.render)
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ Module map and assemble pipeline
25
+ </is>
26
+ <documentation>
27
+ Entry: fbcap:Render (FatBlockTarget.render)
32
28
  → ResolveOptions
33
29
  → AssembleFatDocument (RootFqnsByFilePath, CollectCandidateFqns, FilterByIncludes,
34
30
  CloneBlockDefinition, MergeNamespaceBindings)
35
31
  → SerializeFatDocument
36
32
  → FatOutputBasename
37
-
33
+
38
34
  ValidateRequest runs before render when the host calls it; requires srcDir.
39
-
35
+
40
36
  TypeScript module map:
41
37
  • options.ts → ResolveOptions, FatBlockOptions
42
38
  • collect-candidates.ts → RootFqnsByFilePath, CollectCandidateFqns
@@ -45,9 +41,9 @@
45
41
  • merge-namespace-bindings.ts → MergeNamespaceBindings
46
42
  • assemble-fat-document.ts → AssembleFatDocument, SerializeFatDocument
47
43
  • fat-output-path.ts → FatOutputBasename
48
- • fatblock-target.ts → Render, ValidateRequest</documentation>
44
+ • fatblock-target.ts → Render, ValidateRequest
45
+ </documentation>
49
46
  <references>
50
47
  <see type="fbdocumentation:V1Scope" relation="ReadNext" />
51
48
  </references>
52
-
53
- </block>
49
+ </fbdocumentation:ArchitectureOverview>
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — CandidateCollection
3
- FQN: org.blockml.bml.target.fatblock.documentation.CandidateCollection
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — CandidateCollection
2
+ FQN: org.blockml.bml.target.fatblock.documentation.CandidateCollection-->
3
+ <fbdocumentation:CandidateCollection xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,23 +17,25 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>CandidateCollection</name>
27
- <type>fbdocumentation:CandidateCollection</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>Root FQN selection and include filters (FB5–FB7)</is>
30
-
31
- <documentation>FB5 RootFqnsByFilePath: per source file, root FQN is one not prefixed by another FQN
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ Root FQN selection and include filters (FB5–FB7)
25
+ </is>
26
+ <documentation>
27
+ FB5 RootFqnsByFilePath: per source file, root FQN is one not prefixed by another FQN
32
28
  from the same file — Sub-Block registry keys are not embed candidates.
33
-
29
+
34
30
  FB6 CollectCandidateFqns: roots whose file path is under resolve(rootDir, srcDir);
35
31
  exclude host FQN; sort ascending; apply include when non-empty.
36
-
32
+
37
33
  FB7 Include: pattern ending * is prefix match; else exact FQN; OR across patterns;
38
34
  empty/omitted patterns keep all candidates.
39
-
40
- V1 semantics = folder pool, not dependency graph walk.</documentation>
35
+
36
+ V1 semantics = folder pool, not dependency graph walk.
37
+ </documentation>
41
38
  <references>
42
39
  <see type="fbdocumentation:EmbedAssemblyRules" relation="ReadNext" />
43
40
  </references>
44
-
45
- </block>
41
+ </fbdocumentation:CandidateCollection>
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — DesignDecisions
3
- FQN: org.blockml.bml.target.fatblock.documentation.DesignDecisions
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — DesignDecisions
2
+ FQN: org.blockml.bml.target.fatblock.documentation.DesignDecisions-->
3
+ <fbdocumentation:DesignDecisions xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,48 +17,48 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>DesignDecisions</name>
27
- <type>fbdocumentation:DesignDecisions</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>Normative FatBlock decisions FB1–FB20</is>
30
-
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ Normative FatBlock decisions FB1–FB20
25
+ </is>
31
26
  <documentation>
32
27
  # Normative FatBlock decisions FB1–FB20
33
-
28
+
34
29
  FB1 ResolveOptions default embeddedBlocksStrategy=error.
35
-
30
+
36
31
  FB2 accepts document only; registry name fatblock.
37
-
32
+
38
33
  FB3 ValidateRequest requires srcDir.
39
-
34
+
40
35
  FB4 render empty files on assemble/serialize errors; strip info diags.
41
-
36
+
42
37
  FB5 RootFqnsByFilePath excludes Sub-Block FQNs.
43
-
38
+
44
39
  FB6 CollectCandidateFqns path-under-src; exclude host; sort.
45
-
40
+
46
41
  FB7 include exact or prefix*; OR; empty=all.
47
-
42
+
48
43
  FB8 CloneBlockDefinition via structuredClone.
49
-
44
+
50
45
  FB9 Merge host then embeds.
51
-
46
+
52
47
  FB10 prefix collision diagnostic; no rewrite.
53
-
48
+
54
49
  FB11 default empty-prefix xmlns.
55
-
50
+
56
51
  FB12–FB16 assemble host/embed empty-embeds and not-found rules.
57
-
52
+
58
53
  FB17 preserve subBlocks; clear nested embeds on clone; serialize indent 2.
59
-
54
+
60
55
  FB18 {hostFqn}.fat.bml basename.
61
-
56
+
62
57
  FB19 V1 = folder pool not transitive closure.
63
-
58
+
64
59
  FB20 embeddedBlocksStrategy reserved; assemble hardcodes empty-embeds check.
65
60
  </documentation>
66
61
  <references>
67
62
  <see type="fbdocumentation:PackageOwnership" relation="ReadNext" />
68
63
  </references>
69
-
70
- </block>
64
+ </fbdocumentation:DesignDecisions>
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — Diagnostics
3
- FQN: org.blockml.bml.target.fatblock.documentation.Diagnostics
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — Diagnostics
2
+ FQN: org.blockml.bml.target.fatblock.documentation.Diagnostics-->
3
+ <fbdocumentation:Diagnostics xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,12 +17,14 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>Diagnostics</name>
27
- <type>fbdocumentation:Diagnostics</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>FatBlock-owned and shared diagnostic codes</is>
30
-
31
- <documentation>Owned / emitted by this package:
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ FatBlock-owned and shared diagnostic codes
25
+ </is>
26
+ <documentation>
27
+ Owned / emitted by this package:
32
28
  • BML_FATBLOCK_SRC_REQUIRED — missing srcDir
33
29
  • BML_FATBLOCK_HOST_NOT_FOUND — host file not a registry root
34
30
  • BML_FATBLOCK_HOST_HAS_EMBEDDED_BLOCKS — host already has embeds
@@ -36,13 +32,13 @@
36
32
  • BML_FATBLOCK_EMBED_HAS_EMBEDDED_BLOCKS — candidate already has embeds
37
33
  • BML_DUPLICATE_EMBEDDED_BLOCK — same FQN twice in candidates
38
34
  • BML_NAMESPACE_PREFIX_COLLISION — conflicting prefix to URI
39
-
35
+
40
36
  Shared upstream (not reimplemented here): BML_EMBEDDED_BLOCKS_ON_SUBBLOCK,
41
37
  BML_NESTED_EMBEDDED_BLOCKS (validator); BML_NAMESPACE_UNBOUND (serializer).
42
-
43
- Severity: all FatBlock codes are error. CLI exit: config → 2; assemble → 1.</documentation>
38
+
39
+ Severity: all FatBlock codes are error. CLI exit: config → 2; assemble → 1.
40
+ </documentation>
44
41
  <references>
45
42
  <see type="fbdocumentation:DesignDecisions" relation="ReadNext" />
46
43
  </references>
47
-
48
- </block>
44
+ </fbdocumentation:Diagnostics>
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — EmbedAssemblyRules
3
- FQN: org.blockml.bml.target.fatblock.documentation.EmbedAssemblyRules
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — EmbedAssemblyRules
2
+ FQN: org.blockml.bml.target.fatblock.documentation.EmbedAssemblyRules-->
3
+ <fbdocumentation:EmbedAssemblyRules xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,12 +17,14 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>EmbedAssemblyRules</name>
27
- <type>fbdocumentation:EmbedAssemblyRules</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>Host and embed assembly invariants (FB12–FB17)</is>
30
-
31
- <documentation>FB12 srcDir required or BML_FATBLOCK_SRC_REQUIRED.
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ Host and embed assembly invariants (FB12–FB17)
25
+ </is>
26
+ <documentation>
27
+ FB12 srcDir required or BML_FATBLOCK_SRC_REQUIRED.
32
28
  FB13 host missing from registry → BML_FATBLOCK_HOST_NOT_FOUND.
33
29
  FB14 host.embeddedBlocks.length greater than 0 → BML_FATBLOCK_HOST_HAS_EMBEDDED_BLOCKS.
34
30
  FB15 duplicate candidate FQN → BML_DUPLICATE_EMBEDDED_BLOCK.
@@ -36,11 +32,11 @@
36
32
  embed with non-empty embeddedBlocks → BML_FATBLOCK_EMBED_HAS_EMBEDDED_BLOCKS.
37
33
  FB17 clone each embed; force cloned.embeddedBlocks empty; preserve subBlocks[];
38
34
  attach to host clone in sorted FQN order; merge namespaces; any error aborts document null.
39
-
35
+
40
36
  Meta-model (BOM): embeds are flat under root; Sub-Blocks forbid embeds — validator owns
41
- BML_EMBEDDED_BLOCKS_ON_SUBBLOCK / BML_NESTED_EMBEDDED_BLOCKS.</documentation>
37
+ BML_EMBEDDED_BLOCKS_ON_SUBBLOCK / BML_NESTED_EMBEDDED_BLOCKS.
38
+ </documentation>
42
39
  <references>
43
40
  <see type="fbdocumentation:NamespaceMergeRules" relation="ReadNext" />
44
41
  </references>
45
-
46
- </block>
42
+ </fbdocumentation:EmbedAssemblyRules>
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — Introduction
3
- FQN: org.blockml.bml.target.fatblock.documentation.Introduction
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — Introduction
2
+ FQN: org.blockml.bml.target.fatblock.documentation.Introduction-->
3
+ <fbdocumentation:Introduction xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,28 +17,30 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>Introduction</name>
27
- <type>fbdocumentation:Introduction</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>Purpose and scope of the FatBlock render target</is>
30
-
31
- <documentation>The @blockml/fatblock-target package implements RenderTarget registry name fatblock.
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ Purpose and scope of the FatBlock render target
25
+ </is>
26
+ <documentation>
27
+ The @blockml/fatblock-target package implements RenderTarget registry name fatblock.
32
28
  It emits one portable .bml file with peer root blocks inlined under the host root
33
29
  embeddedBlocks aggregation (Inline Library model).
34
-
30
+
35
31
  This library (org.blockml.bml.target.fatblock.*) is the SSOT. TypeScript in
36
32
  packages/fatblock-target/src/ implements it. Tests in packages/fatblock-target/test/
37
33
  encode behavioral contracts.
38
-
34
+
39
35
  V1 is a folder-bundle target: document scope, srcDir (--src) peer pool
40
36
  (CLI defaults host and srcDir from package.json blockml.library),
41
37
  optional include FQN filters. Not transitive dependency closure (that is v2).
42
-
38
+
43
39
  Pipeline: ResolveOptions → AssembleFatDocument → SerializeFatDocument → {hostFqn}.fat.bml.
44
- Host CLI wiring (flags, exit codes) lives in org.blockml.bml.cli.*</documentation>
40
+ Host CLI wiring (flags, exit codes) lives in org.blockml.bml.cli.*
41
+ </documentation>
45
42
  <references>
46
43
  <see type="fbdocumentation:LayerSeparation" relation="ReadNext" />
47
44
  <see type="fbcap:Render" relation="SeeAlso" />
48
45
  </references>
49
-
50
- </block>
46
+ </fbdocumentation:Introduction>
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — LayerSeparation
3
- FQN: org.blockml.bml.target.fatblock.documentation.LayerSeparation
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — LayerSeparation
2
+ FQN: org.blockml.bml.target.fatblock.documentation.LayerSeparation-->
3
+ <fbdocumentation:LayerSeparation xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,29 +17,31 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>LayerSeparation</name>
27
- <type>fbdocumentation:LayerSeparation</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>FatBlock vs BOM vs serializer vs CLI</is>
30
-
31
- <documentation>Layers relevant to FatBlock:
32
-
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ FatBlock vs BOM vs serializer vs CLI
25
+ </is>
26
+ <documentation>
27
+ Layers relevant to FatBlock:
28
+
33
29
  org.blockml.bml.target.fatblock.* (this package) — candidate collection, include filter,
34
30
  assemble/merge, FatBlockOptions, FatBlock diagnostics, output basename.
35
-
31
+
36
32
  org.blockml.bml.bom.* — embeddedBlocks meta-model; root-only embeds; no nested embeds
37
33
  on Sub-Blocks (validator). FatBlock consumes BomDocument / BlockDefinition.
38
-
34
+
39
35
  org.blockml.bml.compiler.serializer.* — canonical XML emit of the assembled document.
40
-
36
+
41
37
  @blockml/compiler — RenderTarget contract, compileToOutput, document scope.
42
-
38
+
43
39
  org.blockml.bml.cli.* — --src / --include / --out / --per-package, default host
44
40
  from package.json blockml.library, write {hostFqn}.fat.bml at the invocation directory.
45
-
46
- Sibling targets (blockdoc, xsd) and domain SCAD are out of scope.</documentation>
41
+
42
+ Sibling targets (blockdoc, xsd) and domain SCAD are out of scope.
43
+ </documentation>
47
44
  <references>
48
45
  <see type="fbdocumentation:ArchitectureOverview" relation="ReadNext" />
49
46
  </references>
50
-
51
- </block>
47
+ </fbdocumentation:LayerSeparation>
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — NamespaceMergeRules
3
- FQN: org.blockml.bml.target.fatblock.documentation.NamespaceMergeRules
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — NamespaceMergeRules
2
+ FQN: org.blockml.bml.target.fatblock.documentation.NamespaceMergeRules-->
3
+ <fbdocumentation:NamespaceMergeRules xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,20 +17,22 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>NamespaceMergeRules</name>
27
- <type>fbdocumentation:NamespaceMergeRules</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>Stage-2 namespace merge before emit (FB9–FB11, D2)</is>
30
-
31
- <documentation>FB9: merge host bindings first, then each embed source in candidate order.
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ Stage-2 namespace merge before emit (FB9–FB11, D2)
25
+ </is>
26
+ <documentation>
27
+ FB9: merge host bindings first, then each embed source in candidate order.
32
28
  FB11: missing bindings default empty prefix to http://blockml.org/bml.
33
29
  FB10: same prefix, different URI → BML_NAMESPACE_PREFIX_COLLISION (no silent rewrite;
34
30
  no inventing new prefixes). First writer wins for new prefixes.
35
-
31
+
36
32
  Aligns with docs/19 Definition / bml:xml D2 consumer rules. Serializer may still emit
37
- BML_NAMESPACE_UNBOUND if a QName lacks a binding after merge.</documentation>
33
+ BML_NAMESPACE_UNBOUND if a QName lacks a binding after merge.
34
+ </documentation>
38
35
  <references>
39
36
  <see type="fbdocumentation:OutputLayout" relation="ReadNext" />
40
37
  </references>
41
-
42
- </block>
38
+ </fbdocumentation:NamespaceMergeRules>
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — OutputLayout
3
- FQN: org.blockml.bml.target.fatblock.documentation.OutputLayout
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — OutputLayout
2
+ FQN: org.blockml.bml.target.fatblock.documentation.OutputLayout-->
3
+ <fbdocumentation:OutputLayout xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,18 +17,20 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>OutputLayout</name>
27
- <type>fbdocumentation:OutputLayout</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>Output file naming and host write path</is>
30
-
31
- <documentation>FB18 FatOutputBasename: host FQN → {fqn}.fat.bml.
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ Output file naming and host write path
25
+ </is>
26
+ <documentation>
27
+ FB18 FatOutputBasename: host FQN → {fqn}.fat.bml.
32
28
  Target returns relative path only; CLI writes to the invocation directory or --out.
33
-
29
+
34
30
  Single file per render. Content is canonical BML XML from SerializeFatDocument
35
- (indent 2, no XML declaration by serializer defaults).</documentation>
31
+ (indent 2, no XML declaration by serializer defaults).
32
+ </documentation>
36
33
  <references>
37
34
  <see type="fbdocumentation:Diagnostics" relation="ReadNext" />
38
35
  </references>
39
-
40
- </block>
36
+ </fbdocumentation:OutputLayout>
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — PackageOwnership
3
- FQN: org.blockml.bml.target.fatblock.documentation.PackageOwnership
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — PackageOwnership
2
+ FQN: org.blockml.bml.target.fatblock.documentation.PackageOwnership-->
3
+ <fbdocumentation:PackageOwnership xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,26 +17,28 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>PackageOwnership</name>
27
- <type>fbdocumentation:PackageOwnership</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>Who owns FatBlock vs CLI vs BOM</is>
30
-
31
- <documentation>@blockml/fatblock-target owns: this BML library; TypeScript assemble/filter/merge/emit;
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ Who owns FatBlock vs CLI vs BOM
25
+ </is>
26
+ <documentation>
27
+ @blockml/fatblock-target owns: this BML library; TypeScript assemble/filter/merge/emit;
32
28
  FatBlockOptions; BML_FATBLOCK_* diagnostics; output basename algorithm.
33
-
29
+
34
30
  @blockml/cli owns: --src / --include / --out; default host from package.json
35
31
  blockml.library; TypeRegistry from the package library graph plus core; writing
36
32
  {hostFqn}.fat.bml at the invocation directory; exit codes.
37
33
  See org.blockml.bml.cli.documentation.CompileCommand.
38
-
34
+
39
35
  @blockml/bom owns: embeddedBlocks shape and language invariants.
40
-
36
+
41
37
  @blockml/serializer owns: XML emit of the assembled BomDocument.
42
-
43
- @blockml/compiler owns: RenderTarget contract and document compile scope.</documentation>
38
+
39
+ @blockml/compiler owns: RenderTarget contract and document compile scope.
40
+ </documentation>
44
41
  <references>
45
42
  <see type="fbdocumentation:ScopeExclusions" relation="ReadNext" />
46
43
  </references>
47
-
48
- </block>
44
+ </fbdocumentation:PackageOwnership>
@@ -1,12 +1,6 @@
1
- <!--
2
- FatBlock Documentation — PublicApi
3
- FQN: org.blockml.bml.target.fatblock.documentation.PublicApi
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--FatBlock Documentation — PublicApi
2
+ FQN: org.blockml.bml.target.fatblock.documentation.PublicApi-->
3
+ <fbdocumentation:PublicApi xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomblock="org.blockml.bml.bom.block"
@@ -23,12 +17,14 @@
23
17
  xmlns:type="org.blockml.bml.type"
24
18
  xmlns:doc="org.blockml.bml.documentation">
25
19
 
26
- <name>PublicApi</name>
27
- <type>fbdocumentation:PublicApi</type>
28
- <baseType>core:Documentation</baseType>
29
- <is>Public TypeScript and capability surface</is>
30
-
31
- <documentation>Package @blockml/fatblock-target exports:
20
+ <baseType>
21
+ core:Documentation
22
+ </baseType>
23
+ <is>
24
+ Public TypeScript and capability surface
25
+ </is>
26
+ <documentation>
27
+ Package @blockml/fatblock-target exports:
32
28
  • FatBlockTarget — RenderTarget; name fatblock; accepts document;
33
29
  validateRequest; render → FatBlockRenderOutput
34
30
  • FatBlockOptions / DEFAULT_FATBLOCK_OPTIONS / resolveFatBlockOptions
@@ -36,13 +32,13 @@
36
32
  • collectCandidateFqns / rootFqnsByFilePath
37
33
  • filterByIncludes / matchesIncludePattern
38
34
  • mergeNamespaceBindings / cloneBlockDefinition / fatOutputBasename
39
-
40
- BML: fbcap:Render, ValidateRequest, AssembleFatDocument, api/FatBlockOptions.</documentation>
35
+
36
+ BML: fbcap:Render, ValidateRequest, AssembleFatDocument, api/FatBlockOptions.
37
+ </documentation>
41
38
  <references>
42
39
  <see type="fbdocumentation:CandidateCollection" relation="ReadNext" />
43
40
  <see type="fbcap:Render" relation="Defines" />
44
41
  <see type="fbapi:FatBlockOptions" relation="Defines" />
45
42
  <see type="fbcap:AssembleFatDocument" relation="Defines" />
46
43
  </references>
47
-
48
- </block>
44
+ </fbdocumentation:PublicApi>