@formicoidea/labre-framework-cynefin 0.36.0 → 0.37.0
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.
- package/dist/estuarine/reading.d.ts +34 -0
- package/dist/estuarine/reading.js +41 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -0
- package/dist/translations.js +10 -1
- package/dist/view.js +8 -1
- package/package.json +2 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ReadingProfile } from '@formicoidea/labre-core/blocks/surface';
|
|
2
|
+
/**
|
|
3
|
+
* What Estuarine lets the tool read of a constraint (MF3, the reversed
|
|
4
|
+
* reading).
|
|
5
|
+
*
|
|
6
|
+
* One profile, one role, and nothing else: a hexagon is a plain polygon on the
|
|
7
|
+
* canvas, so the role is the only place that says what it is — and saying it,
|
|
8
|
+
* with the link to the record beside it, is the whole of what a reading can
|
|
9
|
+
* honestly offer here.
|
|
10
|
+
*
|
|
11
|
+
* Registered from the FLAG-GATED view extension, like every other profile:
|
|
12
|
+
* reading a board is tooling (ADR 0009).
|
|
13
|
+
*
|
|
14
|
+
* ## No relation, no nature, no phase — and no verdict
|
|
15
|
+
*
|
|
16
|
+
* Estuarine declares no edge role: an arrow drawn between two hexagons is a
|
|
17
|
+
* plain connector and carries no verb, so there is no sentence to read off it.
|
|
18
|
+
* It declares no type-3 tag pack either. And the map's own energy/time plane is
|
|
19
|
+
* NOT read as a phase in this pass: the three reference curves are not zones
|
|
20
|
+
* with an id, and reading a "position" off them would be the engine inventing a
|
|
21
|
+
* fact the declaration does not carry.
|
|
22
|
+
*
|
|
23
|
+
* ## Cynefin gets nothing, and that is ADR 0013
|
|
24
|
+
*
|
|
25
|
+
* The two frameworks share this package and share nothing here. Cynefin
|
|
26
|
+
* declares no role at all — its four domains are the participants' judgement
|
|
27
|
+
* about their own context, and there is no external truth to check — so a free
|
|
28
|
+
* element on a Cynefin board carries no role and has no reading. A CONSTRAINT
|
|
29
|
+
* hexagon dropped on such a board does, because the hexagon is an Estuarine
|
|
30
|
+
* artefact wherever it is drawn. See the amendment of 2026-09-07 to
|
|
31
|
+
* `docs/adr/0013`: reading is not validation, and this profile carries no rule
|
|
32
|
+
* and no verdict.
|
|
33
|
+
*/
|
|
34
|
+
export declare const ESTUARINE_READING: ReadingProfile;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ESTUARINE_ROLE, ESTUARINE_ROLES } from './roles.js';
|
|
2
|
+
/**
|
|
3
|
+
* What Estuarine lets the tool read of a constraint (MF3, the reversed
|
|
4
|
+
* reading).
|
|
5
|
+
*
|
|
6
|
+
* One profile, one role, and nothing else: a hexagon is a plain polygon on the
|
|
7
|
+
* canvas, so the role is the only place that says what it is — and saying it,
|
|
8
|
+
* with the link to the record beside it, is the whole of what a reading can
|
|
9
|
+
* honestly offer here.
|
|
10
|
+
*
|
|
11
|
+
* Registered from the FLAG-GATED view extension, like every other profile:
|
|
12
|
+
* reading a board is tooling (ADR 0009).
|
|
13
|
+
*
|
|
14
|
+
* ## No relation, no nature, no phase — and no verdict
|
|
15
|
+
*
|
|
16
|
+
* Estuarine declares no edge role: an arrow drawn between two hexagons is a
|
|
17
|
+
* plain connector and carries no verb, so there is no sentence to read off it.
|
|
18
|
+
* It declares no type-3 tag pack either. And the map's own energy/time plane is
|
|
19
|
+
* NOT read as a phase in this pass: the three reference curves are not zones
|
|
20
|
+
* with an id, and reading a "position" off them would be the engine inventing a
|
|
21
|
+
* fact the declaration does not carry.
|
|
22
|
+
*
|
|
23
|
+
* ## Cynefin gets nothing, and that is ADR 0013
|
|
24
|
+
*
|
|
25
|
+
* The two frameworks share this package and share nothing here. Cynefin
|
|
26
|
+
* declares no role at all — its four domains are the participants' judgement
|
|
27
|
+
* about their own context, and there is no external truth to check — so a free
|
|
28
|
+
* element on a Cynefin board carries no role and has no reading. A CONSTRAINT
|
|
29
|
+
* hexagon dropped on such a board does, because the hexagon is an Estuarine
|
|
30
|
+
* artefact wherever it is drawn. See the amendment of 2026-09-07 to
|
|
31
|
+
* `docs/adr/0013`: reading is not validation, and this profile carries no rule
|
|
32
|
+
* and no verdict.
|
|
33
|
+
*/
|
|
34
|
+
export const ESTUARINE_READING = {
|
|
35
|
+
id: 'estuarine',
|
|
36
|
+
framework: 'cynefin-estuarine',
|
|
37
|
+
roles: ESTUARINE_ROLES,
|
|
38
|
+
// Not the map: a reading is about an artefact, never about the frame it is
|
|
39
|
+
// measured against.
|
|
40
|
+
appliesTo: ESTUARINE_ROLE.constraint,
|
|
41
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export { cynefinEstuarineCommandIcons, cynefinEstuarineCommands, } from './commands.js';
|
|
2
2
|
export { cynefinEstuarineTranslationEntries } from './translations.js';
|
|
3
|
+
export { ESTUARINE_ROLE, ESTUARINE_ROLES, type EstuarineRoleId, } from './estuarine/roles.js';
|
|
4
|
+
export { ESTUARINE_READING } from './estuarine/reading.js';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
export { cynefinEstuarineCommandIcons, cynefinEstuarineCommands, } from './commands.js';
|
|
2
2
|
export { cynefinEstuarineTranslationEntries } from './translations.js';
|
|
3
|
+
// Estuarine's role vocabulary and its reading profile: DATA a host — and the
|
|
4
|
+
// library's own cross-framework guard test — can read without an editor.
|
|
5
|
+
// Cynefin contributes neither, having no role of its own (ADR 0013).
|
|
6
|
+
export { ESTUARINE_ROLE, ESTUARINE_ROLES, } from './estuarine/roles.js';
|
|
7
|
+
export { ESTUARINE_READING } from './estuarine/reading.js';
|
package/dist/translations.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { collectTranslationKeys, commandCategoryTranslationEntries, commandTranslationEntries, mergeTranslationEntries, } from '@formicoidea/labre-core/std';
|
|
2
2
|
import { cynefinEstuarineCommands } from './commands.js';
|
|
3
3
|
import { ESTUARINE_NUDGES } from './estuarine/nudges.js';
|
|
4
|
+
import { ESTUARINE_READING } from './estuarine/reading.js';
|
|
4
5
|
import { ESTUARINE_ROLES } from './estuarine/roles.js';
|
|
5
6
|
/**
|
|
6
7
|
* THIS framework's contribution to the translation-key manifest.
|
|
@@ -25,4 +26,12 @@ export const cynefinEstuarineTranslationEntries = mergeTranslationEntries(comman
|
|
|
25
26
|
// registry names no framework category in the bundled distribution, so a
|
|
26
27
|
// host that composed core's manifest alone drew translated entries under
|
|
27
28
|
// English headers (#183).
|
|
28
|
-
commandCategoryTranslationEntries(cynefinEstuarineCommands), collectTranslationKeys('role', ESTUARINE_ROLES), collectTranslationKeys('nudge', ESTUARINE_NUDGES)
|
|
29
|
+
commandCategoryTranslationEntries(cynefinEstuarineCommands), collectTranslationKeys('role', ESTUARINE_ROLES), collectTranslationKeys('nudge', ESTUARINE_NUDGES),
|
|
30
|
+
// LAST, and the order is load-bearing: a reading profile carries the
|
|
31
|
+
// framework's own `roles`, so walking it reaches every role key the line
|
|
32
|
+
// above already named. `mergeTranslationEntries` keeps the FIRST
|
|
33
|
+
// occurrence, which is what makes each key report the source it comes from.
|
|
34
|
+
// This profile declares no relation, so today it contributes no key of its
|
|
35
|
+
// own — walking it costs nothing and means the day it gains one the
|
|
36
|
+
// manifest already names it.
|
|
37
|
+
collectTranslationKeys('reading', ESTUARINE_READING));
|
package/dist/view.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QualityNudgeExtension, ValidationFrameworkExtension, validationToolbarConfig, } from '@formicoidea/labre-core/blocks/surface';
|
|
1
|
+
import { QualityNudgeExtension, ReadingProfileExtension, ValidationFrameworkExtension, validationToolbarConfig, } from '@formicoidea/labre-core/blocks/surface';
|
|
2
2
|
import { ViewExtensionProvider, } from '@formicoidea/labre-core/ext-loader';
|
|
3
3
|
import { extendTemplateCategory } from '@formicoidea/labre-core/gfx/template';
|
|
4
4
|
import { ToolbarModuleExtension } from '@formicoidea/labre-core/shared/services';
|
|
@@ -13,6 +13,7 @@ import { EstuarineRendererExtension } from './estuarine/element-renderer.js';
|
|
|
13
13
|
import { EstuarineInteraction, EstuarineView } from './estuarine/element-view.js';
|
|
14
14
|
import { EstuarineGhostManager, EstuarineGhostOverlay, } from './estuarine/ghost-overlay.js';
|
|
15
15
|
import { ESTUARINE_NUDGES } from './estuarine/nudges.js';
|
|
16
|
+
import { ESTUARINE_READING } from './estuarine/reading.js';
|
|
16
17
|
import { ESTUARINE_ROLE, ESTUARINE_ROLES } from './estuarine/roles.js';
|
|
17
18
|
import { estuarineToolbarExtension } from './estuarine/toolbar/config.js';
|
|
18
19
|
import { cynefinTemplateCategory, estuarineTemplateCategory, } from './templates/index.js';
|
|
@@ -104,6 +105,12 @@ export class CynefinEstuarineViewExtension extends ViewExtensionProvider {
|
|
|
104
105
|
id: BlockFlavourIdentifier('custom:affine:surface:estuarine'),
|
|
105
106
|
config: validationToolbarConfig,
|
|
106
107
|
}));
|
|
108
|
+
// The reversed reading (MF3): what the board says about a constraint, on
|
|
109
|
+
// demand. Reading is not validation — this profile carries no rule and no
|
|
110
|
+
// verdict — which is why it can exist on a package ADR 0013 keeps out of
|
|
111
|
+
// the validation perimeter (see that ADR's amendment of 2026-09-07). A
|
|
112
|
+
// free element on a Cynefin board carries no role and stays unreadable.
|
|
113
|
+
context.register(ReadingProfileExtension(ESTUARINE_READING));
|
|
107
114
|
context.register(cynefinEstuarineSeniorTool);
|
|
108
115
|
context.register(CommandExtension(cynefinEstuarineCommands, cynefinEstuarineCommandIcons));
|
|
109
116
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@formicoidea/labre-framework-cynefin",
|
|
3
3
|
"description": "Labre cynefin-estuarine framework for @formicoidea/labre-core.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.37.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"author": "lajola",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dist"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@formicoidea/labre-core": "0.
|
|
34
|
+
"@formicoidea/labre-core": "0.37.0",
|
|
35
35
|
"@preact/signals-core": "^1.8.0",
|
|
36
36
|
"lit": "^3.2.0"
|
|
37
37
|
}
|