fl-web-component 2.1.18 → 2.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- @charset "UTF-8";.fl-model-containor[data-v-5d8eba59]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-5d8eba59] .tips-label{width:60px;color:#000;font:12px Helvetica;margin-top:-3em;padding:5px;text-align:center;vertical-align:middle;background-color:khaki}[data-v-5d8eba59] .measure-label{max-width:100px;margin-top:-1em;border:10px;border-radius:5px;padding:3px 10px;cursor:pointer;color:#009bea;background-color:#f4f4f4;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.25);box-shadow:0 1px 3px 1px rgba(0,0,0,.25)}[data-v-5d8eba59] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-5d8eba59] .measure-label-font{word-break:break-all}[data-v-5d8eba59] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-5d8eba59]{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.loading-overlay--visible[data-v-5d8eba59]{opacity:1;visibility:visible}.loading-content[data-v-5d8eba59]{background:#fff;border-radius:12px;padding:30px;text-align:center;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.3);box-shadow:0 8px 32px rgba(0,0,0,.3);min-width:300px;max-width:400px}.loading-spinner[data-v-5d8eba59]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-5d8eba59 1s linear infinite;animation:spin-5d8eba59 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-5d8eba59{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-5d8eba59{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-5d8eba59]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-5d8eba59]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-5d8eba59]{height:100%;background:-webkit-gradient(linear,left top,right top,from(#409eff),to(#67c23a));background:linear-gradient(90deg,#409eff,#67c23a);border-radius:4px;-webkit-transition:width .3s ease;transition:width .3s ease}.loading-details[data-v-5d8eba59]{font-size:12px;color:#666;line-height:1.5}.lil-this.gui{background:hsla(0,0%,100%,.95)!important;border:1px solid #e0e0e0!important;border-radius:8px!important;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15)!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;backdrop-filter:blur(10px)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.lil-this.gui .title{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important;font-weight:600!important;padding:0 12px!important;border-radius:8px 8px 0 0!important}.lil-this.gui .controller{border-bottom:1px solid #f1f3f4!important;background:transparent!important}.lil-this.gui .controller:last-child{border-bottom:none!important}.lil-this.gui .controller .name{color:#495057!important;font-weight:500!important;font-size:12px!important}.lil-this.gui .controller .widget{background:#f8f9fa!important;border:1px solid #ced4da!important;border-radius:4px!important;color:#495057!important}.lil-this.gui .controller .widget:focus,.lil-this.gui .controller .widget:hover{border-color:#80bdff!important;-webkit-box-shadow:0 0 0 2px rgba(0,123,255,.25)!important;box-shadow:0 0 0 2px rgba(0,123,255,.25)!important}.lil-this.gui .controller .widget:focus{outline:none!important}.lil-this.gui .controller input[type=range]{background:#e9ecef!important;height:4px!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;border-radius:2px!important}.lil-this.gui .controller.number .fill{border-right:solid #008de9}.lil-this.gui .controller input[type=range]::-webkit-slider-thumb{background:#007bff!important;border:2px solid #fff!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2)!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important}.lil-this.gui .controller input[type=range]::-moz-range-thumb{background:#007bff!important;border:2px solid #fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;cursor:pointer!important}.lil-this.gui .controller .option{background:#fff!important;color:#495057!important;border-bottom:1px solid #f1f3f4!important}.lil-this.gui .controller .option:hover{background:#f8f9fa!important}.lil-this.gui .controller .option:last-child{border-bottom:none!important}.lil-this.gui input:active{background:#e6eff4}.lil-this.gui .controller button{background:linear-gradient(135deg,#007bff,#0056b3)!important;color:#fff!important;border:none!important;border-radius:4px!important;font-weight:500!important;-webkit-transition:all .2s ease!important;transition:all .2s ease!important}.lil-this.gui .controller button:hover{background:linear-gradient(135deg,#0056b3,#004085)!important;-webkit-transform:translateY(-1px)!important;transform:translateY(-1px)!important;-webkit-box-shadow:0 4px 8px rgba(0,123,255,.3)!important;box-shadow:0 4px 8px rgba(0,123,255,.3)!important}.lil-this.gui .controller .color{border:2px solid #fff!important;border-radius:4px!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1)!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.lil-this.gui .controller.number .slider,.lil-this.gui .controller.number .slider:hover{background-color:#e6eff4}.lil-this.gui input,.lil-this.gui input:hover,.lil-this.gui input[type=number]:focus,.lil-this.gui input[type=text]:focus{background:#e6eff4}.lil-this.gui .controller>.name{min-width:25px}.lil-this.gui .controller.number input{color:#2e3136}.lil-this.gui .controller.number .slider:active{background-color:#e6eff4}.lil-this.gui .folder>.title{background:linear-gradient(135deg,#f1f3f4,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important}.lil-this.gui .folder>.title:before{color:#6c757d!important}.lil-this.gui .folder.closed>.children{display:none!important}.lil-gui button{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#000;cursor:pointer;font-family:var(--font-family);font-size:var(--font-size);height:var(--widget-height);line-height:calc(var(--widget-height) - 4px);outline:none;text-align:right;text-transform:none;width:70%}@media (hover:hover){.lil-gui button:hover{background:none;border-color:none}}#konva-container[data-v-e9d7a15c]{z-index:3;width:100%;height:100%;cursor:pointer;overflow:hidden}span[data-v-3fceaac3]{font-weight:bolder}.text[data-v-3fceaac3]{margin-top:20px}.description[data-v-3fceaac3]{margin-bottom:20px}.line[data-v-3fceaac3]{border-bottom:1px solid #dcdfe6;margin:20px 0}.center[data-v-3fceaac3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.center .cen span[data-v-3fceaac3],.center .top span[data-v-3fceaac3]{color:#53a8ff;display:inline-block;width:40px;height:40px;text-align:center;line-height:30px;border:1px solid #53a8ff;padding:5px;margin-bottom:10px;background-color:#e9f3ff}.center .cen span[data-v-3fceaac3]{margin:10px}.button[data-v-3fceaac3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end;margin-top:20px}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff2?t=1646635700216) format("woff2"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff?t=1646635700216) format("woff"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.ttf?t=1646635700216) format("truetype")}.iconfont[data-v-3fceaac3]{font-family:iconfont!important;font-size:50px;font-style:normal;color:#53a8ff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-shubiao[data-v-3fceaac3]:before{content:""}.main_body[data-v-4b17bce0]{position:relative;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.classification_title[data-v-4b17bce0]{margin:0 0 10px 0;color:#fff;font-size:14px;cursor:default}.toolbar[data-v-4b17bce0]{z-index:10;position:absolute;width:520px;padding:8px 16px;border-radius:6px;-webkit-box-shadow:0 2px 10px 0 rgba(6,29,44,.25);box-shadow:0 2px 10px 0 rgba(6,29,44,.25);background-color:#fff;top:10px;left:50%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translateX(-50%);transform:translateX(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.icon_toolbar[data-v-4b17bce0],.text_toolbar[data-v-4b17bce0]{float:left;width:32px;height:32px;padding:0!important;background-repeat:no-repeat;background-size:24px;background-position:50%}.icon_active[data-v-4b17bce0],.icon_toolbar[data-v-4b17bce0]:hover,.text_toolbar[data-v-4b17bce0]:hover{background-color:#eee}[data-v-4b17bce0].icon_color .el-color-picker__trigger{height:24px;margin-top:4px;width:24px!important}[data-v-4b17bce0].el-color-picker--medium,[data-v-4b17bce0].el-color-picker--medium .el-color-picker__trigger{width:24px!important;height:24px!important}.canvas_container[data-v-4b17bce0]{position:relative;width:100%;height:100%;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.canvas_container canvas[data-v-4b17bce0]{position:absolute;left:0}.canvas_container #ctx_front[data-v-4b17bce0]{z-index:5;background-color:transparent}.canvas_container #ctx_back[data-v-4b17bce0]{z-index:3}.canvas_container #ctx_base[data-v-4b17bce0]{z-index:1}#text[data-v-4b17bce0]{position:absolute;z-index:-1;resize:none;outline:none;border:1px dashed #9c9c9c;overflow:hidden;background:transparent;line-height:30px;display:none}#text[data-v-4b17bce0]:hover{border:1px dashed #53a8ff}#svg-component[data-v-2572c0e2],#svg-tigger[data-v-2572c0e2]{cursor:pointer;height:100%;width:100%;position:relative}#toolbar-show[data-v-2572c0e2]{z-index:20;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;background:#fff}
1
+ @charset "UTF-8";.fl-model-containor[data-v-2dd6d693]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-2dd6d693] .tips-label{width:60px;color:#000;font:12px Helvetica;margin-top:-3em;padding:5px;text-align:center;vertical-align:middle;background-color:khaki}[data-v-2dd6d693] .measure-label{max-width:100px;margin-top:-1em;border:10px;border-radius:5px;padding:3px 10px;cursor:pointer;color:#009bea;background-color:#f4f4f4;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.25);box-shadow:0 1px 3px 1px rgba(0,0,0,.25)}[data-v-2dd6d693] .circle-tag{width:10px;height:10px;margin-top:0;border-radius:50%;background-color:#ff5000}[data-v-2dd6d693] .measure-label-font{word-break:break-all}[data-v-2dd6d693] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-2dd6d693]{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.loading-overlay--visible[data-v-2dd6d693]{opacity:1;visibility:visible}.loading-content[data-v-2dd6d693]{background:#fff;border-radius:12px;padding:30px;text-align:center;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.3);box-shadow:0 8px 32px rgba(0,0,0,.3);min-width:300px;max-width:400px}.loading-spinner[data-v-2dd6d693]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-2dd6d693 1s linear infinite;animation:spin-2dd6d693 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-2dd6d693{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-2dd6d693{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-2dd6d693]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-2dd6d693]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-2dd6d693]{height:100%;background:-webkit-gradient(linear,left top,right top,from(#409eff),to(#67c23a));background:linear-gradient(90deg,#409eff,#67c23a);border-radius:4px;-webkit-transition:width .3s ease;transition:width .3s ease}.loading-details[data-v-2dd6d693]{font-size:12px;color:#666;line-height:1.5}.lil-this.gui{background:hsla(0,0%,100%,.95)!important;border:1px solid #e0e0e0!important;border-radius:8px!important;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15)!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;backdrop-filter:blur(10px)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.lil-this.gui .title{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important;font-weight:600!important;padding:0 12px!important;border-radius:8px 8px 0 0!important}.lil-this.gui .controller{border-bottom:1px solid #f1f3f4!important;background:transparent!important}.lil-this.gui .controller:last-child{border-bottom:none!important}.lil-this.gui .controller .name{color:#495057!important;font-weight:500!important;font-size:12px!important}.lil-this.gui .controller .widget{background:#f8f9fa!important;border:1px solid #ced4da!important;border-radius:4px!important;color:#495057!important}.lil-this.gui .controller .widget:focus,.lil-this.gui .controller .widget:hover{border-color:#80bdff!important;-webkit-box-shadow:0 0 0 2px rgba(0,123,255,.25)!important;box-shadow:0 0 0 2px rgba(0,123,255,.25)!important}.lil-this.gui .controller .widget:focus{outline:none!important}.lil-this.gui .controller input[type=range]{background:#e9ecef!important;height:4px!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;border-radius:2px!important}.lil-this.gui .controller.number .fill{border-right:solid #008de9}.lil-this.gui .controller input[type=range]::-webkit-slider-thumb{background:#007bff!important;border:2px solid #fff!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2)!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important}.lil-this.gui .controller input[type=range]::-moz-range-thumb{background:#007bff!important;border:2px solid #fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;cursor:pointer!important}.lil-this.gui .controller .option{background:#fff!important;color:#495057!important;border-bottom:1px solid #f1f3f4!important}.lil-this.gui .controller .option:hover{background:#f8f9fa!important}.lil-this.gui .controller .option:last-child{border-bottom:none!important}.lil-this.gui input:active{background:#e6eff4}.lil-this.gui .controller button{background:linear-gradient(135deg,#007bff,#0056b3)!important;color:#fff!important;border:none!important;border-radius:4px!important;font-weight:500!important;-webkit-transition:all .2s ease!important;transition:all .2s ease!important}.lil-this.gui .controller button:hover{background:linear-gradient(135deg,#0056b3,#004085)!important;-webkit-transform:translateY(-1px)!important;transform:translateY(-1px)!important;-webkit-box-shadow:0 4px 8px rgba(0,123,255,.3)!important;box-shadow:0 4px 8px rgba(0,123,255,.3)!important}.lil-this.gui .controller .color{border:2px solid #fff!important;border-radius:4px!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1)!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.lil-this.gui .controller.number .slider,.lil-this.gui .controller.number .slider:hover{background-color:#e6eff4}.lil-this.gui input,.lil-this.gui input:hover,.lil-this.gui input[type=number]:focus,.lil-this.gui input[type=text]:focus{background:#e6eff4}.lil-this.gui .controller>.name{min-width:25px}.lil-this.gui .controller.number input{color:#2e3136}.lil-this.gui .controller.number .slider:active{background-color:#e6eff4}.lil-this.gui .folder>.title{background:linear-gradient(135deg,#f1f3f4,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important}.lil-this.gui .folder>.title:before{color:#6c757d!important}.lil-this.gui .folder.closed>.children{display:none!important}.lil-gui button{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#000;cursor:pointer;font-family:var(--font-family);font-size:var(--font-size);height:var(--widget-height);line-height:calc(var(--widget-height) - 4px);outline:none;text-align:right;text-transform:none;width:70%}@media (hover:hover){.lil-gui button:hover{background:none;border-color:none}}#konva-container[data-v-e9d7a15c]{z-index:3;width:100%;height:100%;cursor:pointer;overflow:hidden}span[data-v-3fceaac3]{font-weight:bolder}.text[data-v-3fceaac3]{margin-top:20px}.description[data-v-3fceaac3]{margin-bottom:20px}.line[data-v-3fceaac3]{border-bottom:1px solid #dcdfe6;margin:20px 0}.center[data-v-3fceaac3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.center .cen span[data-v-3fceaac3],.center .top span[data-v-3fceaac3]{color:#53a8ff;display:inline-block;width:40px;height:40px;text-align:center;line-height:30px;border:1px solid #53a8ff;padding:5px;margin-bottom:10px;background-color:#e9f3ff}.center .cen span[data-v-3fceaac3]{margin:10px}.button[data-v-3fceaac3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end;margin-top:20px}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff2?t=1646635700216) format("woff2"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff?t=1646635700216) format("woff"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.ttf?t=1646635700216) format("truetype")}.iconfont[data-v-3fceaac3]{font-family:iconfont!important;font-size:50px;font-style:normal;color:#53a8ff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-shubiao[data-v-3fceaac3]:before{content:""}.main_body[data-v-4b17bce0]{position:relative;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.classification_title[data-v-4b17bce0]{margin:0 0 10px 0;color:#fff;font-size:14px;cursor:default}.toolbar[data-v-4b17bce0]{z-index:10;position:absolute;width:520px;padding:8px 16px;border-radius:6px;-webkit-box-shadow:0 2px 10px 0 rgba(6,29,44,.25);box-shadow:0 2px 10px 0 rgba(6,29,44,.25);background-color:#fff;top:10px;left:50%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translateX(-50%);transform:translateX(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.icon_toolbar[data-v-4b17bce0],.text_toolbar[data-v-4b17bce0]{float:left;width:32px;height:32px;padding:0!important;background-repeat:no-repeat;background-size:24px;background-position:50%}.icon_active[data-v-4b17bce0],.icon_toolbar[data-v-4b17bce0]:hover,.text_toolbar[data-v-4b17bce0]:hover{background-color:#eee}[data-v-4b17bce0].icon_color .el-color-picker__trigger{height:24px;margin-top:4px;width:24px!important}[data-v-4b17bce0].el-color-picker--medium,[data-v-4b17bce0].el-color-picker--medium .el-color-picker__trigger{width:24px!important;height:24px!important}.canvas_container[data-v-4b17bce0]{position:relative;width:100%;height:100%;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.canvas_container canvas[data-v-4b17bce0]{position:absolute;left:0}.canvas_container #ctx_front[data-v-4b17bce0]{z-index:5;background-color:transparent}.canvas_container #ctx_back[data-v-4b17bce0]{z-index:3}.canvas_container #ctx_base[data-v-4b17bce0]{z-index:1}#text[data-v-4b17bce0]{position:absolute;z-index:-1;resize:none;outline:none;border:1px dashed #9c9c9c;overflow:hidden;background:transparent;line-height:30px;display:none}#text[data-v-4b17bce0]:hover{border:1px dashed #53a8ff}#svg-component[data-v-2572c0e2],#svg-tigger[data-v-2572c0e2]{cursor:pointer;height:100%;width:100%;position:relative}#toolbar-show[data-v-2572c0e2]{z-index:20;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;background:#fff}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack://fl-web-component/packages/components/com-graphics/index.vue?vue&type=style&index=0&id=f8ae62c2&lang=scss&scoped=true","webpack://fl-web-component/packages/components/com-graphics/index.vue?vue&type=style&index=1&id=f8ae62c2&lang=css","webpack://fl-web-component/packages/components/com-flcanvas/index.vue?vue&type=style&index=0&id=9a4a041c&lang=scss&scoped=true","webpack://fl-web-component/packages/components/com-graphics/per-control.vue?vue&type=style&index=0&id=5dd9113a&lang=scss&scoped=true","webpack://fl-web-component/packages/components/com-graphics/component/ann-tool.vue?vue&type=style&index=0&id=5006df4e&scoped=true&lang=scss","webpack://fl-web-component/packages/components/com-graphics/pid.vue?vue&type=style&index=0&id=3951dc18&lang=scss&scoped=true"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACzIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1KA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C","file":"fl-web-component.css","sourcesContent":["@charset \"UTF-8\";\n.fl-model-containor[data-v-f8ae62c2] {\n width: 100%;\n height: 100%;\n position: relative;\n cursor: pointer;\n}\n[data-v-f8ae62c2] .tips-label {\n width: 60px;\n color: #000;\n font: 12px Helvetica;\n margin-top: -3em;\n padding: 5px;\n text-align: center;\n vertical-align: middle;\n background-color: khaki;\n}\n[data-v-f8ae62c2] .measure-label {\n max-width: 100px;\n margin-top: -1em;\n border: 10px;\n border-radius: 5px;\n padding: 3px 10px;\n cursor: pointer;\n color: #009bea;\n background-color: #f4f4f4;\n -webkit-box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.25);\n box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.25);\n}\n[data-v-f8ae62c2] .circle-tag {\n width: 10px;\n height: 10px;\n margin-top: 0;\n border-radius: 50%;\n background-color: #ff5000;\n}\n[data-v-f8ae62c2] .measure-label-font {\n word-break: break-all;\n}\n[data-v-f8ae62c2] .mark-label-img {\n padding-top: 5px;\n width: 20px;\n height: 20px;\n}\n\n/* 加载指示器样式 */\n.loading-overlay[data-v-f8ae62c2] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.7);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n z-index: 1000;\n opacity: 0;\n visibility: hidden;\n -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;\n transition: opacity 0.3s ease, visibility 0.3s ease;\n}\n.loading-overlay--visible[data-v-f8ae62c2] {\n opacity: 1;\n visibility: visible;\n}\n.loading-content[data-v-f8ae62c2] {\n background: white;\n border-radius: 12px;\n padding: 30px;\n text-align: center;\n -webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\n min-width: 300px;\n max-width: 400px;\n}\n.loading-spinner[data-v-f8ae62c2] {\n width: 40px;\n height: 40px;\n border: 4px solid #f3f3f3;\n border-top: 4px solid #409eff;\n border-radius: 50%;\n -webkit-animation: spin-f8ae62c2 1s linear infinite;\n animation: spin-f8ae62c2 1s linear infinite;\n margin: 0 auto 20px;\n}\n@-webkit-keyframes spin-f8ae62c2 {\n0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n}\n100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n}\n}\n@keyframes spin-f8ae62c2 {\n0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n}\n100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n}\n}\n.loading-text[data-v-f8ae62c2] {\n font-size: 16px;\n font-weight: 500;\n color: #333;\n margin-bottom: 20px;\n}\n.loading-this.progress-bar[data-v-f8ae62c2] {\n width: 100%;\n height: 8px;\n background-color: #f0f0f0;\n border-radius: 4px;\n overflow: hidden;\n margin-bottom: 15px;\n}\n.loading-this.progress-fill[data-v-f8ae62c2] {\n height: 100%;\n background: -webkit-gradient(linear, left top, right top, from(#409eff), to(#67c23a));\n background: linear-gradient(90deg, #409eff 0%, #67c23a 100%);\n border-radius: 4px;\n -webkit-transition: width 0.3s ease;\n transition: width 0.3s ease;\n}\n.loading-details[data-v-f8ae62c2] {\n font-size: 12px;\n color: #666;\n line-height: 1.5;\n}","\r\n/* 自定义lil-gui样式 - 浅色主题 */\n.lil-this.gui {\r\n background: rgba(255, 255, 255, 0.95) !important;\r\n border: 1px solid #e0e0e0 !important;\r\n border-radius: 8px !important;\r\n -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;\r\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;\r\n backdrop-filter: blur(10px) !important;\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;\n}\n.lil-this.gui .title {\r\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;\r\n color: #495057 !important;\r\n border-bottom: 1px solid #dee2e6 !important;\r\n font-weight: 600 !important;\r\n padding: 0px 12px !important;\r\n border-radius: 8px 8px 0 0 !important;\n}\n.lil-this.gui .controller {\r\n border-bottom: 1px solid #f1f3f4 !important;\r\n background: transparent !important;\n}\n.lil-this.gui .controller:last-child {\r\n border-bottom: none !important;\n}\n.lil-this.gui .controller .name {\r\n color: #495057 !important;\r\n font-weight: 500 !important;\r\n font-size: 12px !important;\n}\n.lil-this.gui .controller .widget {\r\n background: #f8f9fa !important;\r\n border: 1px solid #ced4da !important;\r\n border-radius: 4px !important;\r\n color: #495057 !important;\n}\n.lil-this.gui .controller .widget:hover {\r\n border-color: #80bdff !important;\r\n -webkit-box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25) !important;\r\n box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25) !important;\n}\n.lil-this.gui .controller .widget:focus {\r\n border-color: #80bdff !important;\r\n -webkit-box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25) !important;\r\n box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25) !important;\r\n outline: none !important;\n}\n.lil-this.gui .controller input[type='range'] {\r\n background: #e9ecef !important;\r\n height: 4px !important;\r\n -webkit-appearance: none !important;\r\n -moz-appearance: none !important;\r\n appearance: none !important;\r\n border-radius: 2px !important;\n}\n.lil-this.gui .controller.number .fill {\r\n border-right: solid #008de9;\n}\n.lil-this.gui .controller input[type='range']::-webkit-slider-thumb {\r\n background: #007bff !important;\r\n border: 2px solid #ffffff !important;\r\n -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;\r\n width: 16px !important;\r\n height: 16px !important;\r\n border-radius: 50% !important;\r\n -webkit-appearance: none !important;\r\n appearance: none !important;\r\n cursor: pointer !important;\n}\n.lil-this.gui .controller input[type='range']::-moz-range-thumb {\r\n background: #007bff !important;\r\n border: 2px solid #ffffff !important;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;\r\n width: 16px !important;\r\n height: 16px !important;\r\n border-radius: 50% !important;\r\n cursor: pointer !important;\n}\n.lil-this.gui .controller .option {\r\n background: #ffffff !important;\r\n color: #495057 !important;\r\n border-bottom: 1px solid #f1f3f4 !important;\n}\n.lil-this.gui .controller .option:hover {\r\n background: #f8f9fa !important;\n}\n.lil-this.gui .controller .option:last-child {\r\n border-bottom: none !important;\n}\n.lil-this.gui input:active {\r\n background: #e6eff4;\n}\n.lil-this.gui .controller button {\r\n background: linear-gradient(135deg, #007bff 0%, #0056b3 100%) !important;\r\n color: #ffffff !important;\r\n border: none !important;\r\n border-radius: 4px !important;\r\n font-weight: 500 !important;\r\n -webkit-transition: all 0.2s ease !important;\r\n transition: all 0.2s ease !important;\n}\n.lil-this.gui .controller button:hover {\r\n background: linear-gradient(135deg, #0056b3 0%, #004085 100%) !important;\r\n -webkit-transform: translateY(-1px) !important;\r\n transform: translateY(-1px) !important;\r\n -webkit-box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3) !important;\r\n box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3) !important;\n}\n.lil-this.gui .controller .color {\r\n border: 2px solid #ffffff !important;\r\n border-radius: 4px !important;\r\n -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;\n}\n.lil-this.gui .controller.number .slider {\r\n background-color: #e6eff4;\n}\n.lil-this.gui .controller.number .slider:hover {\r\n background-color: #e6eff4;\n}\n.lil-this.gui input:hover {\r\n background: #e6eff4;\n}\n.lil-this.gui input[type='number']:focus,\r\n.lil-this.gui input[type='text']:focus,\r\n.lil-this.gui input {\r\n background: #e6eff4;\n}\n.lil-this.gui .controller > .name {\r\n min-width: 25px;\n}\n.lil-this.gui .controller.number input {\r\n color: #2e3136;\n}\n.lil-this.gui .controller.number .slider:active {\r\n background-color: #e6eff4;\n}\n.lil-this.gui .folder > .title {\r\n background: linear-gradient(135deg, #f1f3f4 0%, #e9ecef 100%) !important;\r\n color: #495057 !important;\r\n border-bottom: 1px solid #dee2e6 !important;\n}\n.lil-this.gui .folder > .title:before {\r\n color: #6c757d !important;\n}\n.lil-this.gui .folder.closed > .children {\r\n display: none !important;\n}\n.lil-gui button {\r\n -webkit-tap-highlight-color: transparent;\r\n background: none;\r\n border: none;\r\n color: #000000;\r\n cursor: pointer;\r\n font-family: var(--font-family);\r\n font-size: var(--font-size);\r\n height: var(--widget-height);\r\n line-height: calc(var(--widget-height) - 4px);\r\n outline: none;\r\n text-align: right;\r\n text-transform: none;\r\n width: 70%;\n}\n@media (hover: hover) {\n.lil-gui button:hover {\r\n background: none;\r\n border-color: none;\n}\n}\r\n","#konva-container[data-v-9a4a041c] {\n z-index: 3;\n width: 100%;\n height: 100%;\n cursor: pointer;\n overflow: hidden;\n}","@charset \"UTF-8\";\nspan[data-v-5dd9113a] {\n font-weight: bolder;\n}\n.text[data-v-5dd9113a] {\n margin-top: 20px;\n}\n.description[data-v-5dd9113a] {\n margin-bottom: 20px;\n}\n.line[data-v-5dd9113a] {\n border-bottom: 1px solid #dcdfe6;\n margin: 20px 0;\n}\n.center[data-v-5dd9113a] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.center .top span[data-v-5dd9113a],\n.center .cen span[data-v-5dd9113a] {\n color: #53a8ff;\n display: inline-block;\n width: 40px;\n height: 40px;\n text-align: center;\n line-height: 30px;\n border: 1px solid #53a8ff;\n padding: 5px;\n margin-bottom: 10px;\n background-color: #e9f3ff;\n}\n.center .cen span[data-v-5dd9113a] {\n margin: 10px;\n}\n.button[data-v-5dd9113a] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: end;\n margin-top: 20px;\n}\n@font-face {\n font-family: \"iconfont\";\n /* Project id 3226805 */\n src: url(\"//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff2?t=1646635700216\") format(\"woff2\"), url(\"//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff?t=1646635700216\") format(\"woff\"), url(\"//at.alicdn.com/t/font_3226805_qqvo3ag3r8.ttf?t=1646635700216\") format(\"truetype\");\n}\n.iconfont[data-v-5dd9113a] {\n font-family: \"iconfont\" !important;\n font-size: 50px;\n font-style: normal;\n color: #53a8ff;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.icon-shubiao[data-v-5dd9113a]:before {\n content: \"\";\n}",".main_body[data-v-5006df4e] {\n position: relative;\n width: 100%;\n height: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow: hidden;\n}\n.classification_title[data-v-5006df4e] {\n margin: 0 0 10px 0;\n color: #fff;\n font-size: 14px;\n cursor: default;\n}\n.toolbar[data-v-5006df4e] {\n z-index: 10;\n position: absolute;\n width: 520px;\n padding: 8px 16px;\n border-radius: 6px;\n -webkit-box-shadow: 0px 2px 10px 0px rgba(6, 29, 44, 0.25);\n box-shadow: 0px 2px 10px 0px rgba(6, 29, 44, 0.25);\n background-color: #fff;\n top: 10px;\n left: 50%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: distribute;\n justify-content: space-around;\n}\n.icon_toolbar[data-v-5006df4e],\n.text_toolbar[data-v-5006df4e] {\n float: left;\n width: 32px;\n height: 32px;\n padding: 0px !important;\n background-repeat: no-repeat;\n background-size: 24px;\n background-position: center;\n}\n.icon_toolbar[data-v-5006df4e]:hover,\n.text_toolbar[data-v-5006df4e]:hover,\n.icon_active[data-v-5006df4e] {\n background-color: #eeeeee;\n}\n[data-v-5006df4e].icon_color .el-color-picker__trigger {\n height: 24px;\n margin-top: 4px;\n width: 24px !important;\n}\n[data-v-5006df4e].el-color-picker--medium,[data-v-5006df4e].el-color-picker--medium .el-color-picker__trigger {\n width: 24px !important;\n height: 24px !important;\n}\n.canvas_container[data-v-5006df4e] {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n.canvas_container canvas[data-v-5006df4e] {\n position: absolute;\n left: 0;\n}\n.canvas_container #ctx_front[data-v-5006df4e] {\n z-index: 5;\n background-color: transparent;\n}\n.canvas_container #ctx_back[data-v-5006df4e] {\n z-index: 3;\n}\n.canvas_container #ctx_base[data-v-5006df4e] {\n z-index: 1;\n}\n#text[data-v-5006df4e] {\n position: absolute;\n z-index: -1;\n resize: none;\n outline: none;\n border: 1px dashed #9c9c9c;\n overflow: hidden;\n background: transparent;\n line-height: 30px;\n display: none;\n}\n#text[data-v-5006df4e]:hover {\n border: 1px dashed #53a8ff;\n}","#svg-component[data-v-3951dc18],\n#svg-tigger[data-v-3951dc18] {\n cursor: pointer;\n height: 100%;\n width: 100%;\n position: relative;\n}\n#toolbar-show[data-v-3951dc18] {\n z-index: 20;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n overflow: hidden;\n background: #fff;\n}"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fl-web-component",
3
- "version": "2.1.18",
3
+ "version": "2.1.20",
4
4
  "scripts": {
5
5
  "postinstall": "patch-package",
6
6
  "tip1": "仅调试本组件不涉及业务组件,请执行dev",
@@ -93,7 +93,10 @@ var clippingMesh = [],
93
93
  sceneBoundingBoxHelper = null, // 场景包围盒辅助线
94
94
  boundingBoxVisible = false; // 包围盒是否可见
95
95
 
96
- var removeSpeed = 200,
96
+ const FIRST_PERSON_GROUND_HEIGHT = 1680;
97
+ const FIRST_PERSON_POINTER_SPEED = 0.3;
98
+
99
+ var removeSpeed = 1000,
97
100
  upSpeed = 200; //控制器移动速度 , //控制跳起时的速度
98
101
  var roamConfig = {
99
102
  loop: false,
@@ -312,7 +315,7 @@ export default {
312
315
  this[item] = [];
313
316
  });
314
317
  ['removeSpeed', 'upSpeed'].forEach(item => {
315
- this[item] = 200;
318
+ this[item] = item === 'removeSpeed' ? 1000 : 200;
316
319
  });
317
320
 
318
321
  this.gui = null;
@@ -7704,7 +7707,7 @@ export default {
7704
7707
  Number.isFinite(customMoveSpeed) && customMoveSpeed > 0
7705
7708
  ? customMoveSpeed
7706
7709
  : defaultMoveSpeed;
7707
- const minMoveSpeed = Math.max(450, optionMoveSpeed * 0.1);
7710
+ const minMoveSpeed = Math.max(1000, optionMoveSpeed * 0.1);
7708
7711
  const maxMoveSpeed = Math.max(16000, optionMoveSpeed * 2);
7709
7712
  let nextMoveSpeed = optionMoveSpeed;
7710
7713
 
@@ -7761,7 +7764,8 @@ export default {
7761
7764
  // 开启第一视角
7762
7765
  startFirstPer(options) {
7763
7766
  let { moveSpeed = 200, jumpSpeed = 200 } = options || {};
7764
- this.removeSpeed = this.getFirstPersonMoveSpeed(moveSpeed);
7767
+ this.removeSpeed = 3500;
7768
+ // this.removeSpeed = this.getFirstPersonMoveSpeed(moveSpeed);
7765
7769
  const jumpConfig = this.getFirstPersonJumpConfig(jumpSpeed);
7766
7770
  this.upSpeed = jumpConfig.jumpSpeed;
7767
7771
  this.firstPersonGravity = jumpConfig.gravity;
@@ -7787,6 +7791,7 @@ export default {
7787
7791
  this.camera.rotation.z = 0;
7788
7792
 
7789
7793
  this.pointControls = new PointerLockControls(this.camera, this.renderer.domElement);
7794
+ this.pointControls.pointerSpeed = FIRST_PERSON_POINTER_SPEED;
7790
7795
  this.pointControls.lock();
7791
7796
  if (!this._onFirstPersonChange) {
7792
7797
  this._onFirstPersonChange = () => {
@@ -7854,20 +7859,21 @@ export default {
7854
7859
  let control = this.pointControls.object;
7855
7860
  // 获取刷新时间
7856
7861
  let delta = this.clock.getDelta();
7857
- const forwardMoveScale = 0.35;
7858
- // velocity每次的速度,为了保证有过渡
7859
- this.velocity.x -= this.velocity.x * 10.0 * delta;
7860
- this.velocity.z -= this.velocity.z * 10.0 * delta;
7862
+ const damping = 10.0;
7863
+ // 速度采用阻尼加速,保证 removeSpeed 表示最终移动速度,而不是加速度。
7864
+ this.velocity.x -= this.velocity.x * damping * delta;
7865
+ this.velocity.z -= this.velocity.z * damping * delta;
7861
7866
  this.velocity.y -= (this.firstPersonGravity || 9.8 * 100.0) * delta; // 默认下降的速度
7862
7867
  // 获取当前按键的方向并获取朝哪个方向移动
7863
7868
  this.direction.z = Number(this.moveForward) - Number(this.moveBackward);
7864
7869
  this.direction.x = Number(this.moveRight) - Number(this.moveLeft);
7865
7870
  // 将法向量的值归一化
7866
7871
  this.direction.normalize();
7872
+ const acceleration = this.removeSpeed * damping;
7867
7873
  if (this.moveForward || this.moveBackward)
7868
- this.velocity.z -= this.direction.z * this.removeSpeed * forwardMoveScale * delta;
7874
+ this.velocity.z -= this.direction.z * acceleration * delta;
7869
7875
  if (this.moveLeft || this.moveRight)
7870
- this.velocity.x -= this.direction.x * this.removeSpeed * delta;
7876
+ this.velocity.x -= this.direction.x * acceleration * delta;
7871
7877
  // }
7872
7878
  // 复制相机的位置
7873
7879
  this.downRaycaster.ray.origin.copy(control.position);
@@ -7888,9 +7894,9 @@ export default {
7888
7894
  this.pointControls.moveForward(-this.velocity.z * delta);
7889
7895
  control.position.y += this.velocity.y * delta;
7890
7896
  // 保证控制器的y轴在平面上
7891
- if (control.position.y < 3 - 0 / 10) {
7897
+ if (control.position.y < FIRST_PERSON_GROUND_HEIGHT) {
7892
7898
  this.velocity.y = -0 / 10;
7893
- control.position.y = 3 - 0 / 10;
7899
+ control.position.y = FIRST_PERSON_GROUND_HEIGHT;
7894
7900
  this.canJump = true;
7895
7901
  }
7896
7902
  if (this.noObserver) {
@@ -9387,7 +9393,7 @@ export default {
9387
9393
  ::v-deep .circle-tag {
9388
9394
  width: 10px;
9389
9395
  height: 10px;
9390
- margin-top: 5px;
9396
+ margin-top: 0;
9391
9397
  border-radius: 50%;
9392
9398
  background-color: #ff5000;
9393
9399
  }
@@ -1468,68 +1468,68 @@ export class StreamLoader {
1468
1468
  }
1469
1469
  }
1470
1470
 
1471
- async getBox({ id, projectId = this.projectId || 0, isDebug }) {
1472
- // 1. 尝试从 IndexedDB 读取
1473
- const cached = await this._getFromDB(id, projectId);
1474
- if (cached && !isDebug) {
1475
- return cached;
1476
- }
1477
-
1478
- const getLegacyBox = async () => {
1479
- if (!this.modelApi || typeof this.modelApi.getBox !== 'function') {
1480
- throw new Error('modelApi.getBox is not available');
1481
- }
1482
- const res = await this.modelApi.getBox({ id, projectId });
1483
- if (!res) return null;
1484
- this._applyPrefixId(res, 'id', id);
1485
- this._saveToDB(id, res, projectId);
1486
- return res;
1487
- };
1488
-
1489
- // 2. 未配置批次数接口时,兼容旧版一次性请求。
1490
- if (!this.modelApi || typeof this.modelApi.getMeshBatchCount !== 'function') {
1491
- return getLegacyBox();
1492
- }
1493
-
1494
- // 3. 先获取批次数量,再顺序拉取每一批包围盒数据。
1495
- let batchResult;
1496
- try {
1497
- batchResult = await this.modelApi.getMeshBatchCount({ id, projectId });
1498
- } catch (error) {
1499
- const status = error && error.response ? error.response.status : error && error.status;
1500
- if (status === 404) {
1501
- return getLegacyBox();
1502
- }
1503
- throw error;
1504
- }
1505
- const batchCount = Number(
1506
- batchResult && typeof batchResult === 'object' ? batchResult.index : batchResult
1507
- );
1508
- if (!Number.isInteger(batchCount) || batchCount < 0) {
1509
- throw new Error('Invalid getBox batch count');
1510
- }
1511
- if (batchCount === 0) {
1512
- return [];
1513
- }
1514
-
1515
- const boxList = [];
1516
- for (let index = 0; index < batchCount; index++) {
1517
- const batch = await this.modelApi.getBox({ id, projectId, index });
1518
- if (!batch) {
1519
- throw new Error(`Failed to get box batch: ${index}`);
1520
- }
1521
- if (Array.isArray(batch)) {
1522
- boxList.push(...batch);
1523
- } else {
1524
- boxList.push(batch);
1525
- }
1526
- }
1527
-
1528
- // 4. 全部批次成功后统一处理并写入完整缓存。
1529
- this._applyPrefixId(boxList, 'id', id);
1530
- this._saveToDB(id, boxList, projectId);
1531
- return boxList;
1532
- }
1471
+ async getBox({ id, projectId = this.projectId || 0, isDebug }) {
1472
+ // 1. 尝试从 IndexedDB 读取
1473
+ const cached = await this._getFromDB(id, projectId);
1474
+ if (cached && !isDebug) {
1475
+ return cached;
1476
+ }
1477
+
1478
+ const getLegacyBox = async () => {
1479
+ if (!this.modelApi || typeof this.modelApi.getBox !== 'function') {
1480
+ throw new Error('modelApi.getBox is not available');
1481
+ }
1482
+ const res = await this.modelApi.getBox({ id, projectId });
1483
+ if (!res) return null;
1484
+ this._applyPrefixId(res, 'id', id);
1485
+ this._saveToDB(id, res, projectId);
1486
+ return res;
1487
+ };
1488
+
1489
+ // 2. 未配置批次数接口时,兼容旧版一次性请求。
1490
+ if (!this.modelApi || typeof this.modelApi.getMeshBatchCount !== 'function') {
1491
+ return getLegacyBox();
1492
+ }
1493
+
1494
+ // 3. 先获取批次数量,再顺序拉取每一批包围盒数据。
1495
+ let batchResult;
1496
+ try {
1497
+ batchResult = await this.modelApi.getMeshBatchCount({ id, projectId });
1498
+ } catch (error) {
1499
+ const status = error && error.response ? error.response.status : error && error.status;
1500
+ if (status === 404) {
1501
+ return getLegacyBox();
1502
+ }
1503
+ throw error;
1504
+ }
1505
+ const batchCount = Number(
1506
+ batchResult && typeof batchResult === 'object' ? batchResult.index : batchResult
1507
+ );
1508
+ if (!Number.isInteger(batchCount) || batchCount < 0) {
1509
+ throw new Error('Invalid getBox batch count');
1510
+ }
1511
+ if (batchCount === 0) {
1512
+ return [];
1513
+ }
1514
+
1515
+ const boxList = [];
1516
+ for (let index = 0; index < batchCount; index++) {
1517
+ const batch = await this.modelApi.getBox({ id, projectId, index });
1518
+ if (!batch) {
1519
+ throw new Error(`Failed to get box batch: ${index}`);
1520
+ }
1521
+ if (Array.isArray(batch)) {
1522
+ boxList.push(...batch);
1523
+ } else {
1524
+ boxList.push(batch);
1525
+ }
1526
+ }
1527
+
1528
+ // 4. 全部批次成功后统一处理并写入完整缓存。
1529
+ this._applyPrefixId(boxList, 'id', id);
1530
+ this._saveToDB(id, boxList, projectId);
1531
+ return boxList;
1532
+ }
1533
1533
 
1534
1534
  async handleCameraControlForStream(args) {
1535
1535
  // 性能优化注释:禁用 range 被注释字段的解构声明与初始化
@@ -427,10 +427,13 @@ MeasureArea.prototype = {
427
427
  transparent: true,
428
428
  opacity: 0.5,
429
429
  side: THREE.DoubleSide,
430
+ depthTest: false,
431
+ depthWrite: false,
430
432
  name: this.measureName
431
433
  });
432
434
  const mesh = new THREE.Mesh(geom, material);
433
435
  mesh.frustumCulled = false;
436
+ mesh.renderOrder = 998;
434
437
  _this.markMeasureObject(mesh);
435
438
  _this.polygonMesh = mesh;
436
439
  _this.scene.add(mesh);