캐드 지원 추가

This commit is contained in:
ysj7705 committed 2026-07-21 18:23:50 +09:00
1 parent c1ceec3fb1
commit e18eab7a64
27 files changed
+2787 -89

No files matched your search

@@ -0,0 +1,53 @@
import { cp, mkdir, writeFile } from 'node:fs/promises';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
const frontendDir = path.resolve(
path.dirname(fileURLToPath(import.meta.url)),
'..',
);
const rootDir = path.resolve(frontendDir, '../..');
const nodeModules = path.join(rootDir, 'node_modules');
const publicDir = path.join(frontendDir, 'public');
const assets = [
[
'@mlightcad/cad-simple-viewer/dist/dxf-parser-worker.js',
'assets/dxf-parser-worker.js',
],
[
'@mlightcad/cad-simple-viewer/dist/libredwg-parser-worker.js',
'assets/libredwg-parser-worker.js',
],
[
'@mlightcad/cad-simple-viewer/dist/mtext-renderer-worker.js',
'assets/mtext-renderer-worker.js',
],
[
'occt-import-js/dist/occt-import-js.wasm',
'viewer-assets/wasm/occt-import-js.wasm',
],
['web-ifc/web-ifc.wasm', 'viewer-assets/wasm/web-ifc.wasm'],
];
await Promise.all(
assets.map(async ([source, destination]) => {
const output = path.join(publicDir, destination);
await mkdir(path.dirname(output), { recursive: true });
await cp(path.join(nodeModules, source), output);
}),
);
const resources = path.join(publicDir, 'viewer-assets', 'cad-resources');
await mkdir(path.join(resources, 'fonts'), { recursive: true });
await mkdir(path.join(resources, 'templates'), { recursive: true });
await writeFile(path.join(resources, 'fonts.json'), '[]\n');
await writeFile(
path.join(resources, 'README.txt'),
[
'Optional CAD fonts and templates can be placed here.',
'Only files with redistribution rights should be added.',
'The read-only viewer does not require a drawing template.',
'',
].join('\n'),
);