Commit 117a76a
committed
feat: Column H — EntityTypeId on BindSpace (Phase 1, D-H1..H4)
Foundry Vertex "Object Type" equivalent. Per-row entity type binding
in the BindSpace SoA, enabling type-filtered queries without schema
re-parsing.
D-H1: `EntityTypeId = u16` + `entity_type_id(ontology, name) -> u16`
in contract::ontology. 1-based index into Ontology.schemas. 0 = untyped.
D-H2: `entity_type: Box<[u16]>` field on BindSpace SoA.
+2 bytes/row (71774 → 71776 footprint for 1 row).
D-H3: `BindSpaceBuilder::push_typed()` writes entity_type per row.
`push()` defaults to 0 (untyped) for backward compat.
D-H4: 4 tests (entity_type defaults to 0, set/get, builder push_typed,
contract entity_type_id 1-based lookup). All pass.
Phase 1 complete per bindspace-columns-v1.md §5.
Unblocks: LF-22 ObjectView usage, LF-40 type-filtered search.
https://claude.ai/code/session_01SbYsmmbPf9YQuYbHZN52Zh1 parent b3df078 commit 117a76a
2 files changed
Lines changed: 95 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
147 | 150 | | |
148 | 151 | | |
149 | 152 | | |
| |||
157 | 160 | | |
158 | 161 | | |
159 | 162 | | |
| 163 | + | |
160 | 164 | | |
161 | 165 | | |
162 | 166 | | |
| |||
169 | 173 | | |
170 | 174 | | |
171 | 175 | | |
172 | | - | |
| 176 | + | |
| 177 | + | |
173 | 178 | | |
174 | 179 | | |
175 | 180 | | |
| |||
220 | 225 | | |
221 | 226 | | |
222 | 227 | | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
223 | 242 | | |
224 | 243 | | |
225 | 244 | | |
| |||
228 | 247 | | |
229 | 248 | | |
230 | 249 | | |
| 250 | + | |
231 | 251 | | |
232 | 252 | | |
233 | 253 | | |
| |||
254 | 274 | | |
255 | 275 | | |
256 | 276 | | |
257 | | - | |
258 | | - | |
259 | | - | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
260 | 280 | | |
261 | 281 | | |
262 | 282 | | |
| |||
298 | 318 | | |
299 | 319 | | |
300 | 320 | | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
301 | 352 | | |
302 | 353 | | |
303 | 354 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
24 | 45 | | |
25 | 46 | | |
26 | 47 | | |
| |||
371 | 392 | | |
372 | 393 | | |
373 | 394 | | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
374 | 414 | | |
0 commit comments