tfrere HF Staff commited on
Commit
3f9c62b
·
1 Parent(s): c7c94aa

add embedings concept

Browse files
public/data/typography_data.json CHANGED
The diff for this file is too large to render. See raw diff
 
src/components/FontMap/FontMap.js CHANGED
@@ -157,27 +157,27 @@ const FontMap = ({ darkMode = false }) => {
157
  <div className={`fontmap-container ${darkMode ? 'dark-mode' : ''}`}>
158
  {/* Sidebar */}
159
  <div className="sidebar">
160
- <div className="sidebar-header">
161
- <div className="search-section">
162
- <SearchBar
163
- searchTerm={searchTerm}
164
- onSearchChange={handleSearchChange}
165
- darkMode={darkMode}
166
- big={true}
167
- filteredCount={filteredCount}
168
- totalCount={filterOnlyCount}
169
- filter={filter}
170
- />
171
-
172
- <FilterControls
173
- fonts={fonts}
174
- filter={filter}
175
- onFilterChange={handleFilterChange}
176
- />
177
- </div>
178
- </div>
179
-
180
  <div className="sidebar-content">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
181
  <ActiveFont
182
  selectedFont={selectedFont}
183
  fonts={fonts}
 
157
  <div className={`fontmap-container ${darkMode ? 'dark-mode' : ''}`}>
158
  {/* Sidebar */}
159
  <div className="sidebar">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
  <div className="sidebar-content">
161
+ <div className="sidebar-header">
162
+ <div className="search-section">
163
+ <SearchBar
164
+ searchTerm={searchTerm}
165
+ onSearchChange={handleSearchChange}
166
+ darkMode={darkMode}
167
+ big={true}
168
+ filteredCount={filteredCount}
169
+ totalCount={filterOnlyCount}
170
+ filter={filter}
171
+ />
172
+
173
+ <FilterControls
174
+ fonts={fonts}
175
+ filter={filter}
176
+ onFilterChange={handleFilterChange}
177
+ />
178
+ </div>
179
+ </div>
180
+
181
  <ActiveFont
182
  selectedFont={selectedFont}
183
  fonts={fonts}
src/components/FontMap/components/AboutModal.js CHANGED
@@ -61,18 +61,18 @@ const AboutModal = ({ onClose, darkMode }) => {
61
  <div className="step-content">
62
  <div className="step-header">
63
  <span className="step-number">2</span>
64
- <strong>Vectorization</strong>
65
  </div>
66
  <p className="step-description">Bitmaps are converted into <strong>1600-dimensional feature vectors</strong> representing pixel intensities</p>
67
  </div>
68
  <div className="step-example">
69
  <div className="mini-matrix">
70
- <div className="mini-row">0,0,<strong>1,1</strong>,0,0</div>
71
- <div className="mini-row">0,<strong>1,1,1,1</strong>,0</div>
72
- <div className="mini-row"><strong>1,1</strong>,0,0,<strong>1,1</strong></div>
73
- <div className="mini-row"><strong>1,1,1,1,1,1</strong></div>
74
- <div className="mini-row"><strong>1,1</strong>,0,0,<strong>1,1</strong></div>
75
- <div className="mini-row"><strong>1,1</strong>,0,0,<strong>1,1</strong></div>
76
  </div>
77
  </div>
78
  </div>
 
61
  <div className="step-content">
62
  <div className="step-header">
63
  <span className="step-number">2</span>
64
+ <strong>Feature Extraction</strong>
65
  </div>
66
  <p className="step-description">Bitmaps are converted into <strong>1600-dimensional feature vectors</strong> representing pixel intensities</p>
67
  </div>
68
  <div className="step-example">
69
  <div className="mini-matrix">
70
+ <div className="mini-row"><span className="zero-value">0.0</span>,<span className="zero-value">0.0</span>,<strong>0.1,0.1</strong>,<span className="zero-value">0.0</span>,<span className="zero-value">0.0</span></div>
71
+ <div className="mini-row"><span className="zero-value">0.0</span>,<strong>0.1,0.1,0.1,0.1</strong>,<span className="zero-value">0.0</span></div>
72
+ <div className="mini-row"><strong>0.1,0.1</strong>,<span className="zero-value">0.0</span>,<span className="zero-value">0.0</span>,<strong>0.1,0.1</strong></div>
73
+ <div className="mini-row"><strong>0.1,0.1,0.1,0.1,0.1,0.1</strong></div>
74
+ <div className="mini-row"><strong>0.1,0.1</strong>,<span className="zero-value">0.0</span>,<span className="zero-value">0.0</span>,<strong>0.1,0.1</strong></div>
75
+ <div className="mini-row"><strong>0.1,0.1</strong>,<span className="zero-value">0.0</span>,<span className="zero-value">0.0</span>,<strong>0.1,0.1</strong></div>
76
  </div>
77
  </div>
78
  </div>
src/components/FontMap/styles/about-modal.css CHANGED
@@ -257,6 +257,10 @@
257
  margin-bottom: 1px;
258
  }
259
 
 
 
 
 
260
  /* Vector Preview */
261
  .vector-preview {
262
  font-family: 'Courier New', monospace;
 
257
  margin-bottom: 1px;
258
  }
259
 
260
+ .zero-value {
261
+ opacity: .5;
262
+ }
263
+
264
  /* Vector Preview */
265
  .vector-preview {
266
  font-family: 'Courier New', monospace;
src/components/FontMap/styles/font-details.css CHANGED
@@ -3,12 +3,10 @@
3
  flex: 1;
4
  display: flex;
5
  flex-direction: column;
6
- overflow: hidden;
7
  }
8
 
9
 
10
  .font-details-placeholder {
11
- flex: 1;
12
  display: flex;
13
  flex-direction: column;
14
  align-items: center;
@@ -141,10 +139,10 @@
141
 
142
  .font-details-content {
143
  flex: 1;
144
- overflow-y: auto;
145
  display: flex;
146
  flex-direction: column;
147
  gap: var(--spacing-lg);
 
148
  }
149
 
150
  .font-preview {
@@ -834,9 +832,10 @@
834
  display: flex;
835
  align-items: center;
836
  justify-content: center;
837
- width: 20px;
838
  height: 48px;
839
- margin-right: calc(var(--spacing-sm) / 2);
 
840
  }
841
 
842
  .similar-font-glyph .font-glyph-small {
 
3
  flex: 1;
4
  display: flex;
5
  flex-direction: column;
 
6
  }
7
 
8
 
9
  .font-details-placeholder {
 
10
  display: flex;
11
  flex-direction: column;
12
  align-items: center;
 
139
 
140
  .font-details-content {
141
  flex: 1;
 
142
  display: flex;
143
  flex-direction: column;
144
  gap: var(--spacing-lg);
145
+ padding: 0 var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);
146
  }
147
 
148
  .font-preview {
 
832
  display: flex;
833
  align-items: center;
834
  justify-content: center;
835
+ width: 48px;
836
  height: 48px;
837
+ margin-right: -8px;
838
+ margin-left: -12px;
839
  }
840
 
841
  .similar-font-glyph .font-glyph-small {
src/components/FontMap/styles/layout.css CHANGED
@@ -169,12 +169,24 @@
169
  flex: 1;
170
  overflow-y: auto;
171
  overflow-x: hidden;
172
- padding: var(--spacing-lg);
173
  display: flex;
174
  flex-direction: column;
175
- gap: var(--spacing-lg);
176
  min-height: 0;
177
- max-height: calc(100vh - 200px);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  }
179
 
180
  /* Sidebar Footer */
 
169
  flex: 1;
170
  overflow-y: auto;
171
  overflow-x: hidden;
 
172
  display: flex;
173
  flex-direction: column;
 
174
  min-height: 0;
175
+ }
176
+
177
+ .sidebar-content .sidebar-header {
178
+ padding: var(--spacing-lg);
179
+ display: flex;
180
+ flex-direction: column;
181
+ gap: var(--spacing-md);
182
+ flex-shrink: 0;
183
+ min-height: fit-content;
184
+ border-bottom: 1px solid var(--color-border-primary);
185
+ margin-bottom: var(--spacing-lg);
186
+ }
187
+
188
+ .dark-mode .sidebar-content .sidebar-header {
189
+ border-bottom-color: var(--color-border-primary-dark);
190
  }
191
 
192
  /* Sidebar Footer */