@echelon-foundry/visual-engineering 1.0.0 → 1.0.1

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.
@@ -26,3 +26,19 @@ audiences:
26
26
  - Accessibility treated as a final audit
27
27
  - Visual novelty prioritized over recognition and verification
28
28
  - Research guidance applied without inspecting the product context
29
+
30
+ - Semantic state collapsed into a generic success, failure, loading, empty, or complete state when the product distinguishes consequential alternatives
31
+ - Presentation code independently recreates domain action legality instead of consuming the authoritative capability or legal-action model when one exists
32
+ - Scoped uncertainty or coverage flattened into a global completion percentage, pass/fail verdict, or status without a valid product aggregation rule
33
+ - Unknown external effect presented as definite failure with an unsafe blind retry path
34
+ - Previous render, screenshot, or cached presentation state treated as authority for a newer semantic state
35
+
36
+ - Arbitrary component-local animation durations or easing curves with no named interaction model
37
+ - Spring or bounce applied to every state change regardless of the phenomenon
38
+ - Decorative lag layered onto drag, resize, scrub, scroll, slider, or other direct manipulation
39
+ - Determinate progress that overshoots, bounces past, or visually outruns the authoritative value
40
+ - Infinite shimmer, spin, pulse, or other repeated motion with no reduced-motion substitution
41
+ - Animation speed, mass, bounce, or travel used to imply severity, priority, permission, confidence, or correctness
42
+ - View-transition morphs between elements that do not represent continuous identity
43
+ - Concurrent animations that overwrite the same transform/property and silently cancel one another
44
+ - Motion used as the only cue that state, activity, success, failure, selection, or validation changed
@@ -19,6 +19,13 @@ audiences:
19
19
  - Which relationships must remain visible?
20
20
  - What are the consequences of misunderstanding or error?
21
21
  - Which existing product and design-system constraints apply?
22
+ - What is authoritative for the state, uncertainty, completion, unresolved work, and legal actions this view presents?
23
+ - Which state distinctions change what the user may safely conclude or do?
24
+ - Which semantic scopes must remain distinct rather than being combined into one status?
25
+ - Which visual channels carry consequential meaning, and what happens if hue, iconography, border, position, motion, or another channel is unavailable?
26
+ - What is the Perceptual Failure Boundary for each important or critical semantic state?
27
+ - Is a proposed accessibility preset based on measured need, explicit user choice, or an unsupported assumption about a diagnosis?
28
+ - Does this task contain strong linguistic context, or is it low-context content such as an identifier, code, unfamiliar name, or critical value?
22
29
 
23
30
  ## During implementation
24
31
 
@@ -32,6 +39,14 @@ audiences:
32
39
  - Is native HTML being replaced without a demonstrated benefit?
33
40
  - Does responsive behavior preserve meaning and task priority?
34
41
  - Are loading, empty, error, success, and recovery states designed?
42
+ - Has an unknown, partial, stale, or unverifiable state been strengthened into a definite success, failure, empty, or complete state?
43
+ - Where authoritative capabilities or legal actions exist, do controls derive from them rather than recreate legality locally?
44
+ - Do summaries preserve the scope and uncertainty of the facts they aggregate?
45
+ - Is decision-relevant unresolved work visible enough that users do not have to infer it from missing controls or generic errors?
46
+ - Does consequential state remain identifiable without hue alone?
47
+ - If CVD simulation is used, is it treated as screening rather than proof?
48
+ - If presentation adapts to a user profile, are semantic meaning, legal actions, reading order, and programmatic state unchanged?
49
+ - Are user preference and measured performance being kept distinct when either is used to justify a design decision?
35
50
 
36
51
  ## Required verification
37
52
 
@@ -42,10 +57,68 @@ audiences:
42
57
  - Reduced motion
43
58
  - Forced colors or high contrast
44
59
  - Color-independent state recognition
60
+ - Grayscale plus protan, deutan, and tritan simulation as screening conditions where color carries categorization
61
+ - Text-spacing overrides where reading content is material
62
+ - Semantic channel dropout for consequential states: remove each declared visible channel independently and verify important and critical meaning survives
63
+ - Run the Visual Engineering robustness manifest when the repository defines important or critical semantic states
64
+ - Review the minimal failure sets and improve low-boundary states when practical
45
65
  - Long, missing, and extreme content
46
66
  - Screen-reader semantics for critical workflows
47
67
  - First-glance hierarchy inspection
48
68
  - Deliberate verification of consequential information
69
+ - Exercise at least one consequential non-happy semantic state and compare the rendered actions/status with the authoritative product state
70
+ - Where stale state can change meaning or legal action, verify that old presentation evidence is not treated as proof of the current state
71
+
72
+
73
+ ## Motion model selection
74
+
75
+ Before adding or reviewing motion:
76
+
77
+ - What does the motion communicate?
78
+ - What state or input is authoritative?
79
+ - Is the phenomenon inertial/spring, gravity-derived, constant-velocity/cadence, direct-manipulation/value tracking, or perceptual interpolation?
80
+ - Is overshoot physically and semantically safe?
81
+ - Can the user interrupt or rapidly repeat the interaction without stale queued motion?
82
+ - Does direct manipulation track the pointer, scroll position, or authoritative value without decorative lag?
83
+ - Can determinate progress ever visually exceed the authoritative value?
84
+ - Does repeated activity stop when the activity stops?
85
+ - Is a new duration/easing inherited from the shared model, or is there a documented reason for a new one?
86
+ - What is the model-specific reduced-motion substitution?
87
+ - Is the interface still correct when progressive animation support is unavailable?
88
+
89
+ During verification:
90
+
91
+ - Exercise rapid repeated activation and interruption.
92
+ - Verify final visual state equals actual semantic state.
93
+ - Verify focus movement/restoration does not wait on decoration.
94
+ - Verify pointer drag/resize/scrub does not lag.
95
+ - Verify determinate progress remains bounded.
96
+ - Verify indeterminate cadence does not imply false progress.
97
+ - Verify reduced motion removes spatial/repeated effects without losing state or feedback.
98
+ - Verify simultaneous effects do not clobber one another.
99
+ - Verify animation is not the only carrier of consequential meaning.
100
+
101
+ ## Application polish gate
102
+
103
+ - Have applicable polish dimensions been identified?
104
+ - Have reachable non-happy states been exercised rather than inferred?
105
+ - Have high-risk state and environment seams been tested?
106
+ - Have pathological content and boundary fixtures been used?
107
+ - Does persistence presentation tell the truth about local, pending, persisted, failed and conflicting state?
108
+ - Are untested environments and states recorded as unknown rather than passed?
109
+ - Is there evidence behind a zero-finding review?
110
+ - Have recurring defect classes been pushed upstream into shared components, rules or fixtures where appropriate?
111
+
112
+ ## Application polish gate
113
+
114
+ - Have applicable polish dimensions been identified?
115
+ - Have reachable non-happy states been exercised rather than inferred?
116
+ - Have high-risk state and environment seams been tested?
117
+ - Have pathological content and boundary fixtures been used?
118
+ - Does persistence presentation tell the truth about local, pending, persisted, failed and conflicting state?
119
+ - Are untested environments and states recorded as unknown rather than passed?
120
+ - Is there evidence behind a zero-finding review?
121
+ - Have recurring defect classes been pushed upstream into shared components, rules or fixtures where appropriate?
49
122
 
50
123
  ## Agent handoff
51
124
 
@@ -56,3 +129,5 @@ Report:
56
129
  - Verification performed
57
130
  - Material deviations and rationale
58
131
  - Unresolved evidence or product questions
132
+ - Material semantic-projection assumptions, including the authoritative state source when it is not obvious
133
+ - Perceptual robustness manifest result, failure boundaries, and any accepted low-boundary states
@@ -52,8 +52,12 @@ Visual quality is not decoration applied after structure. Architecture, content
52
52
  ## Typography and reading
53
53
 
54
54
  - Typography must expose hierarchy, grouping, sequence, and status.
55
- - Optimize measure, line height, weight, and spacing for the actual content and reading task.
56
- - Preserve user control over text size and reflow.
55
+ - Optimize measure, line height, weight, width, spacing, and size for the actual content and reading task.
56
+ - Distinguish high-context prose from low-context identifiers, codes, names, labels, and safety-critical values. Low-context content has less linguistic error correction and may require stronger glyph distinction.
57
+ - Preserve user control over text size, spacing, reflow, and browser or OS text preferences.
58
+ - Do not assume that a font marketed for dyslexia is generally superior. Current evidence does not support a universal dyslexia-font benefit.
59
+ - When a population is heterogeneous, prefer measuring the relevant bottleneck or offering direct controls over assigning a visual preset from a diagnosis.
60
+ - Treat user preference and measured reading performance as separate evidence.
57
61
  - Do not depend on font size alone to establish hierarchy.
58
62
  - Avoid low-contrast secondary text that becomes functionally invisible.
59
63
  - Use labels and language that reflect the user's domain, not implementation terminology.
@@ -61,10 +65,13 @@ Visual quality is not decoration applied after structure. Architecture, content
61
65
  ## Color
62
66
 
63
67
  - Treat color as relational and context-dependent; evaluate colors in their actual surroundings.
64
- - Use perceptually meaningful color spaces and measurable contrast where implementation permits.
68
+ - Use task-appropriate color spaces and measurable contrast, but do not treat color-distance metrics as proof of accessibility.
69
+ - Treat WCAG contrast requirements as mandatory conformance floors, not universal human-performance thresholds.
65
70
  - Never use color as the only carrier of state, urgency, selection, or error.
71
+ - Design consequential states for semantic channel survivability: meaning should survive loss of hue or another nonessential visual channel.
72
+ - Use CVD simulation and grayscale as fault-injection screens, not as substitutes for affected-user validation.
66
73
  - Reserve high chromatic or luminance contrast for information that earns attention.
67
- - Validate light, dark, forced-color, and color-vision conditions.
74
+ - Validate light, dark, forced-color, color-vision, low-brightness, and relevant glare conditions.
68
75
  - Distinguish semantic color roles from raw palette values.
69
76
 
70
77
  ## Wayfinding and interaction
@@ -76,14 +83,51 @@ Visual quality is not decoration applied after structure. Architecture, content
76
83
  - Do not hide critical actions behind unfamiliar gestures or unexplained icons.
77
84
  - Ensure keyboard order, reading order, focus order, and visual order tell the same story.
78
85
 
86
+
87
+ ## Motion and temporal behavior
88
+
89
+ - Choose the animation model from the phenomenon before choosing duration or easing.
90
+ - Use inertial/spring response for perceived objects settling after activation or release.
91
+ - Use gravity-derived timing only for an intentionally modeled directional cue; mass does not change gravity-derived timing.
92
+ - Use constant-velocity/cadence motion for repeated activity such as spinners or skeleton shimmer.
93
+ - Use direct-manipulation/value tracking when pointer, scroll, native control value, or application value is authoritative. Do not add decorative lag or overshoot.
94
+ - Use perceptual interpolation for opacity, color, backdrop, and other non-spatial state changes rather than inventing fake mechanical behavior.
95
+ - Semantic state changes immediately. Motion represents state and never authorizes it.
96
+ - Determinate progress never overshoots the authoritative value.
97
+ - Press and selection motion must not move the hit target or queue stale responses.
98
+ - Repeated motion stops when the represented activity stops.
99
+ - Equivalent phenomena should use equivalent motion unless a documented context difference justifies otherwise.
100
+ - New component-local durations and easing curves require an explicit reason. Arbitrary `200ms ease` is not a design rationale.
101
+ - Reduced motion is model-aware: remove spatial travel, bounce, repeated motion, and decorative compression while preserving direct mappings, final state, focus, feedback, and activity semantics.
102
+ - Progressive animation features must fail back to a correct static interface.
103
+
104
+ ## Semantic projection
105
+
106
+ A UI is often a purpose-specific projection of richer product state. Treat that projection as a semantic boundary, not only a visual transformation.
107
+
108
+ - Identify what is authoritative for the state, uncertainty, completion, unresolved work, and legal actions shown on the screen.
109
+ - Do not communicate stronger certainty, success, completeness, or authority than the source state supports. Loading is not empty; unknown is not failed; partial is not complete; unverifiable is not pass.
110
+ - Preserve domain alternatives when they differ in legal next action, authority, uncertainty, reconciliation, recovery, completion meaning, or another material user conclusion.
111
+ - Preserve scope. A fact that is complete for one dimension does not imply completeness for another.
112
+ - Where the product exposes legal actions or capabilities, derive available UI actions from that authority rather than re-implementing legality in presentation code.
113
+ - Keep decision-relevant unresolved work perceptible. Do not make users infer reconciliation, pending review, stale state, or partial coverage from generic errors or missing controls.
114
+ - Do not invent aggregate percentages, pass/fail verdicts, or global completion states unless the product defines a valid aggregation rule.
115
+ - Preserve the purpose of the projection. A task-focused view need not expose every domain fact, but it must not imply that omitted state does not exist.
116
+
117
+ These constraints preserve meaning, not visual form. Visual Engineering still determines hierarchy, grouping, density, wording, interaction pattern, responsive composition, and aesthetic expression.
118
+
79
119
  ## Accessibility and human factors
80
120
 
81
121
  - Begin with semantic HTML and native behavior.
82
122
  - Components own intrinsic behavior; products still own meaningful labels, page hierarchy, instructions, and contextual correctness.
83
- - Support keyboard navigation, visible focus, zoom, text scaling, reduced motion, forced colors, and assistive technology.
123
+ - Support keyboard navigation, visible focus, zoom, text scaling, text-spacing overrides, reduced motion, forced colors, and assistive technology.
124
+ - Use strong accessible defaults before introducing personalization.
125
+ - Apply **mechanism before mode**: a disability label may guide research or recruitment, but do not assume it identifies the active visual bottleneck or the correct presentation.
126
+ - Preserve user choice. Adaptive presentation must be inspectable, reversible, and unable to change semantic meaning or legal actions.
84
127
  - Treat error prevention and recovery as part of the information architecture.
85
128
  - In high-consequence contexts, prioritize unambiguous identification and verification over visual novelty.
86
129
  - Test with realistic stress, interruption, density, and degraded-display conditions when those conditions are plausible.
130
+ - Separate standards conformance, preference, comfort, and task performance. Passing one does not prove the others.
87
131
 
88
132
  ## Responsive behavior
89
133
 
@@ -102,6 +146,31 @@ Visual quality is not decoration applied after structure. Architecture, content
102
146
  - Separate source tokens, semantic tokens, theme mappings, and component consumption.
103
147
  - Validate components in real consumer contexts rather than assuming framework interoperability.
104
148
 
149
+ ## Perceptual robustness operating assumptions
150
+
151
+ Visual Engineering currently treats Perceptual Envelope, Semantic Channel
152
+ Survivability, and Perceptual Failure Boundary as **provisional engineering
153
+ defaults**. They are sufficiently supported to guide architecture and
154
+ implementation even where complete human validation is unavailable.
155
+
156
+ - Do not block implementation waiting for perfect experimental certainty.
157
+ - Keep the assumptions explicit, versioned, reversible, and testable.
158
+ - Important and critical semantic states should survive loss of any single
159
+ declared visible channel.
160
+ - Critical states should retain an explicit text or icon cue and programmatic
161
+ semantics.
162
+ - Treat the smallest channel-loss combination that breaks meaning as the
163
+ Perceptual Failure Boundary.
164
+ - Prefer designs with a larger failure boundary when other task requirements are
165
+ equivalent.
166
+ - Use repository-specific evidence to override these defaults when that evidence
167
+ is stronger, and record the reason.
168
+ - Never describe the channel model as a simulation of a disability or as proof
169
+ of individual human performance.
170
+
171
+ Repositories may encode these assumptions in a Visual Engineering robustness
172
+ manifest and evaluate them with the `robustness` CLI command.
173
+
105
174
  ## Evidence-sensitive decision making
106
175
 
107
176
  - Distinguish established guidance, supported hypotheses, working theory, and unresolved research.
@@ -1,37 +1,41 @@
1
1
  {
2
2
  "schemaVersion": "1.0",
3
- "contextVersion": "1.0.0",
3
+ "contextVersion": "1.0.1",
4
4
  "sourceRepository": "https://github.com/kemiller2002/Visual-Engineering",
5
- "sourceCommit": "0be73c83d8c257794d53cb9ddc9a6db69f843fbf",
6
- "generatedAt": "2026-09-17T20:09:11.210Z",
5
+ "sourceCommit": "b648cdef291d39c443ccb10215529ad69afe8b32",
6
+ "generatedAt": "2026-10-06T15:52:16.005Z",
7
7
  "researchCatalogVersion": "1.1",
8
- "researchDocuments": 97,
8
+ "researchDocuments": 112,
9
9
  "profile": "ui-foundations",
10
10
  "classification": "public",
11
11
  "artifacts": [
12
12
  {
13
13
  "file": "AGENT-INSTRUCTIONS.md",
14
- "sha256": "6122eeb1a6fcc17b86043c0bd34c2a1474796c1953956428e4d3118b46aa9e28"
14
+ "sha256": "3736636964f88644de0a5c9c255dfd88d4275f254ee179166203579e823d4d2e"
15
15
  },
16
16
  {
17
17
  "file": "UI-FOUNDATIONS.md",
18
- "sha256": "0f5d4e0259038b6b8d76e3acdb937ec7b1cc099d374f45ca1ba2fdb1350252c0"
18
+ "sha256": "7dee7189eedd9448f9fc7816bdc22fa41e32bd1ac465c880df0754faa30a8b73"
19
19
  },
20
20
  {
21
21
  "file": "UI-DECISION-CHECKLIST.md",
22
- "sha256": "a4c66988885e89363af756a84dae6aa2731efea0024be6bfdaa2247085ad1e99"
22
+ "sha256": "47bcb1191362e43ebbd8064bde87015186dbe47c1a72bfbadfd2e0a3a611b629"
23
23
  },
24
24
  {
25
25
  "file": "UI-ANTI-PATTERNS.md",
26
- "sha256": "4698844792e274a40d9086c998b8b9b77a01ac9006fd0590a2688d6de9fdda49"
26
+ "sha256": "6066b2faca907eb0afde78b9840020186901d782880fbad23bb41599e88bafc1"
27
+ },
28
+ {
29
+ "file": "APPLICATION-POLISH.md",
30
+ "sha256": "94da532ba5f54617e269525a2b7188b9bf2ba531f96fa9e8c88023a08a38cf51"
27
31
  },
28
32
  {
29
33
  "file": "RESEARCH-INDEX.md",
30
- "sha256": "b09cd82ad563c28188ebf731fda2b362de8c1144b6c31e1a509fab25ded52db6"
34
+ "sha256": "1e1f7f9ebdf7ae99de1b81b18837a6d5ce2497617dc2a7a21e61d5be9badfb22"
31
35
  },
32
36
  {
33
37
  "file": "sources.json",
34
- "sha256": "cfb3c9544ab0c9ce5f8dc225002b94eccd6de0fd8875069d4daa7def1be54be5"
38
+ "sha256": "07b5fef9d83664e5c8aa6d00e7d20db146798e8db3b2175f97eb4c863526897c"
35
39
  }
36
40
  ]
37
41
  }