@echomem/mcp 1.4.47 → 1.4.49

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