@echomem/mcp 1.4.42 → 1.4.44

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 (48) hide show
  1. package/README.md +25 -28
  2. package/dist/config-files.js +63 -0
  3. package/dist/context-analysis/claude-native-canonical.js +2 -2
  4. package/dist/context-analysis/vendored-canonical.js +2 -2
  5. package/dist/context-analysis/workspace-report.js +3 -3
  6. package/dist/hud/hooks.js +43 -31
  7. package/dist/index.js +5 -8
  8. package/dist/local-jsonl.js +87 -0
  9. package/dist/migrate.js +6 -4
  10. package/dist/onboarding-stats.js +16 -0
  11. package/dist/save-checkpoint-hook.js +1 -1
  12. package/dist/setup-page/client-core.js +18 -372
  13. package/dist/setup-page/client-extraction.js +19 -134
  14. package/dist/setup-page/client-lifecycle.js +31 -101
  15. package/dist/setup-page/client.js +0 -2
  16. package/dist/setup-page/styles-extraction.js +1 -31
  17. package/dist/setup-page/styles-foundation.js +0 -89
  18. package/dist/setup-page/styles-mvp.js +10 -155
  19. package/dist/setup-page/styles-website-alignment.js +0 -204
  20. package/dist/setup-page/styles.js +0 -4
  21. package/dist/setup-page.js +4 -4
  22. package/dist/setup-preview.js +4 -212
  23. package/dist/setup.js +378 -668
  24. package/dist/v1-contract.js +0 -8
  25. package/package.json +9 -7
  26. package/dist/city/README.md +0 -9
  27. package/dist/city/echo-ai-city-only.html +0 -2232
  28. package/dist/city/echo-extraction-plate.html +0 -330
  29. package/dist/city/echo-face-cutout.png +0 -0
  30. package/dist/city/personality_stickers/bossy.png +0 -0
  31. package/dist/city/personality_stickers/ghosty.png +0 -0
  32. package/dist/city/personality_stickers/loopy.png +0 -0
  33. package/dist/city/personality_stickers/lusty.png +0 -0
  34. package/dist/city/personality_stickers/maxxy.png +0 -0
  35. package/dist/city/personality_stickers/tabby.png +0 -0
  36. package/dist/city/vendor/OrbitControls.js +0 -1417
  37. package/dist/city/vendor/RoundedBoxGeometry.js +0 -155
  38. package/dist/city/vendor/echo_general-file-21.riv +0 -0
  39. package/dist/city/vendor/rive.js +0 -8139
  40. package/dist/city/vendor/rive.wasm +0 -0
  41. package/dist/city/vendor/three.module.min.js +0 -6
  42. package/dist/forensics.js +0 -1531
  43. package/dist/report.js +0 -721
  44. package/dist/setup-page/client-report-audit.js +0 -819
  45. package/dist/setup-page/client-report-city.js +0 -356
  46. package/dist/setup-page/client-report.js +0 -6
  47. package/dist/setup-page/styles-city-report.js +0 -880
  48. package/dist/setup-page/styles-context-audit.js +0 -470
@@ -1,155 +0,0 @@
1
- import {
2
- BoxGeometry,
3
- Vector3
4
- } from 'three';
5
-
6
- const _tempNormal = new Vector3();
7
-
8
- function getUv( faceDirVector, normal, uvAxis, projectionAxis, radius, sideLength ) {
9
-
10
- const totArcLength = 2 * Math.PI * radius / 4;
11
-
12
- // length of the planes between the arcs on each axis
13
- const centerLength = Math.max( sideLength - 2 * radius, 0 );
14
- const halfArc = Math.PI / 4;
15
-
16
- // Get the vector projected onto the Y plane
17
- _tempNormal.copy( normal );
18
- _tempNormal[ projectionAxis ] = 0;
19
- _tempNormal.normalize();
20
-
21
- // total amount of UV space alloted to a single arc
22
- const arcUvRatio = 0.5 * totArcLength / ( totArcLength + centerLength );
23
-
24
- // the distance along one arc the point is at
25
- const arcAngleRatio = 1.0 - ( _tempNormal.angleTo( faceDirVector ) / halfArc );
26
-
27
- if ( Math.sign( _tempNormal[ uvAxis ] ) === 1 ) {
28
-
29
- return arcAngleRatio * arcUvRatio;
30
-
31
- } else {
32
-
33
- // total amount of UV space alloted to the plane between the arcs
34
- const lenUv = centerLength / ( totArcLength + centerLength );
35
- return lenUv + arcUvRatio + arcUvRatio * ( 1.0 - arcAngleRatio );
36
-
37
- }
38
-
39
- }
40
-
41
- class RoundedBoxGeometry extends BoxGeometry {
42
-
43
- constructor( width = 1, height = 1, depth = 1, segments = 2, radius = 0.1 ) {
44
-
45
- // ensure segments is odd so we have a plane connecting the rounded corners
46
- segments = segments * 2 + 1;
47
-
48
- // ensure radius isn't bigger than shortest side
49
- radius = Math.min( width / 2, height / 2, depth / 2, radius );
50
-
51
- super( 1, 1, 1, segments, segments, segments );
52
-
53
- // if we just have one segment we're the same as a regular box
54
- if ( segments === 1 ) return;
55
-
56
- const geometry2 = this.toNonIndexed();
57
-
58
- this.index = null;
59
- this.attributes.position = geometry2.attributes.position;
60
- this.attributes.normal = geometry2.attributes.normal;
61
- this.attributes.uv = geometry2.attributes.uv;
62
-
63
- //
64
-
65
- const position = new Vector3();
66
- const normal = new Vector3();
67
-
68
- const box = new Vector3( width, height, depth ).divideScalar( 2 ).subScalar( radius );
69
-
70
- const positions = this.attributes.position.array;
71
- const normals = this.attributes.normal.array;
72
- const uvs = this.attributes.uv.array;
73
-
74
- const faceTris = positions.length / 6;
75
- const faceDirVector = new Vector3();
76
- const halfSegmentSize = 0.5 / segments;
77
-
78
- for ( let i = 0, j = 0; i < positions.length; i += 3, j += 2 ) {
79
-
80
- position.fromArray( positions, i );
81
- normal.copy( position );
82
- normal.x -= Math.sign( normal.x ) * halfSegmentSize;
83
- normal.y -= Math.sign( normal.y ) * halfSegmentSize;
84
- normal.z -= Math.sign( normal.z ) * halfSegmentSize;
85
- normal.normalize();
86
-
87
- positions[ i + 0 ] = box.x * Math.sign( position.x ) + normal.x * radius;
88
- positions[ i + 1 ] = box.y * Math.sign( position.y ) + normal.y * radius;
89
- positions[ i + 2 ] = box.z * Math.sign( position.z ) + normal.z * radius;
90
-
91
- normals[ i + 0 ] = normal.x;
92
- normals[ i + 1 ] = normal.y;
93
- normals[ i + 2 ] = normal.z;
94
-
95
- const side = Math.floor( i / faceTris );
96
-
97
- switch ( side ) {
98
-
99
- case 0: // right
100
-
101
- // generate UVs along Z then Y
102
- faceDirVector.set( 1, 0, 0 );
103
- uvs[ j + 0 ] = getUv( faceDirVector, normal, 'z', 'y', radius, depth );
104
- uvs[ j + 1 ] = 1.0 - getUv( faceDirVector, normal, 'y', 'z', radius, height );
105
- break;
106
-
107
- case 1: // left
108
-
109
- // generate UVs along Z then Y
110
- faceDirVector.set( - 1, 0, 0 );
111
- uvs[ j + 0 ] = 1.0 - getUv( faceDirVector, normal, 'z', 'y', radius, depth );
112
- uvs[ j + 1 ] = 1.0 - getUv( faceDirVector, normal, 'y', 'z', radius, height );
113
- break;
114
-
115
- case 2: // top
116
-
117
- // generate UVs along X then Z
118
- faceDirVector.set( 0, 1, 0 );
119
- uvs[ j + 0 ] = 1.0 - getUv( faceDirVector, normal, 'x', 'z', radius, width );
120
- uvs[ j + 1 ] = getUv( faceDirVector, normal, 'z', 'x', radius, depth );
121
- break;
122
-
123
- case 3: // bottom
124
-
125
- // generate UVs along X then Z
126
- faceDirVector.set( 0, - 1, 0 );
127
- uvs[ j + 0 ] = 1.0 - getUv( faceDirVector, normal, 'x', 'z', radius, width );
128
- uvs[ j + 1 ] = 1.0 - getUv( faceDirVector, normal, 'z', 'x', radius, depth );
129
- break;
130
-
131
- case 4: // front
132
-
133
- // generate UVs along X then Y
134
- faceDirVector.set( 0, 0, 1 );
135
- uvs[ j + 0 ] = 1.0 - getUv( faceDirVector, normal, 'x', 'y', radius, width );
136
- uvs[ j + 1 ] = 1.0 - getUv( faceDirVector, normal, 'y', 'x', radius, height );
137
- break;
138
-
139
- case 5: // back
140
-
141
- // generate UVs along X then Y
142
- faceDirVector.set( 0, 0, - 1 );
143
- uvs[ j + 0 ] = getUv( faceDirVector, normal, 'x', 'y', radius, width );
144
- uvs[ j + 1 ] = 1.0 - getUv( faceDirVector, normal, 'y', 'x', radius, height );
145
- break;
146
-
147
- }
148
-
149
- }
150
-
151
- }
152
-
153
- }
154
-
155
- export { RoundedBoxGeometry };