canonrs-server 0.1.0

CanonRS server-side rendering support
id: virtual_list
label: Virtual List
family: family-f-data
category: Display
intent: Efficiently render large lists
description: Virtualized list for large datasets
composable: false
capabilities: VirtualScroll
required_parts: []
optional_parts: []
tags: ["virtual-list", "virtualization", "performance", "large-volume"]
keywords: 
pain: Large lists render all items causing performance degradation
promise: List virtualization enforced structurally for large datasets
why: |
  VirtualListPrimitive encodes list structure and item indexing. Viewport and content separation enable virtualization logic. This guarantees scalable rendering.
rules: ["CR-001", "CR-004"]
use_cases: ["logs", "large datasets"]
related: ["table", "data_table", "empty_table", "tree", "list_item"]
file: virtual_list_ui.css
tokens: virtual-list-*, size-*, space-*, table-*
foundation: spacing, size
states: []
island: virtual_list_boundary.rs
pillar: data
badges: ["SSR Safe", "Hydration Safe", "Token Driven", "Deterministic API", "Zero Drift", "Island Architecture"]
before: |
  // ❌ Typical
  view! {
    <ul>
      {items.map(|i| view! { <li>{i}</li> })}
    </ul>
  }
after: |
  // ✅ CanonRS
  view! {
    <VirtualList items_count=1000 item_height=40.0>
      "Item"
    </VirtualList>
  }
boundary_type: interaction
ix_group: ix_data
block: []
blocks_primitives: [container]