{"id":31209651,"url":"https://github.com/battlecook/vscode-omni-viewer","last_synced_at":"2026-07-28T22:00:44.903Z","repository":{"id":311079917,"uuid":"1042035126","full_name":"battlecook/vscode-omni-viewer","owner":"battlecook","description":"A comprehensive audio, image, video, CSV, and JSONL viewer extension for VSCode and Cursor.","archived":false,"fork":false,"pushed_at":"2026-07-26T11:58:19.000Z","size":10559,"stargazers_count":25,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-07-26T12:17:30.697Z","etag":null,"topics":["audio-spectrogram","audio-visualizer","csv","cursor-extension","docs-viewer","extension","hwp","image","omni-viewer","open-vsx","parquet-viewer","pdf-editor","vscode-extension","xlsx"],"latest_commit_sha":null,"homepage":"https://open-vsx.org/extension/battlecook/omni-viewer","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/battlecook.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["battlecook"],"patreon":null,"open_collective":null,"ko_fi":"eyedealisty","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-08-21T11:39:49.000Z","updated_at":"2026-07-26T11:52:54.000Z","dependencies_parsed_at":"2025-09-07T07:13:27.010Z","dependency_job_id":"5d4a40ac-b13e-43ee-b597-60649372544f","html_url":"https://github.com/battlecook/vscode-omni-viewer","commit_stats":null,"previous_names":["battlecook/vscode-omni-viewer"],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/battlecook/vscode-omni-viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/battlecook%2Fvscode-omni-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/battlecook%2Fvscode-omni-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/battlecook%2Fvscode-omni-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/battlecook%2Fvscode-omni-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/battlecook","download_url":"https://codeload.github.com/battlecook/vscode-omni-viewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/battlecook%2Fvscode-omni-viewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36009144,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-28T02:00:06.341Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio-spectrogram","audio-visualizer","csv","cursor-extension","docs-viewer","extension","hwp","image","omni-viewer","open-vsx","parquet-viewer","pdf-editor","vscode-extension","xlsx"],"created_at":"2025-09-21T02:26:13.279Z","updated_at":"2026-07-28T22:00:44.897Z","avatar_url":"https://github.com/battlecook.png","language":"TypeScript","funding_links":["https://github.com/sponsors/battlecook","https://ko-fi.com/eyedealisty"],"categories":[],"sub_categories":[],"readme":"# VSCode Omni Viewer\n\nA comprehensive audio, image, PSD, video, CSV, DBC, ARXML, A2L, ASC, BLF, MF4, Avro, ROS bag, PCAP, PCAPNG, STEP, DB3, ReqIF, Excel, Word, PowerPoint, PDF, Parquet, HDF5, Safetensors, JSONL, Mermaid, PlantUML, and HWP viewer extension for VSCode and Cursor.\n\n[![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-red)](https://github.com/sponsors/battlecook)\n\n## 🎵 Audio Viewer Features\n\n![Audio Viewer Screenshot](https://eyedealisty-website.web.app/img/omniviewer/audio-screenshot.jpg)\n\n### Advanced Audio Player with WaveSurfer.js\n- **Waveform Visualization**: Real-time audio waveform display\n- **Spectrogram**: Frequency analysis with spectrogram view\n- **Region Selection**: Set start/end times for specific regions\n- **Loop Playback**: Repeat playback of selected regions\n- **Volume Control**: Real-time volume adjustment\n- **Playback Speed**: Multiple playback speed options\n- **Audio Information**: Duration, sample rate, channels, bit depth, file size, format display\n\n### Supported Audio Formats\n- MP3, WAV, PCM (raw s16le mono 16kHz), AIFF/AIF/AIFC, AMR/AWB, OGG, FLAC, AC3, AAC, M4A\n\nNote: playback still depends on the VS Code webview browser engine supporting the underlying codec.\n\n## 🖼️ Image Viewer Features\n\n![Image Viewer Screenshot](https://eyedealisty-website.web.app/img/omniviewer/image-screenshot.jpg)\n\n### Advanced Image Viewer\n- **Zoom Controls**: 10% ~ 500% zoom in/out\n- **Rotation**: 90-degree left/right rotation\n- **Flip**: Horizontal/vertical flip\n- **Fit to Screen**: Automatic screen size fitting\n- **Image Filters**: Brightness, contrast, saturation, grayscale adjustments\n- **Filter Presets**: Normal, Bright, Dark, Vintage, B\u0026W presets\n- **Save Functionality**: Save filtered images to workspace\n- **Keyboard Shortcuts**: Quick operation shortcuts\n- **Image Information**: Resolution, format, and file size information display\n\n### Supported Image Formats\n- JPG, JPEG, PNG, GIF, BMP, WebP, SVG\n\n## 🖼️ PSD Viewer Features\n\n### Adobe Photoshop (PSD) Viewer\n- **Layer Panel**: Tree view of layers and groups (folders) with indent by depth\n- **Per-Layer Visibility**: Eye button to show/hide each layer independently\n- **View Button**: Open a single layer in a modal for closer inspection\n- **Composite vs Layer-by-Layer**: When all layers are visible, the full composite is shown; when any layer is hidden, the canvas is redrawn from visible layers only (leaf layers; group merged canvases are skipped to keep visibility correct)\n- **Transparency**: Checkerboard background for transparent areas\n- **File Information**: File name, file size, and document dimensions (width × height px)\n- **Powered by**: [ag-psd](https://github.com/Agamnentzar/ag-psd) for PSD parsing and canvas output\n\n### Supported PSD Formats\n- PSD (Adobe Photoshop Document)\n\n## 🎬 Video Viewer Features\n\n![Video Viewer Screenshot](https://eyedealisty-website.web.app/img/omniviewer/video-screenshot.jpg)\n\n### Advanced Video Player\n- **Playback Controls**: Play/pause/stop\n- **Loop Regions**: Set start/end times and loop playback\n- **Playback Speed**: 0.25x ~ 4x playback speed control\n- **Skip Controls**: 10-second forward/backward skip\n- **Volume Control**: Real-time volume adjustment\n- **Keyboard Shortcuts**: Spacebar, arrow keys, etc.\n- **Video Information**: Resolution, duration, and file size display\n\n### Supported Video Formats\n- MP4, MPEG-TS (TS/MTS/M2TS), AVI, MOV, WMV, FLV, WebM, MKV\n\nNote: `.ts` files share an extension with TypeScript source files, so automatic viewer association may require using Open With instead of a default file binding.\n\n## 📊 CSV Viewer Features\n\n![CSV Viewer Screenshot](https://eyedealisty-website.web.app/img/omniviewer/csv-screenshot.jpg)\n\n### Advanced CSV Viewer\n- **Table Display**: Clean, sortable table view of CSV data\n- **Search \u0026 Filter**: Real-time search across all columns\n- **Column Sorting**: Click headers to sort by any column (numeric/text aware)\n- **Pagination**: Handle large datasets with page navigation\n- **Copy to Clipboard**: Copy filtered data to clipboard (tab-separated format)\n- **Statistics View**: Display detailed file and data statistics\n- **Keyboard Shortcuts**: Ctrl+F for search, Ctrl+C for copy\n- **File Information**: Row count, column count, and file size display\n- **Responsive Design**: Works on different screen sizes\n- **Delimiter Detection**: Automatically detects comma, semicolon, tab, and pipe-delimited text formats\n\n### Supported CSV Formats\n- CSV (Comma-Separated Values)\n- TSV (Tab-Separated Values)\n\n## 🚗 DBC Viewer Features\n\n### CAN Database Explorer\n- **Message Overview**: Browse CAN messages with ID, hexadecimal ID, DLC, transmitter, and signal count\n- **Signal Table**: Inspect start bit, bit length, byte order, signedness, scale, offset, range, unit, and receivers\n- **Search \u0026 Filter**: Search across messages/signals/comments and filter by CAN node\n- **Comments \u0026 Value Tables**: Shows `CM_` comments and `VAL_` enumerations when present\n- **Raw Source View**: Keep the original DBC text available beside the structured view\n\n### Supported DBC Formats\n- DBC (CAN database)\n\n## 🚘 Data Explorer Viewer Features\n\n### ARXML, A2L, ASC, BLF, MF4, Avro, BAG, PCAP, PCAPNG, STEP, DB3, and ReqIF Explorer\n- **ARXML Structure View**: Summarizes AUTOSAR packages, named CAN-related elements, and references\n- **A2L Block View**: Lists ASAP2 blocks and counts key sections such as `MEASUREMENT`, `CHARACTERISTIC`, and `IF_DATA`\n- **ASC Log Preview**: Parses Vector ASCII CAN/CAN FD events into a searchable table\n- **BLF Header Preview**: Detects Vector BLF `LOGG` files and shows binary header/hex preview\n- **MF4 Header Preview**: Detects ASAM MDF 4 files and summarizes known MDF block markers\n- **Avro Metadata Preview**: Reads Avro object container metadata, codec, schema preview, and header bytes\n- **ROS Bag Preview**: Detects ROS bag v2 files and summarizes record operation hints with a binary preview\n- **PCAP Preview**: Detects classic PCAP files and summarizes global headers, link type, timestamp resolution, and packet records\n- **PCAPNG Preview**: Detects PCAPNG section headers and summarizes sections, interfaces, packet blocks, and block sizes\n- **STEP Model Summary**: Extracts ISO 10303 header fields and top entity counts from `.stp`/`.step` CAD exchange files\n- **DB3 SQLite Preview**: Detects SQLite 3 databases, reads `sqlite_master`, lists schema entries, and previews rows from table b-tree pages\n- **ReqIF Summary**: Extracts ReqIF header metadata, specifications, spec objects, relations, datatypes, and spec types\n- **Search \u0026 Raw Preview**: Search across extracted tables and inspect the original text preview for text-based formats\n\n### Supported Data Explorer Formats\n- ARXML (AUTOSAR XML)\n- A2L (ASAM MCD-2 MC / ASAP2)\n- ASC (Vector ASCII CAN log)\n- BLF (Vector Binary Logging Format header preview)\n- MF4 (ASAM MDF 4 header and block marker preview)\n- AVRO (Apache Avro object container metadata preview)\n- BAG (ROS bag v2 header and record hint preview)\n- PCAP (classic packet capture global header and packet record preview)\n- PCAPNG (packet capture next-generation section and block preview)\n- STP/STEP (ISO 10303 STEP model summary)\n- DB3 (SQLite 3 database schema and row preview)\n- REQIF (Requirements Interchange Format summary)\n\n## 📊 Excel Viewer Features\n\n### Advanced Excel Viewer\n- **Multi-Sheet Support**: Switch between sheets via dropdown\n- **Table Display**: Clean table view of sheet data\n- **Search \u0026 Filter**: Real-time search across all columns\n- **Pagination**: Handle large datasets with page navigation\n- **Copy to Clipboard**: Copy filtered data (tab-separated)\n- **Copy as JSON**: Export current sheet data as JSON\n- **Raw View**: Toggle between table and raw JSON view\n- **File Information**: Sheet name, row count, column count, file size\n- **Keyboard Shortcuts**: Ctrl+F search, Ctrl+C copy\n\n### Supported Excel Formats\n- XLSX (Excel Workbook)\n- XLS (Excel 97-2003)\n\n## 📄 Word Viewer Features\n\n### Microsoft Word (DOCX) Viewer\n- **Document View**: Renders `.docx` with `docx-preview` for improved layout fidelity\n- **DOC Support**: Opens `.doc` via standalone legacy HTML fallback, with LibreOffice conversion fallback only when needed\n- **Native Legacy Rendering**: Preserves more `.doc` paragraph styling, table structure, and readable legacy text decoding\n- **Embedded Workbook Preview**: Shows extracted worksheet tables and simple SVG chart previews when legacy `.doc` files contain embedded workbook data\n- **Zoom Controls**: Zoom in/out and reset (Ctrl+/-, Ctrl+0)\n- **Print**: Print document (Ctrl+P)\n- **File Information**: File name and file size\n- **Powered by**: [docx-preview](https://github.com/VolodymyrBaydalka/docxjs) for DOCX rendering\n\n### Supported Word Formats\n- DOCX (Microsoft Word Document)\n- DOC (Microsoft Word 97-2003)\n\n## 📽️ PowerPoint Viewer Features\n\n### Microsoft PowerPoint (PPTX/PPT) Viewer\n- **Slide View**: Reads `.pptx` and legacy `.ppt` files and renders slide content in order\n- **Title + Bullet Extraction**: Displays slide title and bullet text content\n- **Legacy PPT Layout Recovery**: Preserves more title/body/subtitle placement, slide sizing, and discovered shape/image positioning for `.ppt`\n- **Packaged PDF.js Rendering**: Uses bundled `pdf.js` assets for environments where external CDN access is blocked\n- **Slide Jump**: Jump to any slide from a dropdown\n- **Zoom Controls**: Zoom in/out and reset (Ctrl+/-, Ctrl+0)\n- **File Information**: File name, file size, and slide count\n- **Powered by**: [JSZip](https://github.com/Stuk/jszip) for PPTX archive parsing\n\n### Supported PowerPoint Formats\n- PPT (Microsoft PowerPoint 97-2003)\n- PPTX (Microsoft PowerPoint Presentation)\n\n## 📑 PDF Editor Features\n\n### PDF View \u0026 Edit\n- **Page View**: Page-by-page rendering with thumbnail sidebar\n- **Zoom Controls**: Zoom in/out and reset\n- **Annotations**: Add text/signature, select, move, and delete annotations\n- **Password-Protected PDFs**: Open encrypted PDFs with an in-viewer password prompt\n- **Text Size Control**: Choose annotation font size when inserting text\n- **Page Editing**: Reorder pages (drag \u0026 drop) and delete pages\n- **Merge PDF**: Merge another PDF into the current document\n- **Save Flows**: Save and Save As with state synchronization after save\n\n### Supported PDF Formats\n- PDF\n\n## 🇰🇷 HWP Viewer Features\n\n### Hangul Word Processor (HWP) Viewer\n- **Document View**: Opens `.hwp` and `.hwpx` files directly inside Omni Viewer\n- **Integrated Routing**: Works with the same signature-based viewer detection flow used across the extension\n- **Powered by**: [rhwp](https://github.com/edwardkim/rhwp) (`@rhwp/core`) for upstream parsing and rendering\n- **Upstream-Friendly Integration**: Runtime assets are synced from `node_modules/@rhwp/core` via `npm run sync:rhwp`, so future rhwp updates can be adopted without forking its renderer\n\n### Supported HWP Formats\n- HWP, HWPX\n\n## 🧩 PlantUML Viewer Features\n\n### Browser-Based PlantUML Preview\n- **Serverless Rendering**: Renders PlantUML diagrams in the VS Code webview without a PlantUML server\n- **Diagram / Split / Source Views**: Switch between rendered preview, side-by-side source, and read-only source\n- **Zoom Controls**: Zoom in/out and reset\n- **Light / Dark Render Modes**: Toggle PlantUML output mode\n- **Copy Source**: Copy the original diagram text to clipboard\n- **File Information**: File name, file size, and line count\n- **Powered by**: [puml-canvas-js](https://github.com/battlecook/puml-canvas-js) for native JavaScript SVG rendering\n\n### Supported PlantUML Formats\n- PUML, PlantUML, IUML\n\n## 📄 JSONL Viewer Features\n\n![JSONL Viewer Screenshot](https://eyedealisty-website.web.app/img/omniviewer/jsonl-screenshot.jpg)\n\n### Interactive JSONL Editor\n- **Line-by-Line Editing**: Direct inline editing of JSON lines with syntax validation\n- **Hover Popup**: JSON popup display on line hover with formatted syntax highlighting\n- **Click-to-Edit Popup**: Click popup content to edit JSON directly in formatted view\n- **Real-time Validation**: Instant JSON validation with visual feedback (valid/invalid indicators)\n- **Data Synchronization**: Seamless sync between popup edits and original lines\n- **Syntax Highlighting**: Color-coded JSON syntax for better readability\n- **Error Handling**: Clear error messages for invalid JSON format\n\n### Supported JSONL Formats\n- JSONL (JSON Lines) - Each line contains a valid JSON object\n\n## 📊 Parquet Viewer Features\n\n![Parquet Viewer Screenshot](https://eyedealisty-website.web.app/img/omniviewer/parquet-screenshot.jpg)\n\n### Advanced Parquet Viewer\n- **Table Display**: Clean, table view of Parquet data\n- **Search \u0026 Filter**: Real-time search across all columns\n- **Column Sorting**: Click headers to sort by any column (numeric/text aware)\n- **Pagination**: Handle large datasets with page navigation\n- **Copy to Clipboard**: Copy filtered data to clipboard (tab-separated format)\n- **Keyboard Shortcuts**: Ctrl+F for search, Ctrl+C for copy\n- **File Information**: Row count, column count, and file size display\n- **Responsive Design**: Works on different screen sizes\n\n### Supported Parquet Formats\n- Parquet\n\n## 🧬 HDF5 Viewer Features\n\n### Hierarchical Data Format 5 (.h5, .hdf5, .he5)\n- **Structure Tree**: Walks the file hierarchy and lists every group and dataset path\n- **Dataset Details**: Shows each dataset's shape (dimensions) and datatype (e.g. Float64, Integer32)\n- **Superblock Summary**: Reports superblock version, offset/length sizes, and root group address\n- **Format Coverage**: Reads superblock versions 0–3, including classic symbol-table groups and version-2 object headers with compact links\n- **Header Preview**: Hex/ASCII dump of the file header for inspection\n\n## 🧠 Safetensors Viewer Features\n\n### Model Tensor Metadata (.safetensors)\n- **Tensor Inventory**: Lists tensor names, data types, shapes, parameter counts, and byte sizes\n- **Model Summary**: Shows total tensor and parameter counts, data types, metadata keys, and file size\n- **Metadata View**: Displays the optional Safetensors metadata map in a searchable table\n- **Validation Warnings**: Reports malformed headers, unsupported data types, and inconsistent tensor byte ranges\n- **Search and Export**: Filters tensor/metadata rows and copies the parsed model as JSON\n- **Efficient Large-File Access**: Reads only the Safetensors prefix and JSON header instead of loading tensor payloads\n- **Powered by**: `omni-viewer-core` 0.9.0 for random-access Safetensors parsing\n\n## 🧭 Smart File Detection\n\n- **Signature-Based Routing**: Detects common file signatures before opening and can reroute mislabeled files to the matching Omni Viewer\n- **Broader Format Sniffing**: Recognizes common PDF, image, audio, video, Parquet, Office, CSV-style, and JSONL content beyond filename extensions\n\n## 🚀 Installation and Usage\n\n### Install from Marketplace\n\n**Marketplaces:**\n\n- **[VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=battlecook.omni-viewer)** - Official VSCode Marketplace\n- **[Open VSX Registry](https://open-vsx.org/extension/battlecook/omni-viewer)** - Open Source VSX Registry\n\nIf you are using jetbrains ide, check out [this repository](https://github.com/battlecook/intellij-omni-viewer)\n\n## 🌐 Other Platforms\n\nOmni Viewer is also available on web and mobile platforms:\n\n- **Web**: [Web App](https://omni-viewer-web.web.app/)\n- **Android**: [Google Play](https://play.google.com/store/apps/details?id=com.eyedealisty.omniviewer)\n- **iOS**: [App Store](https://apps.apple.com/kr/app/omni-viewer-mobile/id6759875642)\n\n### Development Setup\n\n1. **Install Dependencies**\n   ```bash\n   npm install\n   ```\n\n2. **Compile TypeScript**\n   ```bash\n   npm run compile\n   ```\n\n3. **Package Extension**\n   ```bash\n   npm run vscode:prepublish\n   ```\n\n## Privacy \u0026 Data Use (Planned Share Feature)\n\nOmni Viewer does **not** currently enable this share upload flow in the released extension.  \nThe following policy describes the planned behavior for a future share feature release.\n\nOpen VSX listing privacy details: [open-vsx-listing-privacy.md](open-vsx-listing-privacy.md)\n\n- **What data will be uploaded**\n  - The file selected by the user for sharing (single file)\n  - File metadata such as filename, content type, file size, file type, and optional viewer metadata (for example selected region/range)\n  - Request source platform (for example `vscode`)\n- **Purpose**\n  - Create a temporary share link and allow limited-time download/view access\n- **Planned storage location**\n  - Temporary server-side processing\n  - Cloud storage for shared files\n  - Database storage for share metadata\n- **Planned retention / expiration**\n  - Default share link lifetime: **5 minutes**\n  - After expiration, share access will be denied (`410`)\n  - Expired objects/metadata may be removed by backend lifecycle jobs\n- **Planned access model**\n  - Upload endpoint will require authenticated client request (API key-based)\n  - Download endpoint will be link-based with non-guessable share IDs\n  - Optional maximum access-count policy may be applied per share\n\nPrivacy Policy: https://omni-viewer-web.web.app/privacy\n\n\n## 📝 License\n\nMIT License\n\n## 📞 Support\n\nIf you encounter any issues or have feature requests, please contact us through GitHub Issues.\n\n\n### Known Issues\n- Large file handling optimization needed\n\n## 📊 Performance Notes\n\n### File Size Limitations\n\n- **Audio/Video/Image Files**: \n  - Maximum file size limit: 50MB per file\n  - Recommended file size: \u003c 50MB for optimal performance\n  - Audio files are loaded as Base64 for WebView compatibility\n\n- **Text-based Files (CSV, JSONL, Parquet)**:\n  - Maximum file size limit: 500MB per file\n  - Recommended file size: \u003c 200MB for optimal performance\n  - Large files may take time to load initially\n  - Memory usage scales with file size\n\n### Parquet File Specific Limitations\n\n- **File Size Restrictions**:\n  - **Files ≥ 150MB**: Cannot be opened. Clear error message will be displayed.\n  - **Files 50MB - 150MB**: Only the first 10,000 rows are displayed with a warning message showing total row count.\n  - **Files \u003c 50MB**: All rows are displayed without any limitations.\n- **Row Limit**: For files between 50MB and 150MB, only the first 10,000 rows are loaded for display to prevent memory issues\n- **Memory Considerations**: \n  - Parquet files are converted to JSON format for display, which can significantly increase memory usage\n  - Large files may take time to load initially\n  - For best performance, keep files under 50MB for full data access\n\n### General Notes\n\n- Large files may take time to load initially\n- Memory usage scales with file size\n- For best performance, keep files under recommended sizes\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbattlecook%2Fvscode-omni-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbattlecook%2Fvscode-omni-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbattlecook%2Fvscode-omni-viewer/lists"}