Bone Flow #048 Table - Package-local Validation Report Package Version: 1.0.20 Runtime: BoneTable 1.0.11 Status: Development / Candidate Validated contracts: - showEmptyRows defaults true; OFF removes fully empty rows from rendered tbody - empty row detection ignores $cells renderer configuration; 0/false remain non-empty values - renderEmpty:true allows structural UI to render without a cell value - #054 uses renderEmpty:true so items=[] can still show timeline/grid lines without Bar/Shape Comment - voucher-style UI such as #029 can use the same renderEmpty contract to retain rulings with no numeric value - Development Order target: #048 Table / Display UI - UI/Page basis: #017 Text whole-page structure - HTML Functional Class: bf-table - Runtime identity: BoneTable 1.0.11 - Table values are never executed as raw HTML - columns[].cellElement and row.$cells[columnKey] select/override Cell Renderers - Target column + / - keeps Columns, Rows, and $cells aligned - cellElement.snapToCell defaults true - Registry aliases/collision guards/safe fallback retained - Selected UI Property Editor is generated from renderer Property Schema only - Selected UI Preview / Smoke / Validation / Completion UI is not embedded - Property Schema may be a static array or dynamic Provider function - Provider is re-evaluated when the Property Editor reads the renderer - Future UI can provide its own schema without adding per-UI Property branches to #048 - #054 renderer reads BoneDisplayTimeline.getPropertySchema() directly - #054 formal timeAxisMode is surfaced as 時間ラベル表示 - #054 formal timeAxisMode values all / group-first / none are surfaced exactly - #054 showLabels compatibility definition is preserved, not renamed to the time-axis mode - #054 Runtime 1.0.1 is cache-busted on the #048 test page - Legacy #054 props.options input remains accepted for backward compatibility; new Property Editor writes direct props - #049 Grid / #073 Pagination / #121 Timeline responsibility boundaries remain separate - No native input[type=color] introduced - INDEX has one #048 card, before #054, count 38 - Installer patches DOC-0048 / TOC-0048 and #048 cumulative rows/config only Executed QA: - Runtime Node: 36/36 PASS - Functional Class Node: 7/7 PASS - Package/Page/Installer Node: 66/66 PASS - Actual #054 Runtime-owned Schema integration: 7/7 PASS - Inline JavaScript syntax: 2/2 PASS - Duplicate HTML IDs: 73/73 unique - UTF-8/control scan: PASS - External network asset scan: PASS Focused Chromium post-layout test: NOT COMPLETED in this build environment; no Browser PASS is claimed. Not validated / not claimed: - Windows PowerShell Installer execution: NOT EXECUTED - User localhost Browser Smoke / Validation ALL PASS: NOT YET CONFIRMED - Completed / Specification Frozen: NOT CLAIMED - #054 cell layout regression: #048 does not override formal #054 minimum height. - #054 demo regression: default sample does not force compact barHeight 28. - v1.0.10: fixed #054 `timeAxisMode=group-first` inside Table by assigning sequential groupIndex values to #054 cells in the same column; explicit row-level $cells groupIndex remains authoritative. - v1.0.11: added post-layout `afterLayout()` processing for Cell Renderers. #054 performs its formal `render()` after the Table is attached, and width changes trigger a controlled rerender so Shape Comment placement is correct before any click. - v1.0.12 DOC correction: DOC-0048 JA/EN rebuilt as numbered sections 1-24; current Cell Element, Renderer Registry, selected UI Property, runtime-owned Schema, #054 group-first, afterLayout, resize, and future UI registration became formal guide chapters. DOC Registry version 1.0.12; Runtime BoneTable 1.0.6. - v1.0.13: added Table Property showEmptyRows (default true), structural Cell Renderer renderEmpty contract, #054 empty-items timeline/grid rendering, and generic support for voucher-style renderers such as #029 to keep rulings visible without a numeric value. - v1.0.14: added displayRowCount (0=automatic) and visible Property input 表示行数. When showEmptyRows is ON, Table pads missing rows to the minimum display row count without truncating real data; #054/#029 structural empty rendering remains active on padded rows. - v1.0.17 / Runtime 1.0.10: #020/#029 identities are Table-instance scoped; #029 voucher display finalizes in afterLayout; S21 uses #029 public API diagnostics; V02 checks static pre-Guide IDs plus #048-owned runtime DOM and reports duplicate names when present. - v1.0.18 / Runtime 1.0.11: #029 renderer now declares its formal #022 Hover Border Effect v1.0.10 dependency; the test page loads #022 before #029. #021 Shape port DOM IDs are namespaced per Table instance/row/column while preserving the original ID in data-bone-table-original-id, eliminating duplicate standard port IDs without modifying #021 Runtime. - v1.0.20 / Runtime 1.0.11: #017 reference restored for OUT WAIT / BLOCKED. Exactly three controls: WAIT / FIFO, BLOCKED, Reset. No independent READY/FIFO control. WAIT enters Target BUSY / waiting with A/B queued, then after the visible wait #002 setTargetReady(true) triggers automatic FIFO A -> B delivery. Smoke/Validation Overall is separate from manual visual confirmations; the Completion gate requires both visual confirmations.