Skip to content
SmooSense LogoSmooSense
DemosDocsBlogsStart

RenderType

User Guide
InstallConfigurationS3/Folder BrowserDatabase BrowserTable ViewerExploratory Data AnalysisEmbeddingVisualization
Deep Dive
AuthenticationRenderType

RenderType

SmooSense automatically infers and renders data in the most appropriate format for each column. This intelligent rendering system examines your data and chooses the best visualization, making tables intuitive and rich without any configuration.

1. How RenderType Works#

🔗inferColumnRenderType() @ useRenderType.ts

When you load a table, SmooSense fetches ColumnMeta for each column and infers the most suitable RenderType. This inference happens automatically based on:

  1. ColumnMeta - Type shortcuts (isBoolean, isNumeric, isDatetime, isPrimitive, isNumericArray) and DuckDB type
  2. Content patterns - URLs are identified and classified by file extension or domain
  3. Column naming conventions - Special column names like bbox or image_mask trigger specialized renderers

2. Supported RenderTypes#

2.1 Basic Types#

TypeDescriptionCriteria
TextPlain text displayDefault for strings that don't match other patterns
NumberNumeric valuesAll values are numbers or numeric strings
BooleanTrue/false displayAll values are boolean
DateDate formattingMatches common date patterns (YYYY-MM-DD, ISO dates, etc.)
NullEmpty stateColumn contains only null/undefined values

2.2 Media Types#

SmooSense renders media directly in table cells, providing instant visual context.

TypeDescriptionCriteria
ImageUrlInline image previewURLs ending in .jpg, .png, .gif, .webp, etc.
VideoUrlVideo playerURLs ending in .mp4, .webm, .mov, or YouTube/Vimeo links
AudioUrlAudio player with Mel-spectrogramURLs ending in .mp3, .wav, .ogg, .flac, etc.
PdfUrlPDF previewURLs ending in .pdf

Supported image formats: jpg, jpeg, png, gif, bmp, svg, webp, tiff, tif, ico, heic, heif

Supported video formats: mp4, avi, mov, wmv, flv, webm, mkv, m4v, 3gp, ogv

Supported audio formats: mp3, wav, ogg, flac, m4a, aac, wma, opus

2.3 List Types#

Arrays of media URLs are rendered as scrollable galleries within cells.

TypeDescriptionCriteria
ImageListMultiple image thumbnailsArray where all elements are image URLs
VideoListMultiple video previewsArray where all elements are video URLs
AudioListMultiple audio playersArray where all elements are audio URLs

2.4 Structured Data Types#

TypeDescriptionCriteria
JsonInteractive JSON viewerObjects or arrays (excluding media lists)
HyperLinkClickable linkURLs that don't match specific media types
IFrameEmbedded contentURLs prefixed with iframe+http:// or iframe+https://

2.5 Embedding#

Array of float or double having the same length will be inferred as embedding. Similarity search will be triggered when an embedding cell is clicked.

2.6 Specialized Types#

These types handle domain-specific data formats.

TypeDescriptionCriteria
BboxBounding box overlayColumn name contains bbox and values are 4-element number arrays
ImageMaskSegmentation mask overlayColumn name contains image_mask and values are image URLs
WordScoresToken-level score visualizationColumn name contains word_score
HuggingFaceMediaHugging Face dataset mediaHugging Face-specific media format

3. Inferring Logic#

3.1 URL Classification#

When a string is identified as a URL, SmooSense classifies it based on:

  1. File extension - The extension in the URL path determines the media type
  2. Domain patterns - youtube.com, youtu.be, and vimeo.com are treated as video URLs
  3. IFrame prefix - URLs prefixed with iframe+http:// or iframe+https:// are rendered in iframes

3.2 Date Inference#

SmooSense recognizes these date formats:

  • YYYY-MM-DD (e.g., 2024-01-15)
  • ISO 8601 with time (e.g., 2024-01-15T10:30:00)
  • MM/DD/YYYY or M/D/YYYY (e.g., 01/15/2024)
  • MM-DD-YYYY or M-D-YYYY (e.g., 01-15-2024)

3.3 Column Name Conventions#

Certain column names trigger specialized rendering:

  • *bbox* - Enables bounding box visualization when values are [x, y, width, height] arrays
  • *image_mask* - Enables mask overlay on an associated image_url column
  • *word_score* - Enables word-level score visualization

4. Media URL Resolution#

SmooSense automatically resolves media URLs to make them viewable in the browser. This allows you to use relative paths, local file paths, and S3 URLs directly in your data.

4.1 Supported URL Formats#

FormatExampleResolution
Relative Path./images/photo.jpgResolved relative to the table file location
Absolute Path/home/user/image.pngProxied through backend API
Home Path~/Documents/file.wavProxied through backend API
S3 URLs3://bucket/file.wavProxied through backend S3 proxy
HTTP/HTTPS URLhttps://cdn.example.com/image.jpgUsed directly (no modification)

Resolution Examples:

  • Relative path with local table:

    • Input: ./images/photo.jpg with tablePath /data/file.csv
    • Output: /api/get-file?path=/data/images/photo.jpg
  • Relative path with S3 table:

    • Input: ./images/photo.jpg with tablePath s3://bucket/data/file.csv
    • Output: /api/s3-proxy?url=s3://bucket/data/images/photo.jpg
  • Relative path with HTTP table:

    • Input: ./images/photo.jpg with tablePath https://example.com/data/file.csv
    • Output: https://example.com/data/images/photo.jpg

4.2 Serving media assets in backend#

4.2.1 File Serving Endpoint

URL: /api/get-file

Serves local files (relative paths, absolute paths, home paths). Accepts path parameter with file location.

4.2.2 S3 Proxy Endpoint

URL: /api/s3-proxy

Proxies S3 URLs and redirects to a signed URL with temporary one-time credential contained. Accepts url parameter with full S3 URL (e.g., s3://bucket/path/to/file).

4.3 When URLs Are Resolved#

A URL is resolved only when all of these conditions are met:

  1. The value is a string
  2. It starts with ./, /, ~/, or s3://
  3. It has a media file extension (image, video, audio, or PDF)

HTTP/HTTPS URLs are used directly without modification.

5. Performance Considerations#

  • Media content is loaded lazily as cells scroll into view
  • Embeddings numbers are not displayed since they make no sense to human anyway.
  • Large JSON objects are collapsed by default with expandable views
  • List types show limited previews with "show more" functionality
SmooSense Logo

10x easier to analyze your multimodal data

Copyright © 2025 SmooSense

Contact