stylegallery 0.1.3 → 0.1.6
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/AGENTS.md +2 -1
- package/DOMAINS.md +13 -9
- package/GOVERNANCE.md +9 -1
- package/README.md +26 -5
- package/consumer-reference/agent-native/README.md +12 -1
- package/consumer-reference/agent-native/v2/admission-policy.json +176 -1
- package/consumer-reference/agent-native/v2/material-registry.json +1 -1
- package/consumer-reference/agent-native/v2/schema/admission-policy.schema.json +3 -3
- package/consumer-reference/agent-native/v2/schema/material-record.schema.json +1 -1
- package/design-engineering/component-contract.md +98 -0
- package/design-engineering/consumer-migration-readiness.md +124 -0
- package/design-engineering/decision-tree.md +69 -0
- package/design-engineering/index.md +12 -2
- package/design-engineering/interface-craft.md +107 -0
- package/design-engineering/worked-examples.md +127 -0
- package/design-terminology/comparison-workflow.md +98 -0
- package/design-terminology/concept-families.md +78 -0
- package/design-terminology/conflict-cases.md +109 -0
- package/design-terminology/index.md +73 -0
- package/design-terminology/relation-types.md +109 -0
- package/design-terminology/source-kinds.md +77 -0
- package/design-terminology/source-vocabularies.md +93 -0
- package/game-ui/classification.md +82 -0
- package/game-ui/decision-tree.md +81 -0
- package/game-ui/index.md +11 -1
- package/game-ui/reference-record.md +62 -0
- package/game-ui/screen-hierarchy.md +107 -0
- package/game-ui/screen-recipes.md +101 -0
- package/game-ui/unity/architecture.md +166 -0
- package/game-ui/unity/cli-loop.md +84 -0
- package/game-ui/unity/org-wiki.md +146 -0
- package/game-ui/unity/repository-map.md +102 -0
- package/game-ui/unity/ui-systems.md +85 -0
- package/game-ui/verification-workflow.md +100 -0
- package/guides/vocabulary.md +1 -1
- package/index.md +10 -1
- package/log.md +43 -0
- package/motion/decision-tree.md +70 -0
- package/motion/index.md +14 -2
- package/motion/interaction-recipes.md +164 -0
- package/motion/motion-brief.md +125 -0
- package/motion/practice-reference.md +145 -0
- package/motion/review-workflow.md +94 -0
- package/motion/vocabulary.md +82 -0
- package/package.json +36 -1
- package/platform-guides/adaptation-workflow.md +76 -0
- package/platform-guides/android-interaction.md +74 -0
- package/platform-guides/apple-interaction.md +97 -0
- package/platform-guides/compatibility-matrix.md +97 -0
- package/platform-guides/index.md +13 -2
- package/platform-guides/windows-interaction.md +75 -0
- package/quality/claim-records/design-terminology-domain-scope.md +57 -0
- package/quality/evidence/executable-evidence.md +1 -1
- package/quality/index.md +2 -2
- package/recipes/homepage.md +8 -0
- package/scripts/agent-native/v2/material-admission.mjs +1 -1
- package/scripts/agent-native/v2/material-identity.mjs +2 -2
- package/scripts/agent-native/v2/material-mcp-adapter.mjs +1 -1
- package/scripts/agent-native/v2/material-queries.mjs +60 -12
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Domain Guide
|
|
3
|
+
title: Consumer Migration Readiness
|
|
4
|
+
description: Evidence-bound method for deciding whether a consumer migration preserves its declared behavior.
|
|
5
|
+
domain: design-engineering
|
|
6
|
+
lifecycle: experimental
|
|
7
|
+
provenance_kind: local
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Consumer Migration Readiness
|
|
11
|
+
|
|
12
|
+
Use this method only when an existing consumer is being migrated and its behavior must remain demonstrably equivalent. It turns migration intent into a consumer-owned conformance record and executable page evidence without making StyleGallery the owner of product code or visual values.
|
|
13
|
+
|
|
14
|
+
## Repository Boundary
|
|
15
|
+
|
|
16
|
+
The consuming repository owns its conformance record, source paths, runtime scenarios, evidence artifacts, adoption mappings, deviations, debt, and approval decision. StyleGallery supplies an experimental method, closed schemas, and validators. It does not certify the consumer, define product defaults, or turn a local adoption into a shared standard.
|
|
17
|
+
|
|
18
|
+
Ordinary implementation handoffs remain unchanged and may use `Consumer reference: not_applicable` with a sentence reason. Only a migration handoff that elects this method adds `Consumer migration conformance: declared` and one normalized repository-relative JSON record path.
|
|
19
|
+
|
|
20
|
+
## Reusable Method
|
|
21
|
+
|
|
22
|
+
1. Inventory the old and new consumer behavior before changing implementation.
|
|
23
|
+
2. Create one consumer-local record using the [consumer conformance schema](../consumer-reference/schema/consumer-conformance-record.schema.json).
|
|
24
|
+
3. Explicitly classify every migration dimension as `applicable` with runtime scenario IDs or `not_applicable` with a sentence reason.
|
|
25
|
+
4. Map each adopted StyleGallery source anchor to a concrete local component, selector, or module plus its local decision, deviations, debt, and scenario IDs.
|
|
26
|
+
5. Execute the named unit, integration, or browser command. A prose checklist, screenshot, or generated fixture alone is not runtime proof.
|
|
27
|
+
6. For page work, create one source-bound evidence session, execute the browser matrix, finalize the manifest, and validate the completed session against the conformance record.
|
|
28
|
+
7. Review the [consumer migration evidence gate](../quality/gates/consumer-migration-evidence.md). Block migration when required evidence is missing, stale, cross-session, source-drifted, or failed.
|
|
29
|
+
|
|
30
|
+
## Migration Dimension Contract
|
|
31
|
+
|
|
32
|
+
The record must classify exactly these thirteen dimensions:
|
|
33
|
+
|
|
34
|
+
| Dimension | What the consumer must preserve or explicitly exclude |
|
|
35
|
+
| --- | --- |
|
|
36
|
+
| `behavior_inventory` | The complete named behavior surface being migrated. |
|
|
37
|
+
| `route_parity` | Routes, entry points, and navigation outcomes. |
|
|
38
|
+
| `field_parity` | Accepted fields, output fields, validation, and serialization. |
|
|
39
|
+
| `action_parity` | User and programmatic actions plus observable outcomes. |
|
|
40
|
+
| `state_transitions` | Allowed state changes, guards, and terminal states. |
|
|
41
|
+
| `contract_precedence` | Which rule wins when old, new, and local contracts conflict. |
|
|
42
|
+
| `direct_mutation` | Effects of direct state or model mutation. |
|
|
43
|
+
| `indirect_mutation` | Effects reached through events, adapters, or dependent modules. |
|
|
44
|
+
| `persistence_round_trip` | Save, reload, serialization, and restoration behavior. |
|
|
45
|
+
| `reset_boundary` | What reset clears, preserves, and returns to defaults. |
|
|
46
|
+
| `exact_time_boundary` | Inclusive or exclusive timing behavior at exact boundaries. |
|
|
47
|
+
| `defaults_tri_state_mapping` | Mapping among absent, explicit default, and explicit non-default values. |
|
|
48
|
+
| `atomic_batch_behavior` | All-or-nothing behavior, ordering, and rollback for grouped changes. |
|
|
49
|
+
|
|
50
|
+
An `applicable` dimension references at least one declared runtime scenario. A `not_applicable` dimension includes a concrete sentence reason. Silence is never a classification.
|
|
51
|
+
|
|
52
|
+
## Opinionated Guidance
|
|
53
|
+
|
|
54
|
+
- Prefer the smallest scenario that proves an observable outcome over broad internal coverage.
|
|
55
|
+
- Pin both the consumer revision and each adopted StyleGallery revision; a branch name or moving tag is insufficient.
|
|
56
|
+
- Record local deviations honestly. Conformance means the declared boundary is internally consistent, not that every StyleGallery suggestion was copied.
|
|
57
|
+
- Treat expired debt as a decision trigger. Do not rewrite evidence timestamps to make a stale review appear current.
|
|
58
|
+
- Keep page evidence tied to the exact source inventory and browser run that produced it.
|
|
59
|
+
|
|
60
|
+
## Platform-Specific Guidance
|
|
61
|
+
|
|
62
|
+
Browser page evidence uses the required viewport set `320`, `375`, `768`, `1024`, and `1440` pixels plus the declared container, content, state, overlay, and page-scale cases. Platform-specific raster identity may supplement computed assertions, but it cannot replace semantic, focus, overflow, or contrast checks and cannot imply cross-platform pixel equivalence.
|
|
63
|
+
|
|
64
|
+
## Unsupported Absolutes
|
|
65
|
+
|
|
66
|
+
Passing this method does not prove complete accessibility, product correctness, usability, visual quality, independent adoption, cross-browser equivalence, or owner approval. Synthetic fixtures prove validator behavior only. A pinned revision proves source identity, not source authority or consumer suitability.
|
|
67
|
+
|
|
68
|
+
## Verification Contract
|
|
69
|
+
|
|
70
|
+
The minimum verification chain is:
|
|
71
|
+
|
|
72
|
+
```txt
|
|
73
|
+
consumer source inventory
|
|
74
|
+
-> conformance record with 13 explicit classifications
|
|
75
|
+
-> executable scenarios with zero exit and result artifacts
|
|
76
|
+
-> adoption mappings with pinned StyleGallery anchors
|
|
77
|
+
-> optional source-bound page-evidence manifest
|
|
78
|
+
-> consumer migration evidence gate decision
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Validate a record without applicable page evidence directly:
|
|
82
|
+
|
|
83
|
+
```sh
|
|
84
|
+
node <stylegallery-root>/scripts/validate-consumer-conformance.mjs \
|
|
85
|
+
--root <consumer-root> \
|
|
86
|
+
--record <record.json> \
|
|
87
|
+
--json
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Unit and integration scenarios declare a shell-free Node `argv` array beginning with `node`. The validator checks out the exact consumer revision in an isolated worktree, enables Node's permission model without child-process, worker, native-addon, or WASI grants, supplies only `PATH`, `CI=1`, deterministic locale flags, `STYLEGALLERY_RESULT_ARTIFACT`, and `STYLEGALLERY_RUNTIME_CONTEXT`, and requires the command to create that result artifact during the run. Commands may read and write only inside the isolated checkout, must be self-contained at the pinned revision, and cannot override the governed permission flags. The validator does not reuse the caller's `node_modules` or forward caller secrets.
|
|
91
|
+
|
|
92
|
+
When `page_evidence.status` is `applicable`, use one artifact root for the complete lifecycle. Start the source-bound session before the browser run, write each runner result beneath that artifact root, finalize the session, and then validate the record against the completed artifacts:
|
|
93
|
+
|
|
94
|
+
```sh
|
|
95
|
+
node <stylegallery-root>/scripts/create-page-evidence-session.mjs \
|
|
96
|
+
--root <consumer-root> \
|
|
97
|
+
--record <record.json> \
|
|
98
|
+
--artifact-root <artifact-root> \
|
|
99
|
+
--json
|
|
100
|
+
|
|
101
|
+
node <stylegallery-root>/scripts/finalize-page-evidence.mjs \
|
|
102
|
+
--root <consumer-root> \
|
|
103
|
+
--artifact-root <artifact-root> \
|
|
104
|
+
--runner-result <runner-result.json> \
|
|
105
|
+
--review-by <RFC3339-date-time> \
|
|
106
|
+
--json
|
|
107
|
+
|
|
108
|
+
node <stylegallery-root>/scripts/validate-consumer-conformance.mjs \
|
|
109
|
+
--root <consumer-root> \
|
|
110
|
+
--record <record.json> \
|
|
111
|
+
--artifact-root <artifact-root> \
|
|
112
|
+
--json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
`<record.json>` resolves from `<consumer-root>`, and each `<runner-result.json>` resolves from `<artifact-root>`. The completed manifest must match the consumer repository, revision, relevant source set, browser scenario set, run/session identities, and source digests. The StyleGallery checkout used for validation must contain every pinned StyleGallery revision; a shallow checkout that omits a historical pin fails closed. See [Consumer Migration Evidence](../quality/evidence/consumer-migration.md) for what each channel can and cannot support.
|
|
116
|
+
|
|
117
|
+
## Source, License, And Attribution
|
|
118
|
+
|
|
119
|
+
This is a StyleGallery-local method. It has no external source snapshot and intentionally declares `provenance_kind: local` rather than upstream repository metadata.
|
|
120
|
+
|
|
121
|
+
## IA Navigation
|
|
122
|
+
|
|
123
|
+
Parent: [Design Engineering](index.md).
|
|
124
|
+
Next: [Consumer Migration Evidence Gate](../quality/gates/consumer-migration-evidence.md).
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Domain Guide
|
|
3
|
+
title: Design Engineering Decision Tree
|
|
4
|
+
description: Route product craft work from the uncertain decision to a contract, example, and appropriate evidence.
|
|
5
|
+
domain: design-engineering
|
|
6
|
+
lifecycle: experimental
|
|
7
|
+
provenance_kind: local
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Design Engineering Decision Tree
|
|
11
|
+
|
|
12
|
+
Primary role: product implementation planning route.
|
|
13
|
+
|
|
14
|
+
## Repository Boundary
|
|
15
|
+
|
|
16
|
+
This route turns a product request into a bounded implementation decision. It owns neither shared quality policy nor a default design system. Use the existing Layout corpus for geometry and Motion for temporal behavior.
|
|
17
|
+
|
|
18
|
+
## Reusable Method
|
|
19
|
+
|
|
20
|
+
1. Write the user's action and the expected result in one sentence.
|
|
21
|
+
2. Identify what is uncertain: content, structure, state, identity, platform behavior, or perception.
|
|
22
|
+
3. Select the route below and produce its named artifact.
|
|
23
|
+
4. Implement the smallest slice containing the risky state, including failure and recovery.
|
|
24
|
+
5. Verify the observable and record the remaining limitation using [Interface Craft Decisions](interface-craft.md).
|
|
25
|
+
|
|
26
|
+
## Task Routes
|
|
27
|
+
|
|
28
|
+
| Uncertain decision | Primary route | Artifact to produce |
|
|
29
|
+
| --- | --- | --- |
|
|
30
|
+
| What should this screen contain? | [Webpage Generation Workflow](../guides/webpage-generation-workflow.md) | Content inventory and task model |
|
|
31
|
+
| What owns size, flow, and scroll? | [Layout Planning Guide](../GUIDE.md) | Layout brief and pattern composition |
|
|
32
|
+
| What happens after activation or failure? | [Component Contract](component-contract.md) | State, event, focus, and asynchronous ownership tables |
|
|
33
|
+
| How should a form, search, or destructive action recover? | [Worked Examples](worked-examples.md) | Scenario-specific acceptance cases |
|
|
34
|
+
| Does a product detail serve the task? | [Interface Craft Decisions](interface-craft.md) | Claim with an observable and evidence boundary |
|
|
35
|
+
| How do distinct identities use one Layout contract? | [Reference Profiles](reference-profiles/index.md) | Explicit profile selection and value ownership |
|
|
36
|
+
| Will an existing consumer survive migration? | [Consumer Migration Readiness](consumer-migration-readiness.md) | Thirteen-dimension consumer-owned conformance record |
|
|
37
|
+
| What should move and why? | [Motion Decision Tree](../motion/decision-tree.md) | Motion brief with interruption policy |
|
|
38
|
+
| Is a platform convention transferable? | [Platform Adaptation Workflow](../platform-guides/adaptation-workflow.md) | Native fact, web mapping, fallback, and runtime matrix |
|
|
39
|
+
|
|
40
|
+
## Worked Intake
|
|
41
|
+
|
|
42
|
+
Request: “Make saving settings feel responsive.” The risky decision is whether acknowledgement means persistence. Begin with a component contract: clean, dirty, saving, saved, and failed. A saving label acknowledges submission; the saved state waits for the persistence response. Preserve unsaved edits when requests fail. Only then evaluate a completion treatment through Motion. This order exposes duplicate writes and lost edits before visual review.
|
|
43
|
+
|
|
44
|
+
An acceptance statement can be: “A failed save leaves the entered values available for retry.” “Feels responsive” remains a human perception hypothesis until measured in the relevant task.
|
|
45
|
+
|
|
46
|
+
## Opinionated Guidance
|
|
47
|
+
|
|
48
|
+
Prototype the uncertain state rather than an entire polished screen. A good first slice includes the initiating action, its failure, and a recovery path. Add complexity when it resolves an observed limitation.
|
|
49
|
+
|
|
50
|
+
## Platform-Specific Guidance
|
|
51
|
+
|
|
52
|
+
Distinguish browser, OS, assistive technology, framework, and component library versions in evidence. A library's state name is an implementation detail, not the user's task definition.
|
|
53
|
+
|
|
54
|
+
## Unsupported Absolutes
|
|
55
|
+
|
|
56
|
+
No selected framework, profile, token set, or prototype proves product quality. Component completion does not demonstrate migration readiness for an entire consumer.
|
|
57
|
+
|
|
58
|
+
## Verification Contract
|
|
59
|
+
|
|
60
|
+
The route succeeds when a reviewer can find the decision owner, artifact, failure case, and evidence needed without guessing. Verify one ordinary, one exceptional, and one interrupted task. Revisit when a route sends the reader to the wrong domain or cannot produce a testable acceptance statement.
|
|
61
|
+
|
|
62
|
+
## Source, License, And Attribution
|
|
63
|
+
|
|
64
|
+
Locally authored routing and settings example. Linked repository documents remain authoritative for their own contracts.
|
|
65
|
+
|
|
66
|
+
## IA Navigation
|
|
67
|
+
|
|
68
|
+
Parent: [Design Engineering](index.md).
|
|
69
|
+
Next: [Component Contract](component-contract.md).
|
|
@@ -8,6 +8,16 @@ In scope: purpose, frequency, interaction detail, implementation review, prototy
|
|
|
8
8
|
|
|
9
9
|
Out of scope: a second universal principle set, unsupported claims of beauty or adoption, and overrides of semantic, accessibility, Layout, or shared quality contracts.
|
|
10
10
|
|
|
11
|
+
## Start Here
|
|
12
|
+
|
|
13
|
+
| Task | Route |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| Route the uncertain product decision. | [Design Engineering Decision Tree](decision-tree.md) |
|
|
16
|
+
| Specify semantics, state, requests, and focus. | [Component Contract](component-contract.md) |
|
|
17
|
+
| Apply settings, search, and destructive-action contracts. | [Design Engineering Worked Examples](worked-examples.md) |
|
|
18
|
+
|
|
19
|
+
These workflows and worked cases are usable experimental guidance. Expected-result tables are test designs; actual product, engine, and reader evidence must be recorded separately. Review on a failed task, a source change, or a changed ownership contract.
|
|
20
|
+
|
|
11
21
|
## Documents
|
|
12
22
|
|
|
13
23
|
- [Interface Craft Decisions](interface-craft.md) connects product purpose, implementation detail, and verification without treating taste as proof.
|
|
@@ -20,9 +30,9 @@ This domain proposes product-layer questions. [Quality Gates](../quality/index.m
|
|
|
20
30
|
|
|
21
31
|
## Domain Contract
|
|
22
32
|
|
|
23
|
-
See [StyleGallery Domains](../DOMAINS.md) for lifecycle, provenance, page membership, and
|
|
33
|
+
See [StyleGallery Domains](../DOMAINS.md) for lifecycle, provenance, page membership, and staleness rules.
|
|
24
34
|
|
|
25
35
|
## IA Navigation
|
|
26
36
|
|
|
27
37
|
Parent: [StyleGallery](../index.md).
|
|
28
|
-
Next: [
|
|
38
|
+
Next: [Design Engineering Decision Tree](decision-tree.md).
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Domain Guide
|
|
3
|
+
title: Interface Craft Decisions
|
|
4
|
+
description: Repository-bounded method for purpose, implementation, review, and evidence decisions at the product layer.
|
|
5
|
+
domain: design-engineering
|
|
6
|
+
lifecycle: experimental
|
|
7
|
+
source_repository: https://github.com/emilkowalski/skills
|
|
8
|
+
source_path: skills/emil-design-eng/SKILL.md
|
|
9
|
+
source_revision: 220e8607c90b17337d210125777b7b695f26c221
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Interface Craft Decisions
|
|
13
|
+
|
|
14
|
+
Primary role: design-engineering decision guide.
|
|
15
|
+
|
|
16
|
+
## Repository Boundary
|
|
17
|
+
|
|
18
|
+
This page helps connect product intent, implementation detail, and verification. It does not create a second StyleGallery principle set, rank visual taste as objective quality, or override Layout, accessibility, source-order, and shared evidence contracts.
|
|
19
|
+
|
|
20
|
+
## Reusable Method
|
|
21
|
+
|
|
22
|
+
### Establish The Job
|
|
23
|
+
|
|
24
|
+
Before tuning the interface, name:
|
|
25
|
+
|
|
26
|
+
- the user task and state change;
|
|
27
|
+
- why the behavior or treatment is necessary;
|
|
28
|
+
- how frequently it appears;
|
|
29
|
+
- which constraints and inputs it must survive;
|
|
30
|
+
- the observable that will decide whether it works.
|
|
31
|
+
|
|
32
|
+
If those answers are absent, implementation detail is premature.
|
|
33
|
+
|
|
34
|
+
### Build A Verifiable Representation
|
|
35
|
+
|
|
36
|
+
Use semantic structure and the owning domain's smallest robust contract first. Prototype the uncertain interaction or visual relationship at the lowest fidelity that exposes its failure modes. A prototype is evidence of one implementation state, not proof of general usability.
|
|
37
|
+
|
|
38
|
+
### Review Observable Failures
|
|
39
|
+
|
|
40
|
+
Inspect real content, empty states, long labels, constrained containers, repeated interaction, focus order, alternative input, relevant preferences, and target browsers/devices. When timing or continuity matters, review recordings slowly or frame by frame.
|
|
41
|
+
|
|
42
|
+
### Record The Decision
|
|
43
|
+
|
|
44
|
+
Use the shared high-impact claim shape:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
Principle:
|
|
48
|
+
Claim:
|
|
49
|
+
Context:
|
|
50
|
+
Use case:
|
|
51
|
+
Warrant:
|
|
52
|
+
Evidence family:
|
|
53
|
+
Verification protocol:
|
|
54
|
+
Implementation handoff:
|
|
55
|
+
Consumer reference: not_applicable
|
|
56
|
+
Consumer reference reason: This blank craft-decision template declares no consumer-specific reference record.
|
|
57
|
+
Boundary or limitation:
|
|
58
|
+
Debt or escalation:
|
|
59
|
+
Decision:
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
This makes the result reviewable without turning the practitioner's preference into authority.
|
|
63
|
+
|
|
64
|
+
## Decision Questions
|
|
65
|
+
|
|
66
|
+
| Question | Evidence that can help | What it cannot prove alone |
|
|
67
|
+
| --- | --- | --- |
|
|
68
|
+
| Does the detail serve the primary task? | Task model, prototype, user evidence | Universal preference |
|
|
69
|
+
| Is the default understandable without instruction? | Task completion, terminology test, comparative prototype | Long-term adoption |
|
|
70
|
+
| Does repetition make the behavior costly? | Frequency estimate, interaction timing, user evidence | One universal threshold |
|
|
71
|
+
| Does the interface preserve continuity? | Rendered sequence, source/focus inspection | Human orientation for every user |
|
|
72
|
+
| Does the implementation survive real constraints? | Content/container/input/browser matrix | Brand or aesthetic quality |
|
|
73
|
+
| Is the final polish coherent with declared intent? | Named comparative criteria and representative review | Objective beauty |
|
|
74
|
+
|
|
75
|
+
## Opinionated Guidance
|
|
76
|
+
|
|
77
|
+
Small details can compound, strong defaults can lower adoption effort, and fresh-eye review can expose defects familiarity hides. These are practitioner heuristics. “Beautiful,” “delightful,” “premium,” “obvious,” and “feels right” require an operational definition and suitable human evidence when used as claims.
|
|
78
|
+
|
|
79
|
+
## Platform-Specific Guidance
|
|
80
|
+
|
|
81
|
+
CSS entry features, clipping techniques, Motion/Framer Motion, React effects, component-library variables, pointer capture, and browser-specific performance behavior belong in bounded implementation notes. Verify current official documentation and the actual product surface before recommending them.
|
|
82
|
+
|
|
83
|
+
## Unsupported Absolutes
|
|
84
|
+
|
|
85
|
+
- Beauty is not repository leverage or a sufficient acceptance criterion.
|
|
86
|
+
- A fixed duration, easing, scale, velocity, or frequency threshold is not universal.
|
|
87
|
+
- CSS does not categorically outperform JavaScript.
|
|
88
|
+
- A property or API name does not prove hardware acceleration.
|
|
89
|
+
- Product popularity does not prove a reusable implementation pattern.
|
|
90
|
+
- A promotional or enthusiastic posture is not part of the review contract.
|
|
91
|
+
|
|
92
|
+
## Verification Contract
|
|
93
|
+
|
|
94
|
+
Every high-impact recommendation maps `principle -> claim -> context -> warrant -> evidence -> protocol -> boundary/debt`. Visual and interaction claims require rendered evidence; accessibility claims use the accessibility gate; human-quality claims need corresponding user or HCI evidence. A passing implementation keeps the owning domain's constraints visible in the handoff.
|
|
95
|
+
|
|
96
|
+
## Source, License, And Attribution
|
|
97
|
+
|
|
98
|
+
- Upstream inspiration: [emil-design-eng/SKILL.md](https://github.com/emilkowalski/skills/blob/220e8607c90b17337d210125777b7b695f26c221/skills/emil-design-eng/SKILL.md)
|
|
99
|
+
- Snapshot: `220e8607c90b17337d210125777b7b695f26c221`
|
|
100
|
+
- Upstream license: MIT, Copyright (c) 2026 Emil Kowalski.
|
|
101
|
+
- Reuse form: independent method rewrite; upstream prose, tables, code, examples, distinctive ordering, and the quotation attributed to Paul Graham were not retained.
|
|
102
|
+
- Evidence boundary: this practitioner source suggests review questions; it does not establish local quality, accessibility, performance, or adoption outcomes.
|
|
103
|
+
|
|
104
|
+
## IA Navigation
|
|
105
|
+
|
|
106
|
+
Parent: [Design Engineering](index.md).
|
|
107
|
+
Next: [Platform Guides](../platform-guides/index.md).
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Domain Guide
|
|
3
|
+
title: Design Engineering Worked Examples
|
|
4
|
+
description: Apply component contracts to settings, asynchronous search, and destructive list actions with explicit recovery cases.
|
|
5
|
+
domain: design-engineering
|
|
6
|
+
lifecycle: experimental
|
|
7
|
+
provenance_kind: local
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Design Engineering Worked Examples
|
|
11
|
+
|
|
12
|
+
Primary role: product interaction recipe collection.
|
|
13
|
+
|
|
14
|
+
## Repository Boundary
|
|
15
|
+
|
|
16
|
+
These fictional examples connect decisions to expected behavior. They are neither shipped components nor captured product evidence. Values and presentation belong to the consumer; the referenced Layout recipes retain their spatial boundaries.
|
|
17
|
+
|
|
18
|
+
The separate [Interaction Lab](../examples/domain-interactions/README.md) implements the save and search contracts as a local web prototype. Its [browser observations](../examples/domain-interactions/verification.md) apply to that exact example and source snapshot; they do not prove a consumer backend or the destructive-action recipe below.
|
|
19
|
+
|
|
20
|
+
## Reusable Method
|
|
21
|
+
|
|
22
|
+
Choose a matching user task, adapt its state ownership through the [Component Contract](component-contract.md), and execute the listed failure cases in the consuming application. The decision is incomplete until expected and actual results are recorded separately.
|
|
23
|
+
|
|
24
|
+
## Settings With Explicit Save
|
|
25
|
+
|
|
26
|
+
Task: edit preferences, inspect changes, and save intentionally. Compose the [SaaS Settings recipe](../recipes/saas-settings.md); let its selected patterns own page structure and scrolling. The form owns the editable draft, the operation owns the submitted snapshot, and persistence determines success.
|
|
27
|
+
|
|
28
|
+
Keep field errors beside their inputs and provide a route to the first relevant error. On network failure, retain all entered values. A successful save of an older snapshot must leave subsequent edits dirty. If leaving the screen can lose changes, define discard/cancel/save behavior and what happens if saving fails.
|
|
29
|
+
|
|
30
|
+
| Test | Expected behavior |
|
|
31
|
+
| --- | --- |
|
|
32
|
+
| Submit missing required input | Expose the error and retain other values |
|
|
33
|
+
| Submit, edit again, then receive success | Confirm the submitted snapshot; preserve later edits |
|
|
34
|
+
| Fail and retry | Keep the draft; issue the retry under the declared request policy |
|
|
35
|
+
| Cancel navigation with dirty data | Stay on the form with the same draft and a usable focus target |
|
|
36
|
+
|
|
37
|
+
Evidence still needed: keyboard/error announcement, persistence responses, and source-bound runtime capture. A prototype cannot prove real data was saved.
|
|
38
|
+
|
|
39
|
+
## Search With Detail Selection
|
|
40
|
+
|
|
41
|
+
Task: search a collection and inspect an item without losing the search context. Compose [List Detail](../recipes/list-detail.md). Separate query text, submitted query, active request, results, and selected item identity. Displayed detail must name the selected item even when the result set refreshes.
|
|
42
|
+
|
|
43
|
+
Keep typing responsive; a request for an older query cannot replace a newer result. Distinguish “no results” from loading and failure. On a tight surface, preserve selection and query when navigating between list and detail. If the selected item disappears, choose a documented empty detail or next-item policy instead of silently showing stale data.
|
|
44
|
+
|
|
45
|
+
| Test | Expected behavior |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| Submit A, then B; resolve B before A | Results remain for B after A arrives |
|
|
48
|
+
| Receive zero results | Show the submitted query and a recovery action |
|
|
49
|
+
| Resize with detail selected | Preserve selection and query; keep focus on a logical available target |
|
|
50
|
+
| Remove the selected item remotely | Explain its unavailability or choose the documented next target |
|
|
51
|
+
|
|
52
|
+
Evidence still needed: out-of-order response trace, selection identity, tight/wide rendered states, and input coverage. Motion is optional; use [Reorder and Filter](../motion/interaction-recipes.md#reorder-and-filter) only when it communicates stable identity.
|
|
53
|
+
|
|
54
|
+
## Destructive Action In A List
|
|
55
|
+
|
|
56
|
+
Task: remove a selected item with understandable consequences. Separate the initiating control, decision surface, pending operation, and final list update. Choose confirmation or undo from actual reversibility and product requirements. Do not offer undo when the backend cannot restore the item.
|
|
57
|
+
|
|
58
|
+
Name the affected item and scope. During pending deletion, prevent unintended duplicate operations according to the contract. Failure preserves the item and a recovery path. On success, return focus to an appropriate neighboring item or list heading if the invoker was removed. A dialog's visual exit must not leave a blocker behind.
|
|
59
|
+
|
|
60
|
+
| Test | Expected behavior |
|
|
61
|
+
| --- | --- |
|
|
62
|
+
| Cancel confirmation | No deletion; return to the invoker |
|
|
63
|
+
| Fail the operation | Explain failure and preserve the item |
|
|
64
|
+
| Succeed while filters change | Remove by stable identity, not old row position |
|
|
65
|
+
| Remove the final item | Present an empty state and a logical focus destination |
|
|
66
|
+
|
|
67
|
+
Evidence still needed: actual operation result, focus trace, dialog semantics, and recovery behavior. Use [Modal Transition](../motion/interaction-recipes.md#modal-transition) only for optional presentation.
|
|
68
|
+
|
|
69
|
+
## Implementation Handoff
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
example: # settings-save, search-detail, or destructive-list-action
|
|
73
|
+
consumer_reference: not_applicable
|
|
74
|
+
consumer_reference_reason: These fictional examples select no consumer-owned profile or evidence record.
|
|
75
|
+
layout_source: # the selected recipe and the consumer's pinned revision
|
|
76
|
+
state_owner: # component, screen, and persistence responsibilities
|
|
77
|
+
acceptance_cases: # adapted rows above
|
|
78
|
+
observed_results: not_run
|
|
79
|
+
remaining_evidence: # actual runtime, input, device, and user evidence
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Product Story And Media Handoff
|
|
83
|
+
|
|
84
|
+
Start with an observation sheet for a product homepage: section job, reading order, scene boundaries, changing objects, media crop, and source-confidence level. Record an unknown rendering mechanism as unknown; cinematic appearance alone does not establish video, Canvas, WebGL, or a library.
|
|
85
|
+
|
|
86
|
+
| Decision | Product-owned record | Verification |
|
|
87
|
+
| --- | --- | --- |
|
|
88
|
+
| Typography and rhythm | Heading measure, copy length, spacing, contrast and image ratio | Real copy, text growth, narrow windows |
|
|
89
|
+
| Scene composition | Subject identity, crop and focal point, transparent layers, background transitions | First/middle/last and transition frames |
|
|
90
|
+
| Media export | Dimensions, frame order, codec/format, alpha, poster, source/license | Decode readiness and failed asset |
|
|
91
|
+
| Runtime budget | Download bytes, decoded-memory estimate, cache and concurrency limits | Slow requests, repeated reversal, idle work |
|
|
92
|
+
| Static equivalent | Every essential message in semantic HTML, explicit reading mode | No script, reduced motion, keyboard access |
|
|
93
|
+
|
|
94
|
+
Use the [Motion scene contract](../motion/interaction-recipes.md#scene-composition-contract) and compare the [Flow and headphones examples](../examples/scroll-story/README.md). Their shared controller demonstrates content substitution; both are related local examples and establish no independent adopter evidence. Their different typography, colors, and assets remain product choices.
|
|
95
|
+
|
|
96
|
+
Complete one representative scene before producing an entire video or image sequence. Review its composition and transition framing, then export at the target dimensions. A polished poster does not validate the intervening frames. This section is locally authored practice guidance, not adapted external visual expression.
|
|
97
|
+
|
|
98
|
+
### Persistent Subject And Page Navigation
|
|
99
|
+
|
|
100
|
+
The Flow story keeps one device shell mounted while its screen content and pose change with progress. The [Scene Navigation example](../examples/scene-navigation/README.md) carries that same identity principle into a page whose chapter selection changes while document position stays fixed. Background, text, device pose, and screen layers share one state owner. These are local product treatments, not profile values or reusable Layout CSS.
|
|
101
|
+
|
|
102
|
+
For this page type, add an input map and URL/history contract to the visual handoff. Specify which surface owns wheel/swipe, which copy regions retain native scrolling, how a focused outgoing action is recovered, and how the user reaches ordinary reading. Review intermediate frames as well as the endpoints; semantic availability must not depend on a visual completion callback.
|
|
103
|
+
|
|
104
|
+
## Opinionated Guidance
|
|
105
|
+
|
|
106
|
+
Preserve the user's work across recoverable failures. Status text should explain the real operation; motion and color alone are insufficient descriptions of what happened.
|
|
107
|
+
|
|
108
|
+
## Platform-Specific Guidance
|
|
109
|
+
|
|
110
|
+
Native navigation, browser history, component libraries, and platform controls differ. Record the exact implementation of cancellation and focus return rather than copying a screenshot's apparent behavior.
|
|
111
|
+
|
|
112
|
+
## Unsupported Absolutes
|
|
113
|
+
|
|
114
|
+
Confirmation is not always safer than undo. Optimistic updates are not always appropriate. A worked example does not certify a consumer migration or establish universal usability.
|
|
115
|
+
|
|
116
|
+
## Verification Contract
|
|
117
|
+
|
|
118
|
+
Execute all adapted acceptance rows plus long text, empty content, relevant constraints and preferences, and every claimed input method. For a migration use the larger [Migration Readiness](consumer-migration-readiness.md) contract. Review these examples when an observed failure lacks an owner or recovery action.
|
|
119
|
+
|
|
120
|
+
## Source, License, And Attribution
|
|
121
|
+
|
|
122
|
+
Locally authored scenarios and expected-result tables. Repository links provide spatial and evidence contracts, not proof that these scenarios have run.
|
|
123
|
+
|
|
124
|
+
## IA Navigation
|
|
125
|
+
|
|
126
|
+
Parent: [Design Engineering](index.md).
|
|
127
|
+
Next: [Interface Craft Decisions](interface-craft.md).
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Domain Guide
|
|
3
|
+
title: Design Term Comparison Workflow
|
|
4
|
+
description: Resolve source-specific terminology questions with a scoped relation, explicit uncertainty, and a reusable handoff.
|
|
5
|
+
domain: design-terminology
|
|
6
|
+
lifecycle: experimental
|
|
7
|
+
provenance_kind: local
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Design Term Comparison Workflow
|
|
11
|
+
|
|
12
|
+
Primary role: terminology lookup, authoring, and handoff route.
|
|
13
|
+
|
|
14
|
+
## Repository Boundary
|
|
15
|
+
|
|
16
|
+
This workflow answers what two named sources mean and how those meanings relate. Internal naming still belongs to [Controlled Vocabulary](../guides/vocabulary.md). Implementation behavior belongs to its owning domain. Document retrieval does not execute a structured terminology query.
|
|
17
|
+
|
|
18
|
+
## Reusable Method
|
|
19
|
+
|
|
20
|
+
1. Capture the exact question, both labels, intended audience, and comparison scope.
|
|
21
|
+
2. Identify each named source and [source kind](source-kinds.md). If either source is missing, report insufficient context.
|
|
22
|
+
3. Check [Recorded Sources](source-vocabularies.md) and open the direct term locators in [Term Cases](conflict-cases.md).
|
|
23
|
+
4. Record each label, concept, status, and version independently. Classify through [Concept Families](concept-families.md).
|
|
24
|
+
5. Select a [relation type](relation-types.md), direction, and non-trivial boundary. A composed-of relationship is not automatically subtyping.
|
|
25
|
+
6. Return the scoped result, term IDs, source recheck status, and a counterexample or missing observation.
|
|
26
|
+
7. For a new record, update the source inventory and term/relation tables, then run their validator and fixtures.
|
|
27
|
+
|
|
28
|
+
## Decision Table
|
|
29
|
+
|
|
30
|
+
| Situation | Result to produce |
|
|
31
|
+
| --- | --- |
|
|
32
|
+
| Identical labels, distinct meanings in two named sources | `same_label_different_meaning`, both meanings and the confusion risk |
|
|
33
|
+
| Shared region but source-specific features on both sides | `partial_overlap`, intersection and each side's difference |
|
|
34
|
+
| One form stores or consumes another concept | `implementation_representation`, representation first and the loss/addition boundary |
|
|
35
|
+
| Genuine set inclusion with a counterexample | `broader_than` or `narrower_than`, explicit direction |
|
|
36
|
+
| Meaning overlaps across versions or systems | `near_equivalent`, declared symmetry and the divergence axis |
|
|
37
|
+
| One source records a dated label replacement | `renamed_to`, same source and verifiable event |
|
|
38
|
+
| The proposed comparison uses incompatible axes | `not_comparable`, the axis mismatch |
|
|
39
|
+
| Source, scope, or meaning cannot be established | No relation recorded; say what evidence is missing |
|
|
40
|
+
|
|
41
|
+
## Handoff Template
|
|
42
|
+
|
|
43
|
+
```yaml
|
|
44
|
+
question: # the consumer's actual terminology question
|
|
45
|
+
term_ids: # exact identifiers from conflict-cases.md
|
|
46
|
+
relation_types: # closed types actually relied on
|
|
47
|
+
scope: # the recorded comparison scope
|
|
48
|
+
answer: # locally written scoped conclusion
|
|
49
|
+
boundary: # where substitution breaks
|
|
50
|
+
sources_rechecked: # date and source locators, or unverified
|
|
51
|
+
unknowns: # missing evidence, or none within the recorded scope
|
|
52
|
+
consumer_reference: not_applicable
|
|
53
|
+
consumer_reference_reason: This blank terminology template selects no consumer record.
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Worked Handoff
|
|
57
|
+
|
|
58
|
+
Question: can a CSS custom property be called the same thing as an interchange token?
|
|
59
|
+
|
|
60
|
+
Term identifiers: `css.custom-property`, `dtcg.token`. Relation type: `implementation_representation`, from the CSS representation to the token concept, in scope `token-to-css-output`. Answer: a custom property can consume a translated token value, but the runtime slot does not carry the full interchange record and can also store other values. Sources rechecked: the direct CSSWG and DTCG 2025.10 locators in [Term Cases](conflict-cases.md), 2026-09-08. Consumer reference: `not_applicable`, because this is a terminology explanation with no selected consumer record.
|
|
61
|
+
|
|
62
|
+
This judgment does not prove any actual converter preserves aliases, types, or metadata.
|
|
63
|
+
|
|
64
|
+
## Reader Verification Tasks
|
|
65
|
+
|
|
66
|
+
| Task | Expected result | Failure signal |
|
|
67
|
+
| --- | --- | --- |
|
|
68
|
+
| Compare Figma and Carbon “Component” | Two source-specific records and `same_label_different_meaning` | One merged definition |
|
|
69
|
+
| Compare variable, token, and custom property | `partial_overlap` plus representation-first mapping | Equivalence or reversed representation direction |
|
|
70
|
+
| Compare the second DTCG draft with 2025.10 | Historical/current version scopes and no invented rename | Treating the draft as the current implementation contract |
|
|
71
|
+
| Compare “style guide” and “design system” without organizations | Insufficient context; request the two sources | Universal history or deprecation claim |
|
|
72
|
+
|
|
73
|
+
These are expected lookup outcomes. A maintainer records actual reader task results and participant identity separately before claiming findability evidence. Reader tasks are not a domain lifecycle prerequisite.
|
|
74
|
+
|
|
75
|
+
## Opinionated Guidance
|
|
76
|
+
|
|
77
|
+
Resolve ambiguity explicitly; a qualified answer is more useful than an unsupported winner. Retain historical records with their own scopes when a current reading changes.
|
|
78
|
+
|
|
79
|
+
## Platform-Specific Guidance
|
|
80
|
+
|
|
81
|
+
Direct source authority is limited to its named platform, system, tool, or specification. A platform terminology comparison does not establish a target's support for the named feature.
|
|
82
|
+
|
|
83
|
+
## Unsupported Absolutes
|
|
84
|
+
|
|
85
|
+
Do not infer equivalence from an absent relation, source popularity, or shared spelling. A passing record validator cannot determine whether a semantic judgment is persuasive.
|
|
86
|
+
|
|
87
|
+
## Verification Contract
|
|
88
|
+
|
|
89
|
+
Verify table consistency mechanically and meaning against both sources. Run the reader tasks for an actual findability claim. Re-review when either source revises its term or a reader encounters an unresolved ambiguity. The [domain lifecycle review](index.md#promotion-to-stable) follows the repository-owner policy separately from reader evidence.
|
|
90
|
+
|
|
91
|
+
## Source, License, And Attribution
|
|
92
|
+
|
|
93
|
+
Locally authored workflow relying on the term identifiers and relation types declared above. Named sources were rechecked through the direct locators in Term Cases on 2026-09-08. No upstream definitional prose is reproduced.
|
|
94
|
+
|
|
95
|
+
## IA Navigation
|
|
96
|
+
|
|
97
|
+
Parent: [Design Terminology](index.md).
|
|
98
|
+
Next: [Cross-System Term Cases](conflict-cases.md).
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Domain Guide
|
|
3
|
+
title: Design Concept Families
|
|
4
|
+
description: Classification of design terms into foundation, interface-artifact, guidance, governance, consumption, and tooling-construct concept families.
|
|
5
|
+
domain: design-terminology
|
|
6
|
+
lifecycle: experimental
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Design Concept Families
|
|
10
|
+
|
|
11
|
+
Primary role: design-term concept-family classification guide.
|
|
12
|
+
|
|
13
|
+
## Repository Boundary
|
|
14
|
+
|
|
15
|
+
This guide classifies design terms by the decision each term serves, as a property of the term's concept, independent of what kind of source uses it. A system's name for itself is not a concept family; see [Design Source Kinds](source-kinds.md). The families are review tools, not a universal ontology, and they never rename StyleGallery's own terms.
|
|
16
|
+
|
|
17
|
+
## Reusable Method
|
|
18
|
+
|
|
19
|
+
1. Capture the term inside its native source context with a named source.
|
|
20
|
+
2. Identify the underlying concept, then assign one primary concept family.
|
|
21
|
+
3. Record scope: whole system, one library, or a single artifact.
|
|
22
|
+
4. Record audience and medium: designer-facing, engineer-facing, or tool-layer.
|
|
23
|
+
5. Express relations to other terms only through the typed model in [Design Term Relations](relation-types.md).
|
|
24
|
+
6. Cite the named source and document surface; never generalize from one source's usage.
|
|
25
|
+
|
|
26
|
+
## Concept Families
|
|
27
|
+
|
|
28
|
+
| Family | Question it answers | Typical terms |
|
|
29
|
+
| --- | --- | --- |
|
|
30
|
+
| `foundation` | What are the smallest reusable inputs? | token, design token, variable, primitive, core, base |
|
|
31
|
+
| `interface-artifact` | What are the built interface units? | component, element, control, block, module, variant, state |
|
|
32
|
+
| `guidance` | How is intent communicated? | principle, guideline, heuristic, standard, specification, recipe |
|
|
33
|
+
| `governance` | How does the system change? | contribution, deprecation, versioning, adoption, migration, maturity |
|
|
34
|
+
| `consumption` | Who uses which form? | package, library, kit, theme, plugin, preset |
|
|
35
|
+
| `tooling-construct` | What does a tool's data model expose? | design-tool variable, mode, tool component, library file |
|
|
36
|
+
|
|
37
|
+
`pattern` is recorded as `guidance` or `interface-artifact` depending on the cited source's own scope, never both at once.
|
|
38
|
+
|
|
39
|
+
## Classification Cases
|
|
40
|
+
|
|
41
|
+
| Case | Rule | Example |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
| Same term at different scope | Classify by the scope the source actually defines | `pattern` as workflow guidance in Carbon versus a spatial arrangement in a pattern library |
|
|
44
|
+
| Same term for different audiences | Record audience as a separate axis before comparing | `token` in design tooling versus in generated CSS |
|
|
45
|
+
| Era shift | Classify by current source usage; note the older meaning as history | `style guide` narrowed as `design system` broadened |
|
|
46
|
+
| Tool layer versus system layer | A tool construct is `tooling-construct`, not the system's term for the same concept | A tool's variables versus a system's published token format |
|
|
47
|
+
| Local override | A product may rename a family term locally; the family is shared, the authority is not | A product calling patterns `blocks` |
|
|
48
|
+
|
|
49
|
+
## Opinionated Guidance
|
|
50
|
+
|
|
51
|
+
- Classify the term as the named source uses it today, then compare through relations; never build one merged definition first.
|
|
52
|
+
- Keep family and scope separate: `component` stays `interface-artifact` whether it names a button or a page region.
|
|
53
|
+
- Prefer the narrowest scope the source supports; widen only with a second cited source.
|
|
54
|
+
- Treat missing terms as gaps in that source's vocabulary, not omissions to fill by inference.
|
|
55
|
+
|
|
56
|
+
## Platform-Specific Guidance
|
|
57
|
+
|
|
58
|
+
Record the named source, its kind, and the review date for every classification. Route platform convention comparison to [Platform Guides](../platform-guides/index.md), motion terms to Motion, and StyleGallery's own term decisions to the [Controlled Vocabulary](../guides/vocabulary.md).
|
|
59
|
+
|
|
60
|
+
## Unsupported Absolutes
|
|
61
|
+
|
|
62
|
+
- One source's family structure is not a universal taxonomy.
|
|
63
|
+
- A term's popularity does not establish its definition.
|
|
64
|
+
- A tool vendor's feature name does not define the industry term.
|
|
65
|
+
- Absence of a term in one source does not invalidate its use in another.
|
|
66
|
+
|
|
67
|
+
## Verification Contract
|
|
68
|
+
|
|
69
|
+
For every classified term, verify the named source still uses the term in the recorded family, scope, audience, and medium; re-check era-shifted terms against the current source; and confirm every cross-source claim carries a typed relation with a boundary.
|
|
70
|
+
|
|
71
|
+
## Source, License, And Attribution
|
|
72
|
+
|
|
73
|
+
This page is a locally authored, project-neutral proposed taxonomy. It cites named systems only as usage evidence and reproduces no upstream definitional prose.
|
|
74
|
+
|
|
75
|
+
## IA Navigation
|
|
76
|
+
|
|
77
|
+
Parent: [Design Terminology](index.md).
|
|
78
|
+
Next: [Design Term Relations](relation-types.md).
|