@echomem/mcp 1.4.46 → 1.4.48

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 (46) hide show
  1. package/README.md +22 -26
  2. package/dist/context-analysis/claude-native-canonical.js +2 -2
  3. package/dist/context-analysis/vendored-canonical.js +2 -2
  4. package/dist/context-analysis/workspace-report.js +3 -3
  5. package/dist/index.js +5 -8
  6. package/dist/local-jsonl.js +87 -0
  7. package/dist/migrate.js +6 -4
  8. package/dist/onboarding-stats.js +16 -0
  9. package/dist/save-checkpoint-hook.js +1 -1
  10. package/dist/setup-page/client-core.js +18 -372
  11. package/dist/setup-page/client-extraction.js +14 -129
  12. package/dist/setup-page/client-lifecycle.js +28 -101
  13. package/dist/setup-page/client.js +0 -2
  14. package/dist/setup-page/styles-extraction.js +1 -31
  15. package/dist/setup-page/styles-foundation.js +0 -89
  16. package/dist/setup-page/styles-mvp.js +10 -155
  17. package/dist/setup-page/styles-website-alignment.js +0 -204
  18. package/dist/setup-page/styles.js +0 -4
  19. package/dist/setup-page.js +4 -4
  20. package/dist/setup-preview.js +4 -212
  21. package/dist/setup.js +167 -622
  22. package/dist/v1-contract.js +0 -8
  23. package/package.json +5 -7
  24. package/dist/city/README.md +0 -9
  25. package/dist/city/echo-ai-city-only.html +0 -2232
  26. package/dist/city/echo-extraction-plate.html +0 -330
  27. package/dist/city/echo-face-cutout.png +0 -0
  28. package/dist/city/personality_stickers/bossy.png +0 -0
  29. package/dist/city/personality_stickers/ghosty.png +0 -0
  30. package/dist/city/personality_stickers/loopy.png +0 -0
  31. package/dist/city/personality_stickers/lusty.png +0 -0
  32. package/dist/city/personality_stickers/maxxy.png +0 -0
  33. package/dist/city/personality_stickers/tabby.png +0 -0
  34. package/dist/city/vendor/OrbitControls.js +0 -1417
  35. package/dist/city/vendor/RoundedBoxGeometry.js +0 -155
  36. package/dist/city/vendor/echo_general-file-21.riv +0 -0
  37. package/dist/city/vendor/rive.js +0 -8139
  38. package/dist/city/vendor/rive.wasm +0 -0
  39. package/dist/city/vendor/three.module.min.js +0 -6
  40. package/dist/forensics.js +0 -1531
  41. package/dist/report.js +0 -721
  42. package/dist/setup-page/client-report-audit.js +0 -819
  43. package/dist/setup-page/client-report-city.js +0 -356
  44. package/dist/setup-page/client-report.js +0 -6
  45. package/dist/setup-page/styles-city-report.js +0 -880
  46. 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 };