open-index/open-npm huggingface dataset:
npm package: @mlightcad/svg-renderer
Description: This package implements the SVG-based rendering engine for MLightCAD. It converts DWG/DXF entities into SVG graphics for SVG exporting. For now, this module isn't fullly implemented yet.
Latest version: 0.0.1

# svg-renderer

This package implements the SVG-based rendering engine for MLightCAD. It converts DWG/DXF entities into SVG graphics for SVG exporting. For now, this module isn't fullly implemented yet.

## Key Features
- Renders CAD entities as SVG elements
- Supports layers, colors, and visibility
- Designed for integration with the main application and document manager

## Directory Structure (partial)
- `src/AcSvgEntity.ts` – Base class for SVG entities
- `src/AcSvgRenderer.ts` – Main SVG renderer implementation
- `src/` – Entity-specific renderers (lines, arcs, ellipses, etc.)

## Usage
Import and use `AcSvgRenderer` from `src/AcSvgRenderer.ts` to render entities to SVG.

## Role in MLightCAD
This package provides the SVG rendering backend for the main application, enabling scalable 2D graphics output.
npm package: @mlightcad/three-renderer
Description: This package implements the **high-performance** THREE.js-based rendering engine for MLightCAD. It renders DWG/DXF entities as interactive 2D/3D graphics using advanced THREE.js optimization techniques to deliver exceptional performance for large CAD file
Latest version: 1.0.0

# three-renderer

This package implements the **high-performance** THREE.js-based rendering engine for MLightCAD. It renders DWG/DXF entities as interactive 2D/3D graphics using advanced THREE.js optimization techniques to deliver exceptional performance for large CAD files.

## Key Features
- **High-performance** rendering of CAD entities as THREE.js objects with 60+ FPS
- Advanced batch rendering for optimal GPU utilization
- Custom GPU-accelerated shaders for complex line types and hatch patterns
- Efficient geometry batching and material caching
- Optimized 2D and 3D views, layers, and styles
- Memory-efficient rendering for large CAD files

## Performance Optimizations

The THREE.js renderer employs cutting-edge rendering technologies for exceptional performance:

- **Custom Shader Materials**: GPU-accelerated shaders for complex line types and hatch fill patterns
- **Geometry Batching**: Merges points, lines, and areas with the same material to dramatically reduce draw calls
- **Instanced Rendering**: Optimizes rendering of repeated geometries through instancing techniques
- **Buffer Geometry Optimization**: Efficient memory management and geometry merging for reduced GPU overhead
- **Material Caching**: Reuses materials across similar entities to minimize state changes
- **WebGL Optimization**: Leverages modern WebGL features for hardware-accelerated rendering

## Directory Structure (partial)
- `src/AcTrRenderer.ts` – Main high-performance THREE.js renderer
- `src/batch/` – Advanced batched geometry and group rendering optimizations
- `src/geometry/` – Optimized geometry helpers (arrows, points, etc.)
- `src/object/` – Efficient THREE.js object wrappers for CAD entities
- `src/style/` – High-performance style and shader management
- `src/viewport/` – Optimized view and camera management
- `src/util/` – Performance-focused utility functions

## Usage
Import and use `AcTrRenderer` from `src/AcTrRenderer.ts` to render entities using optimized THREE.js rendering with exceptional performance.

## Role in MLightCAD
This package provides the **high-performance** 2D/3D rendering backend for the main application, enabling smooth interactive graphics and advanced visualization for large CAD files.
npm package: @mlink/datatables.net
Description: DataTables for jQuery 
Author: SpryMedia Ltd
Latest version: 1.10.16

# DataTables for jQuery 

This package contains distribution files for the [DataTables library](https://datatables.net) for [jQuery](http://jquery.com/). Only the core software for this library is contained in this package - to be correctly styled, a styling package for DataTables must also be included. Styling options include DataTable's native styling, [Bootstrap](http://getbootstrap.com) and [Foundation](http://foundation.zurb.com/).

DataTables is a table enhancing library which adds features such as paging, ordering, search, scrolling and many more to a static HTML page. A comprehensive API is also available that can be used to manipulate the table. Please refer to the [DataTables web-site](//datatables.net) for a full range of documentation and examples.


## Installation

### Browser

For inclusion of this library using a standard `<script>` tag, rather than using this package, it is recommended that you use the [DataTables download builder](//datatables.net/download) which can create CDN or locally hosted packages for you, will all dependencies satisfied.

### npm

```
npm install datatables.net
```

```
var $ = require( 'jquery' );
require( 'datatables.net' )( window, $ );
```

### bower

```
bower install --save datatables.net
```



## Documentation

Full documentation of the DataTables options, API and plug-in interface are available on the DOCS_LINK. The site also contains information on the wide variety of plug-ins that are available for DataTables, which can be used to enhance and customise your table even further.


## Bug / Support

Support for DataTables is available through the [DataTables forums](//datatables.net/forums) and [commercial support options](//datatables.net/support) are available.


### Contributing

If you are thinking of contributing code to DataTables, first of all, thank you! All fixes, patches and enhancements to DataTables are very warmly welcomed. This repository is a distribution repo, so patches and issues sent to this repo will not be accepted. Instead, please direct pull requests to the [DataTables/DataTablesSrc](http://github.com/DataTables/DataTablesSrc). For issues / bugs, please direct your questions to the [DataTables forums](//datatables.net/forums).


## License

This software is released under the [MIT license](//datatables.net/license). You are free to use, modify and distribute this software, but all copyright information must remain.
npm package: @mlink/datatables.net-scroller
Description: Virtual scrolling plug-in for DataTables
Author: datatables
Latest version: 2.1.4

# Scroller

Scroller is a virtual rendering plug-in for DataTables which allows large datasets to be drawn on screen every quickly. What the virtual rendering means is that only the visible portion of the table (and a bit to either side to make the scrolling smooth) is drawn, while the scrolling container gives the visual impression that the whole table is visible. This is done by making use of the pagination abilities of DataTables and moving the table around in the scrolling container DataTables adds to the page. The scrolling container is forced to the height it would be for the full table display using an extra element.

Key features include:

* Speed! The aim of Scroller for DataTables is to make rendering large data sets fast
* Full compatibility with DataTables' deferred rendering for maximum speed
* Integration with state saving in DataTables (scrolling position is saved)
* Support for scrolling with millions of rows
* Easy to use


# Installation

To use Scroller the primary way to obtain the software is to use the [DataTables downloader](//datatables.net/download). You can also include the individual files from the [DataTables CDN](//cdn.datatables.net). See the [documentation](http://datatables.net/extensions/scroller/) for full details.

## NPM and Bower

If you prefer to use a package manager such as NPM or Bower, distribution repositories are available with software built from this repository under the name `datatables.net-scroller`. Styling packages for Bootstrap, Foundation and other styling libraries are also available by adding a suffix to the package name.

Please see the DataTables [NPM](//datatables.net/download/npm) and [Bower](//datatables.net/download/bower) installation pages for further information. The [DataTables installation manual](//datatables.net/manual/installation) also has details on how to use package managers with DataTables.


# Basic usage

Scroller is initialised using the `scroller` option in the DataTables constructor - a simple boolean `true` will enable the feature. Further options can be specified using this option as an object - see the documentation for details.

```js
$(document).ready( function () {
	$('#example').DataTable( {
		scroller: true,
		scrollY: 600
	} );
} );
```

Note that rows in the table must all be the same height. Information in a cell which expands on to multiple lines will cause some odd behaviour in the scrolling. Additionally, the table's `cellspacing` parameter must be set to 0, again to ensure the information display is correct.


# Documentation / support

* [Documentation](https://datatables.net/extensions/scroller/)
* [DataTables support forums](http://datatables.net/forums)


# GitHub

If you fancy getting involved with the development of Scroller and help make it better, please refer to its [GitHub repo](https://github.com/DataTables/Scroller)
npm package: @mlinquan/china-area
Description: [![npm version](https://badge.fury.io/js/@mlinquan/china-area.svg)](https://badge.fury.io/js/@mlinquan/china-area) [![Gzip Size](http://img.badgesize.io/https://unpkg.com/@mlinquan/china-area@latest/areaData.js?compression=gzip&style=flat-square)](https:/
Author: LinQuan
Latest version: 0.0.23