444 lines
2.4 MiB
JavaScript
Raw Normal View History

2026-08-18 16:06:28 +08:00
 'use strict';
var FRAME_BLADE_STL_BASE64 = {
jia: {
left: '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
inner: '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
right: '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
},
yi: {
left: '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
inner: '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
right: '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
},
bing: {
left: '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
inner: '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
right: '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
}
};
var COMMON_ANGLES = [-84, -70, -56, -42, -28, -14, 0, 14, 28, 42, 56, 70, 84];
var SUPPORTED_BLADE_COUNTS = Object.freeze([5, 6, 7, 8, 9, 10, 11, 12, 13]);
var BLADE_ANGLE_STEP = 14;
var FAN_VARIANTS = {
jia: {
key: 'jia',
name: '大型甲',
seal: '甲',
shape: '圆弧扇头',
metric: '242 × 410',
xMin: -218,
xMax: 25,
yMin: -207,
yMax: 207,
baseZ: 0.05,
rMin: 65.45,
rMax: 215.105,
margin: 0,
edgeOverlap: 0.32,
tipOverlap: 0.22,
headArc: {
centerRadius: 190,
radius: 25.114938,
startRadius: 199.803977
},
rootTipRadius: 64.954,
rootMinRadius: 61.983,
rootInnerUpper: [[64.173, 3.438], [61.983, 6.2]],
angles: COMMON_ANGLES,
profile: [[61.983, 6.2], [96.438, 10.431], [130.894, 14.661], [165.349, 18.892], [199.803977, 23.12233], [203.068294, 21.447139], [206.053701, 19.314212], [208.69648, 16.769071], [210.940229, 13.866035], [212.73706, 10.667062], [214.048624, 7.240427], [214.84693, 3.659262], [215.114938, 0]],
outline: [[-64.173, 3.438], [-61.983, 6.2], [-96.438, 10.431], [-130.894, 14.661], [-165.349, 18.892], [-199.804, 23.122], [-210.94, 13.866], [-215.115, 0], [-210.94, -13.866], [-199.804, -23.122], [-165.349, -18.892], [-130.894, -14.661], [-96.438, -10.431], [-61.983, -6.2], [-64.173, -3.438], [-64.954, 0]]
},
yi: {
key: 'yi',
name: '大型乙',
seal: '乙',
shape: '折线圆头',
metric: '232 × 387',
xMin: -207,
xMax: 25,
yMin: -195,
yMax: 195,
baseZ: 0.05,
rMin: 69.2,
rMax: 203.85,
margin: 0,
rootTipRadius: 68.704,
rootMinRadius: 63.55,
rootInnerUpper: [[66.563, 3.223], [65.299, 5.038], [63.55, 6.392]],
angles: COMMON_ANGLES,
profile: [[63.55, 6.392], [177.497, 20.383], [183.817, 20.179], [189.774, 18.061], [194.806, 14.232], [198.433, 9.053], [201.091, 4.356], [204.276, 0]],
outline: [[-66.563, 3.223], [-65.299, 5.038], [-63.55, 6.392], [-177.497, 20.383], [-183.817, 20.179], [-189.774, 18.061], [-194.806, 14.232], [-198.433, 9.053], [-201.091, 4.356], [-204.276, 0], [-201.091, -4.356], [-198.433, -9.053], [-194.806, -14.232], [-189.774, -18.061], [-183.817, -20.179], [-177.497, -20.383], [-63.55, -6.392], [-65.299, -5.038], [-66.563, -3.223], [-68.704, 0]]
},
bing: {
key: 'bing',
name: '大型丙',
seal: '丙',
shape: '花瓣尖头',
metric: '235 × 383',
xMin: -205,
xMax: 31,
yMin: -193,
yMax: 193,
baseZ: 0.05,
rMin: 69.15,
rMax: 202.05,
margin: 0,
rootTipRadius: 68.656,
rootMinRadius: 61.5,
rootInnerUpper: [[63.968, 3.787], [61.5, 6.141]],
angles: COMMON_ANGLES,
profile: [[61.5, 6.141], [171.586, 19.658], [177.15, 19.553], [182.464, 17.905], [187.111, 14.844], [190.723, 10.611], [193.089, 7.386], [195.869, 4.508], [199.01, 2.031], [202.457, 0]],
outline: [[-63.968, 3.787], [-61.5, 6.141], [-171.586, 19.658], [-177.15, 19.553], [-182.464, 17.905], [-187.111, 14.844], [-190.723, 10.611], [-193.089, 7.386], [-195.869, 4.508], [-199.01, 2.031], [-202.457, 0], [-199.01, -2.031], [-195.869, -4.508], [-193.089, -7.386], [-190.723, -10.611], [-187.111, -14.844], [-182.464, -17.905], [-177.15, -19.553], [-171.586, -19.658], [-61.5, -6.141], [-63.968, -3.787], [-68.656, 0]]
}
};
var FAN = FAN_VARIANTS.yi;
var DETAIL = {
draft: {
radial: 72,
across: 14,
label: '快速预览'
},
standard: {
radial: 144,
across: 28,
label: '标准打印'
},
fine: {
radial: 240,
across: 48,
label: '高精度打印'
},
ultra: {
radial: 320,
across: 64,
label: '极致精度'
},
reference: {
radial: 512,
across: 96,
label: '参考作品级'
}
};
var TEXT_FONTS = Object.freeze({
modern: {
label: '现代黑体',
family: '"Microsoft YaHei UI", "Microsoft YaHei", sans-serif',
weight: 700
},
song: {
label: '雅宋',
family: '"STSong", "SimSun", "Songti SC", serif',
weight: 700
},
kai: {
label: '楷书',
family: '"STKaiti", "KaiTi", "Kaiti SC", serif',
weight: 700
},
xingkai: {
label: '行楷',
family: '"STXingkai", "KaiTi", "Kaiti SC", serif',
weight: 700
},
lishu: {
label: '隶书',
family: '"LiSu", "STLiti", "SimSun", serif',
weight: 700
},
youyuan: {
label: '圆体',
family: '"YouYuan", "Microsoft YaHei", sans-serif',
weight: 700
},
shuti: {
label: '舒体',
family: '"FZShuTi", "STKaiti", "KaiTi", serif',
weight: 700
},
hupo: {
label: '琥珀',
family: '"STHupo", "SimHei", sans-serif',
weight: 700
},
xinwei: {
label: '新魏碑意',
family: '"STXinwei", "华文新魏", "STLiti", serif',
weight: 400
},
caiyun: {
label: '彩云装饰',
family: '"STCaiyun", "华文彩云", "SimHei", sans-serif',
weight: 400
},
yaoti: {
label: '姚体古风',
family: '"FZYaoTi", "方正姚体", "STKaiti", serif',
weight: 400
},
zhongsong: {
label: '中宋雅正',
family: '"STZhongsong", "华文中宋", "SimSun", serif',
weight: 400
},
fangsong: {
label: '仿宋清雅',
family: '"FangSong", "仿宋", "SimSun", serif',
weight: 400
},
xihei: {
label: '细黑简雅',
family: '"STXihei", "华文细黑", "Microsoft YaHei", sans-serif',
weight: 400
}
});
var VECTOR_SHAPE_TOOLS = Object.freeze(['line', 'ellipse', 'rect', 'triangle', 'polygon', 'star', 'diamond', 'arrow', 'spline']);
var RATIO_SHAPE_TOOLS = Object.freeze(['ellipse', 'rect', 'triangle', 'polygon', 'star', 'diamond']);
var VECTOR_TOOL_LABELS = Object.freeze({
text: '文字',
line: '直线',
ellipse: '圆形',
rect: '方形',
triangle: '三角形',
polygon: '多边形',
star: '星形',
diamond: '菱形',
arrow: '箭头',
spline: '样条曲线'
});
var $ = (id) => document.getElementById(id);
var ui = {
fanVariants: $('fanVariants'),
bladeCountOptions: $('bladeCountOptions'),
bladeCountSummary: $('bladeCountSummary'),
bladeOrderHint: $('bladeOrderHint'),
variantSeal: $('variantSeal'),
modelTag: $('modelTag'),
metricSize: $('metricSize'),
frameToggleLabel: $('frameToggleLabel'),
adjustHint: $('adjustHint'),
fileInput: $('fileInput'),
dropzone: $('dropzone'),
fileChip: $('fileChip'),
demoLabel: $('demoLabel'),
wholeModeBtn: $('wholeModeBtn'),
bladeModeBtn: $('bladeModeBtn'),
bladePanel: $('bladePanel'),
bladeGrid: $('bladeGrid'),
dropTitle: $('dropTitle'),
dropHint: $('dropHint'),
maskCanvas: $('maskCanvas'),
maskWrap: $('maskWrap'),
maskBackdrop: $('maskBackdrop'),
expandMask: $('expandMask'),
brushCursor: $('brushCursor'),
textPlacementPreview: $('textPlacementPreview'),
textPreviewGlyph: $('textPreviewGlyph'),
sourceCanvas: $('sourceCanvas'),
maskFloatingToolbar: $('maskFloatingToolbar'),
floatToolContext: $('floatToolContext'),
floatZoomOut: $('floatZoomOut'),
floatZoomIn: $('floatZoomIn'),
floatRotateLeft: $('floatRotateLeft'),
floatRotateRight: $('floatRotateRight'),
floatResetImage: $('floatResetImage'),
floatTransformValue: $('floatTransformValue'),
floatImageRotation: $('floatImageRotation'),
floatImageRotationValue: $('floatImageRotationValue'),
floatBrushControl: $('floatBrushControl'),
floatBrushSize: $('floatBrushSize'),
floatBrushSizeValue: $('floatBrushSizeValue'),
floatTextControl: $('floatTextControl'),
floatTextValue: $('floatTextValue'),
floatTextSizeControl: $('floatTextSizeControl'),
floatTextSize: $('floatTextSize'),
floatTextSizeValue: $('floatTextSizeValue'),
floatTextArcControl: $('floatTextArcControl'),
floatTextArc: $('floatTextArc'),
floatTextArcValue: $('floatTextArcValue'),
floatTextFontControl: $('floatTextFontControl'),
floatTextFont: $('floatTextFont'),
floatTextStyleControl: $('floatTextStyleControl'),
floatTextStyle: $('floatTextStyle'),
floatPolygonSidesControl: $('floatPolygonSidesControl'),
floatPolygonSides: $('floatPolygonSides'),
floatPolygonSidesValue: $('floatPolygonSidesValue'),
floatSplineTensionControl: $('floatSplineTensionControl'),
floatSplineTension: $('floatSplineTension'),
floatSplineTensionValue: $('floatSplineTensionValue'),
floatShapeRatioControl: $('floatShapeRatioControl'),
floatShapeRatio: $('floatShapeRatio'),
floatColorControl: $('floatColorControl'),
floatEditorColor: $('floatEditorColor'),
floatUndoEdit: $('floatUndoEdit'),
floatDeleteSelected: $('floatDeleteSelected'),
floatClearEdit: $('floatClearEdit'),
coverBtn: $('coverBtn'),
containBtn: $('containBtn'),
imageScale: $('imageScale'),
offsetX: $('offsetX'),
offsetY: $('offsetY'),
imageRotation: $('imageRotation'),
rotateLeft: $('rotateLeft'),
rotateRight: $('rotateRight'),
zoomOut: $('zoomOut'),
zoomIn: $('zoomIn'),
resetImage: $('resetImage'),
brushSize: $('brushSize'),
brushEditorOptions: $('brushEditorOptions'),
shapeEditorOptions: $('shapeEditorOptions'),
shapeRatioControl: $('shapeRatioControl'),
shapeRatioHint: $('shapeRatioHint'),
polygonSidesControl: $('polygonSidesControl'),
splineTensionControl: $('splineTensionControl'),
polygonSides: $('polygonSides'),
splineTension: $('splineTension'),
textEditorOptions: $('textEditorOptions'),
textFontChips: $('textFontChips'),
textValue: $('textValue'),
textStyle: $('textStyle'),
textSize: $('textSize'),
textArc: $('textArc'),
editorColor: $('editorColor'),
editorColorControl: $('editorColorControl'),
undoEdit: $('undoEdit'),
clearEdit: $('clearEdit'),
deleteSelected: $('deleteSelected'),
selectionInfo: $('selectionInfo'),
selectionLabel: $('selectionLabel'),
editorHint: $('editorHint'),
minThickness: $('minThickness'),
maxThickness: $('maxThickness'),
reliefMargin: $('reliefMargin'),
contrast: $('contrast'),
reliefGamma: $('reliefGamma'),
blur: $('blur'),
invert: $('invert'),
detail: $('detail'),
includeFrame: $('includeFrame'),
threeMFStructure: $('threeMFStructure'),
threeMFHint: $('threeMFHint'),
resetAll: $('resetAll'),
exportBtn: $('exportBtn'),
export3mfBtn: $('export3mfBtn'),
status: $('status'),
precisionGuide: $('precisionGuide'),
precisionHint: $('precisionHint'),
precisionGrid: $('precisionGrid'),
glCanvas: $('glCanvas'),
busy: $('busy'),
busyText: $('busyText'),
topView: $('topView'),
isoView: $('isoView'),
fitView: $('fitView')
};
var bladeConfigSlots = Array.from({
length: COMMON_ANGLES.length
}, () => makeImageConfig());
var state = {
fanVariant: 'yi',
bladeCount: 11,
imageMode: 'whole',
selectedBlade: 0,
globalConfig: makeImageConfig(ui.sourceCanvas, '示例山水'),
bladeConfigSlots,
bladeConfigs: bladeConfigSlots.slice(),
sourcePixels: null,
maskLookup: null,
activeBounds: null,
frameTemplates: null,
frameWelds: null,
frameOriginalPositions: null,
frameOriginalNormals: null,
framePositions: null,
frameNormals: null,
frameRemovedTriangles: 0,
reliefPositions: null,
reliefNormals: null,
rebuildTimer: 0,
camera: {
pitch: 0.60,
yaw: -1.65,
zoom: 620
},
dragging: false,
lastX: 0,
lastY: 0,
imageDragging: false,
imagePointerX: 0,
imagePointerY: 0,
imageStartX: 0,
imageStartY: 0,
editorTool: 'move',
textFont: 'xingkai',
textStyle: 'fill',
textArc: 35,
shapeRatioMode: 'regular',
editorDrawing: false,
editorLastPoint: null,
editorPointerId: null,
editorShapeStart: null,
editorShapePoints: null,
editorPreview: null,
editorObjectDragging: false,
editorObjectDragStart: null,
editorObjectOriginal: null,
editorObjectMoved: false,
editorHoverX: null,
editorHoverY: null,
maskExpanded: false
};
function makeImageConfig(canvas=null, name='') {
var target = canvas || document.createElement('canvas');
if (!canvas) {
target.width = 720;
target.height = 220;
}
var editCanvas = document.createElement('canvas');
editCanvas.width = target.width;
editCanvas.height = target.height;
var paintCanvas = document.createElement('canvas');
paintCanvas.width = target.width;
paintCanvas.height = target.height;
return {
image: null,
name,
fit: 'cover',
rotation: 0,
scale: 100,
offsetX: 0,
offsetY: 0,
canvas: target,
editCanvas,
paintCanvas,
paintDirty: false,
vectorObjects: [],
nextVectorId: 1,
selectedObjectId: null,
editHistory: [],
editDirty: false,
pixels: null,
isDemo: false
};
}
function activeConfig() {
return state.imageMode === 'whole' ? state.globalConfig : state.bladeConfigs[state.selectedBlade];
}
function clamp(value, min, max) {
return Math.min(max, Math.max(min, value));
}
function deg(value) {
return value * Math.PI / 180;
}
function sanitizeName(name) {
return (name || '图片').replace(/\.[^.]+$/, '').replace(/[\\/:*?"<>|]+/g, '_').slice(0, 56) || '图片';
}