@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.
- package/README.md +25 -28
- package/dist/config-files.js +63 -0
- package/dist/context-analysis/claude-native-canonical.js +2 -2
- package/dist/context-analysis/vendored-canonical.js +2 -2
- package/dist/context-analysis/workspace-report.js +3 -3
- package/dist/hud/hooks.js +43 -31
- package/dist/index.js +5 -8
- package/dist/local-jsonl.js +87 -0
- package/dist/migrate.js +6 -4
- package/dist/onboarding-stats.js +16 -0
- package/dist/save-checkpoint-hook.js +1 -1
- package/dist/setup-page/client-core.js +18 -372
- package/dist/setup-page/client-extraction.js +19 -134
- package/dist/setup-page/client-lifecycle.js +31 -101
- package/dist/setup-page/client.js +0 -2
- package/dist/setup-page/styles-extraction.js +1 -31
- package/dist/setup-page/styles-foundation.js +0 -89
- package/dist/setup-page/styles-mvp.js +10 -155
- package/dist/setup-page/styles-website-alignment.js +0 -204
- package/dist/setup-page/styles.js +0 -4
- package/dist/setup-page.js +4 -4
- package/dist/setup-preview.js +4 -212
- package/dist/setup.js +378 -668
- package/dist/v1-contract.js +0 -8
- package/package.json +9 -7
- package/dist/city/README.md +0 -9
- package/dist/city/echo-ai-city-only.html +0 -2232
- package/dist/city/echo-extraction-plate.html +0 -330
- package/dist/city/echo-face-cutout.png +0 -0
- package/dist/city/personality_stickers/bossy.png +0 -0
- package/dist/city/personality_stickers/ghosty.png +0 -0
- package/dist/city/personality_stickers/loopy.png +0 -0
- package/dist/city/personality_stickers/lusty.png +0 -0
- package/dist/city/personality_stickers/maxxy.png +0 -0
- package/dist/city/personality_stickers/tabby.png +0 -0
- package/dist/city/vendor/OrbitControls.js +0 -1417
- package/dist/city/vendor/RoundedBoxGeometry.js +0 -155
- package/dist/city/vendor/echo_general-file-21.riv +0 -0
- package/dist/city/vendor/rive.js +0 -8139
- package/dist/city/vendor/rive.wasm +0 -0
- package/dist/city/vendor/three.module.min.js +0 -6
- package/dist/forensics.js +0 -1531
- package/dist/report.js +0 -721
- package/dist/setup-page/client-report-audit.js +0 -819
- package/dist/setup-page/client-report-city.js +0 -356
- package/dist/setup-page/client-report.js +0 -6
- package/dist/setup-page/styles-city-report.js +0 -880
- 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 };
|
|
Binary file
|