diff --git a/.github/workflows/build.sh b/.github/workflows/build.sh deleted file mode 100755 index eb68eae..0000000 --- a/.github/workflows/build.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash -set -Eeuo pipefail - -# Usage: build.sh -# -# Build the course as of the date specified specified in the -# POT-Creation-Date header of po/$book_lang.po. The output can be -# found in $dest_dir. -# -# The src/ and third_party/ directories are left in a dirty state so -# you can run `mdbook test` and other commands afterwards. - -book_lang=${1:?"Usage: $0 "} -dest_dir=${2:?"Usage: $0 "} - -if [ "$book_lang" = "zh-CN" ]; then - echo "::group::Building Chinese version" -else - pot_creation_date=$(grep --max-count 1 '^"POT-Creation-Date:' "po/$book_lang.po" | sed -E 's/".*: (.*)\\n"/\1/') - pot_creation_date=${pot_creation_date:-now} - echo "::group::Building $book_lang translation as of $pot_creation_date" - - # Back-date the sources to POT-Creation-Date. The content lives in two - # directories: - rm -r src/ - git restore --source "$(git rev-list -n 1 --before "$pot_creation_date" @)" src/ - # Set language and adjust site URL. Clear the redirects since they are - # in sync with the source files, not the translation. - export MDBOOK_BOOK__LANGUAGE=$book_lang - export MDBOOK_OUTPUT__HTML__SITE_URL=/phira-doc/$book_lang/ - export MDBOOK_OUTPUT__HTML__REDIRECT='{}' - - # Include language-specific Pandoc configuration - # if [ -f ".github/pandoc/$book_lang.yaml" ]; then - # export MDBOOK_OUTPUT__PANDOC__PROFILE__PDF__DEFAULTS=".github/pandoc/$book_lang.yaml" - # fi -fi - -mdbook build -d "$dest_dir" -# if [ -f "$dest_dir/pandoc/pdf/phira-doc.pdf" ]; then -# mv "$dest_dir/pandoc/pdf/phira-doc.pdf" "$dest_dir/html/" -# fi - -echo "::endgroup::" diff --git a/.github/workflows/install-mdbook/action.yml b/.github/workflows/install-mdbook/action.yml deleted file mode 100644 index b9b4485..0000000 --- a/.github/workflows/install-mdbook/action.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Install mdbook and dependencies - -description: Install mdbook with the dependencies we need. - -runs: - using: composite - steps: - # The --locked flag is important for reproducible builds. It also - # avoids breakage due to skews between mdbook and mdbook-svgbob. - - name: Install mdbook - run: cargo install mdbook --locked --version 0.5.1 - shell: bash - - - name: Install mdbook-i18n-helpers - run: cargo install mdbook-i18n-helpers - shell: bash diff --git a/.github/workflows/mdbook.yml b/.github/workflows/mdbook.yml deleted file mode 100644 index eeda6cf..0000000 --- a/.github/workflows/mdbook.yml +++ /dev/null @@ -1,75 +0,0 @@ -# Sample workflow for building and deploying a mdBook site to GitHub Pages -# -# To get started with mdBook see: https://rust-lang.github.io/mdBook/index.html -# -name: Deploy mdBook site to Pages - -on: - # Runs on pushes targeting the default branch - push: - branches: ["main"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false - -env: - LANGUAGES: en - -jobs: - # Build job - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 # We need the full history for build.sh below. - - - name: Setup Rust cache - uses: ./.github/workflows/setup-rust-cache - - - name: Install mdbook - uses: ./.github/workflows/install-mdbook - - - name: Build doc in Chinese - run: .github/workflows/build.sh zh-CN book - - - name: Build all translations - run: | - for po_lang in ${{ env.LANGUAGES }}; do - .github/workflows/build.sh $po_lang book/$po_lang - # mv book/$po_lang/html book/html/$po_lang - done - - - name: Setup Pages - id: pages - uses: actions/configure-pages@v4 - - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: ./book - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 diff --git a/.github/workflows/setup-rust-cache/action.yml b/.github/workflows/setup-rust-cache/action.yml deleted file mode 100644 index f359ed3..0000000 --- a/.github/workflows/setup-rust-cache/action.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: Setup Rust cache - -description: Configure the rust-cache workflow. - -runs: - using: composite - steps: - - name: Setup Rust cache - uses: Swatinem/rust-cache@v2 diff --git a/.gitignore b/.gitignore index 706cfbe..6e5d62c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,8 @@ -book +node_modules +pnpm-lock.yaml +pnpm-workspace.yaml -# gettext -*.pot -*.mo - -# m*ther f*cking Mac -.DS_Store +# Vitepress +.vitepress/dist +.vitepress/cache +.vitepress/.temp \ No newline at end of file diff --git a/.vitepress/config.mts b/.vitepress/config.mts new file mode 100644 index 0000000..1381e5e --- /dev/null +++ b/.vitepress/config.mts @@ -0,0 +1,286 @@ +import { defineConfig } from 'vitepress' +import { MermaidMarkdown, MermaidPlugin } from 'vitepress-plugin-mermaid'; +import markdownItTaskCheckbox from 'markdown-it-task-checkbox' +import { groupIconMdPlugin, groupIconVitePlugin, localIconLoader } from 'vitepress-plugin-group-icons' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + vite: { + plugins: [ + MermaidPlugin(), + groupIconVitePlugin({ + customIcon: { + github: localIconLoader(import.meta.url, '../src/public/svg/github.svg'), + }, + }) + ], + optimizeDeps: { + exclude: [ + '@nolebase/vitepress-plugin-enhanced-readabilities/client', + 'vitepress', + '@nolebase/ui', + ], + include: ['mermaid'], + }, + ssr: { + noExternal: [ + '@nolebase/vitepress-plugin-enhanced-readabilities', + "@nolebase/ui-asciinema", + '@nolebase/ui', + 'mermaid', + ], + }, + }, + title: "Phira", + description: "Phigros 二创社区", + lang: "zh-CN", + srcDir: './src', + head: [ + ['link', { rel: 'icon', href: '/favicon.png' }], + ], + themeConfig: {// https://vitepress.dev/reference/default-theme-config + search: { + provider: 'local' + }, + logo: "/favicon.png", + editLink: { + pattern: 'https://github.com/OrbiterStellarTrek/Phira-Doc/edit/main/src/:path', + text: '在 GitHub 上编辑此页' + }, + lastUpdated: { + text: '更新于', + formatOptions: { + dateStyle: 'full', + timeStyle: 'medium' + } + }, + docFooter: { + prev: '上一个', + next: '下一个' + }, + externalLinkIcon: true, + outline: { + level: [2,4], // 显示2-4级标题 + // level: 'deep', // 显示2-6级标题 + label: '当前页大纲' // 文字显示 + }, + returnToTopLabel:'返回顶部', + sidebarMenuLabel:'目录', + + nav: [ + { text: '简介', link: '/README' }, + { text: '总览', link: '/SUMMARY' } + ], + + sidebar: [ + { + text: '简介', + link: '/README' + }, + { + text: '资源包', + link: '/respack/' + }, + { + text: '基础帮助文档', + link: '/help/' + }, + { + text: '谱面标准', + link: '/chart-standard/', + items: [ + { text: '谱面信息', link: '/chart-standard/chartinfo' }, + { + text: '谱面文件格式', + link: '/chart-standard/chart-format/', + collapsed: true, + items: [ + { + text: 'RPE', + link: '/chart-standard/chart-format/rpe/', + collapsed: true, + items: [ + { text: '谱面根目录', link: '/chart-standard/chart-format/rpe/root' }, + { text: '判定线', link: '/chart-standard/chart-format/rpe/judgeLine' }, + { text: 'beat', link: '/chart-standard/chart-format/rpe/beat' }, + { text: '音符', link: '/chart-standard/chart-format/rpe/note' }, + { text: '普通事件', link: '/chart-standard/chart-format/rpe/event' }, + { text: '特殊事件', link: '/chart-standard/chart-format/rpe/extendEvent' }, + { text: '扩展特性', link: '/chart-standard/chart-format/rpe/extend' }, + { text: 'Controls', link: '/chart-standard/chart-format/rpe/controls' }, + ] + }, + { + text: 'PE', + link: '/chart-standard/chart-format/pe/', + collapsed: true, + items: [ + { text: '基本信息', link: '/chart-standard/chart-format/pe/basic' }, + { text: '事件', link: '/chart-standard/chart-format/pe/event' }, + { text: '音符', link: '/chart-standard/chart-format/pe/note' }, + ] + }, + { + text: 'Official', + link: '/chart-standard/chart-format/phi/', + collapsed: true, + items: [ + { text: '谱面根目录', link: '/chart-standard/chart-format/phi/root' }, + { text: '音符', link: '/chart-standard/chart-format/phi/note' }, + { text: '事件', link: '/chart-standard/chart-format/phi/event' }, + { text: '判定线', link: '/chart-standard/chart-format/phi/judgeLine' }, + ] + } + ] + }, + { text: '音乐文件格式', link: '/chart-standard/music' }, + { + text: '扩展特性', + link: '/chart-standard/extra/', + collapsed: true, + items: [ + { + text: '特效', + link: '/chart-standard/extra/effect/', + collapsed: true, + items: [ + { + text: '内置着色器', + link: '/chart-standard/extra/effect/builtin/', + collapsed: true, + items: [ + { text: 'chromatic', link: '/chart-standard/extra/effect/builtin/chromatic' }, + { text: 'circleBlur', link: '/chart-standard/extra/effect/builtin/circleBlur' }, + { text: 'fisheye', link: '/chart-standard/extra/effect/builtin/fisheye' }, + { text: 'glitch', link: '/chart-standard/extra/effect/builtin/glitch' }, + { text: 'grayscale', link: '/chart-standard/extra/effect/builtin/grayscale' }, + { text: 'noise', link: '/chart-standard/extra/effect/builtin/noise' }, + { text: 'pixel', link: '/chart-standard/extra/effect/builtin/pixel' }, + { text: 'radialBlur', link: '/chart-standard/extra/effect/builtin/radialBlur' }, + { text: 'shockwave', link: '/chart-standard/extra/effect/builtin/shockwave' }, + { text: 'vignette', link: '/chart-standard/extra/effect/builtin/vignette' }, + ] + }, + { text: '自行编写着色器', link: '/chart-standard/extra/effect/custom-shader' }, + ] + }, + { text: '视频背景', link: '/chart-standard/extra/video/' }, + ] + }, + { text: '解锁动画', link: '/chart-standard/unlock_video/' }, + ] + }, + { + text: '活动指南', + link: '/event/' + }, + { + text: 'UML文档', + link: '/uml/README', + collapsed: true, + items: [ + { + text: '语法', + link: '/uml/syntax/README', + collapsed: true, + items: [ + { text: '坐标', link: '/uml/syntax/coordinate' }, + { text: '数据类型', link: '/uml/syntax/type' }, + { text: '表达式', link: '/uml/syntax/expression' }, + { text: '变量', link: '/uml/syntax/variable' }, + { + text: '元素', + link: '/uml/syntax/element', + collapsed: true, + items: [ + { text: '段落元素 p', link: '/uml/syntax/elements/p' }, + { text: '图片元素 img', link: '/uml/syntax/elements/img' }, + { text: '谱面合集元素 col', link: '/uml/syntax/elements/col' }, + { text: '按钮元素 btn', link: '/uml/syntax/elements/btn' }, + ] + }, + { text: '注释', link: '/uml/syntax/comment' }, + { text: '注释表达式', link: '/uml/syntax/comment_expression' }, + ] + }, + { text: '如何调试', link: '/uml/debugging' }, + { + text: '样例 UML', + link: '/uml/examples/README', + collapsed: true, + items: [ + { text: '模板活动', link: '/uml/examples/template_event' }, + { text: '2024 圣诞夜惊魂', link: '/uml/examples/xmas-2024' }, + ] + }, + { + text: '使用进阶', + link: '/uml/advanced/README', + collapsed: true, + items: [ + { text: '页面切换', link: '/uml/advanced/page_switch' }, + ] + } + ] + }, + { + text: 'Phira 构建指南', + link: '/phira_build_guide/README', + collapsed: true, + items: [ + { text: 'cargo 安装教程', link: '/phira_build_guide/cargo' }, + { text: 'Windows', link: '/phira_build_guide/Windows' }, + { text: 'Linux', link: '/phira_build_guide/Linux' }, + { text: 'Android', link: '/phira_build_guide/Android' }, + ] + }, + { + text: 'Phira MP 构建指南', + collapsed: true, + items: [ + { text: '教程', link: '/mp_build_guide/' }, + { text: 'Termux(安卓)', link: '/mp_build_guide/Termux' }, + { text: 'Windows', link: '/mp_build_guide/Windows' }, + { text: 'Linux', link: '/mp_build_guide/Linux' }, + ] + }, + { + text: '糗事集锦', + link: '/dev-incident/README', + collapsed: true, + items: [ + { text: '长风的柳絮', link: '/dev-incident/长风的柳絮' }, + { text: 'v0.6.0 更新消息', link: '/dev-incident/v0.6.0更新消息' }, + { text: '6th PecJam', link: '/dev-incident/6thpecjam' }, + { text: '天空之城', link: '/dev-incident/天空之城' }, + { text: 'Forever Young', link: '/dev-incident/ForeverYoung' }, + ] + } + ], + + socialLinks: [ + { icon: 'github', link: 'https://github.com/OrbiterStellarTrek/Phira-Doc' } + ] + }, + markdown: { + container: { + tipLabel: '提示', + warningLabel: '警告', + dangerLabel: '危险', + infoLabel: '信息', + detailsLabel: '更多' + }, + config(md) { + md.use(MermaidMarkdown); + md.use(markdownItTaskCheckbox); //todo + md.use(groupIconMdPlugin) //代码组图标 + }, + }, + sitemap: { + hostname: 'https://phira-doc.star-trip.space/', + transformItems(items) { + return items.filter((item) => !item.url.includes('migration')) + } + }, + lastUpdated: true, +}) diff --git a/.vitepress/markdown-it-task-checkbox.d.ts b/.vitepress/markdown-it-task-checkbox.d.ts new file mode 100644 index 0000000..2a3aa6f --- /dev/null +++ b/.vitepress/markdown-it-task-checkbox.d.ts @@ -0,0 +1,15 @@ +declare module 'markdown-it-task-checkbox' { + import MarkdownIt from 'markdown-it' + + interface TaskCheckboxOptions { + disabled?: boolean + divWrap?: boolean + divClass?: string + idPrefix?: string + ulClass?: string + liClass?: string + } + + const markdownItTaskCheckbox: (md: MarkdownIt, options?: TaskCheckboxOptions) => void + export default markdownItTaskCheckbox +} diff --git a/.vitepress/theme/css/custom-block.css b/.vitepress/theme/css/custom-block.css new file mode 100644 index 0000000..05c2cc3 --- /dev/null +++ b/.vitepress/theme/css/custom-block.css @@ -0,0 +1,193 @@ +/* .vitepress/theme/style/custom-block.css */ +/* 深浅色卡 */ +:root { + --custom-block-info-left: #cccccc; + --custom-block-info-bg: #fafafa; + + --custom-block-tip-left: #009400; + --custom-block-tip-bg: #e6f6e6; + + --custom-block-warning-left: #e6a700; + --custom-block-warning-bg: #fff8e6; + + --custom-block-danger-left: #e13238; + --custom-block-danger-bg: #ffebec; + + --custom-block-note-left: #4cb3d4; + --custom-block-note-bg: #eef9fd; + + --custom-block-important-left: #a371f7; + --custom-block-important-bg: #f4eefe; + + --custom-block-caution-left: #e0575b; + --custom-block-caution-bg: #fde4e8; +} + +.dark { + --custom-block-info-left: #cccccc; + --custom-block-info-bg: #474748; + + --custom-block-tip-left: #009400; + --custom-block-tip-bg: #003100; + + --custom-block-warning-left: #e6a700; + --custom-block-warning-bg: #4d3800; + + --custom-block-danger-left: #e13238; + --custom-block-danger-bg: #4b1113; + + --custom-block-note-left: #4cb3d4; + --custom-block-note-bg: #193c47; + + --custom-block-important-left: #a371f7; + --custom-block-important-bg: #230555; + + --custom-block-caution-left: #e0575b; + --custom-block-caution-bg: #391c22; +} + + +/* 标题字体大小 */ +.custom-block-title { + font-size: 16px; +} + +/* info容器:背景色、左侧 */ +.custom-block.info { + border-left: 5px solid var(--custom-block-info-left); + background-color: var(--custom-block-info-bg); +} + +/* info容器:svg图 */ +.custom-block.info [class*="custom-block-title"]::before { + content: ''; + background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E"); + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + position: relative; + margin-right: 4px; + left: -5px; + top: -1px; +} + +/* 提示容器:边框色、背景色、左侧 */ +.custom-block.tip { + /* border-color: var(--custom-block-tip); */ + border-left: 5px solid var(--custom-block-tip-left); + background-color: var(--custom-block-tip-bg); +} + +/* 提示容器:svg图 */ +.custom-block.tip [class*="custom-block-title"]::before { + content: ''; + background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E"); + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + position: relative; + margin-right: 4px; + left: -5px; + top: -2px; +} + +/* 警告容器:背景色、左侧 */ +.custom-block.warning { + border-left: 5px solid var(--custom-block-warning-left); + background-color: var(--custom-block-warning-bg); +} + +/* 警告容器:svg图 */ +.custom-block.warning [class*="custom-block-title"]::before { + content: ''; + background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E"); + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + position: relative; + margin-right: 4px; + left: -5px; +} + +/* 危险容器:背景色、左侧 */ +.custom-block.danger { + border-left: 5px solid var(--custom-block-danger-left); + background-color: var(--custom-block-danger-bg); +} + +/* 危险容器:svg图 */ +.custom-block.danger [class*="custom-block-title"]::before { + content: ''; + background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E"); + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + position: relative; + margin-right: 4px; + left: -5px; + top: -1px; +} + +/* 提醒容器:背景色、左侧 */ +.custom-block.note { + border-left: 5px solid var(--custom-block-note-left); + background-color: var(--custom-block-note-bg); +} + +/* 提醒容器:svg图 */ +.custom-block.note [class*="custom-block-title"]::before { + content: ''; + background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E"); + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + position: relative; + margin-right: 4px; + left: -5px; + top: -1px; +} + +/* 重要容器:背景色、左侧 */ +.custom-block.important { + border-left: 5px solid var(--custom-block-important-left); + background-color: var(--custom-block-important-bg); +} + +/* 重要容器:svg图 */ +.custom-block.important [class*="custom-block-title"]::before { + content: ''; + background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E"); + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + position: relative; + margin-right: 4px; + left: -5px; + top: -1px; +} + +/* 注意容器:背景色、左侧 */ +.custom-block.caution { + border-left: 5px solid var(--custom-block-caution-left); + background-color: var(--custom-block-caution-bg); +} + +/* 注意容器:svg图 */ +.custom-block.caution [class*="custom-block-title"]::before { + content: ''; + background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E"); + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + position: relative; + margin-right: 4px; + left: -5px; + top: -1px; +} \ No newline at end of file diff --git a/.vitepress/theme/css/sidebarIcon.css b/.vitepress/theme/css/sidebarIcon.css new file mode 100644 index 0000000..bdd1355 --- /dev/null +++ b/.vitepress/theme/css/sidebarIcon.css @@ -0,0 +1,63 @@ +/* .vitepress/theme/style/sidebarIcon.css */ + +/* 侧边栏缩放 */ +.group:has([role='button']) .VPSidebarItem.level-0 .items { + padding-left: 15px !important; + border-left: 1px solid var(--vp-c-divider); + border-radius: 2px; + transition: background-color 0.25s; +} + +/* 侧边栏图标 */ +/* 选中所有 .VPSidebarItem 元素,排除带有 .is-link 类的 */ +#VPSidebarNav .VPSidebarItem:not(.is-link).collapsed >.item { + display: inline-flex; + align-items: center; /* 垂直居中对齐图标和文本 */ +} + +/* 为所有不带 .is-link 的 .VPSidebarItem 折叠状态添加图标 */ +#VPSidebarNav .VPSidebarItem:not(.is-link).collapsed >.item::before { + content: ''; + background-image: url('/svg/document.svg'); /* 设置图标路径 */ + width: 16px; + height: 16px; + display: inline-block; + vertical-align: middle; /* 确保图标与文本垂直居中 */ + background-size: cover; + margin-right: 4px; /* 给图标和文本之间增加间距 */ +} + +#VPSidebarNav .VPSidebarItem:not(.is-link) >.item { + display: inline-flex; + align-items: center; /* 垂直居中对齐图标和文本 */ +} + +/* 为所有不带 .is-link 的 .VPSidebarItem 非折叠状态添加图标 */ +#VPSidebarNav .VPSidebarItem:not(.is-link) >.item::before { + content: ''; + background-image: url('/svg/document-open.svg'); /* 设置图标路径 */ + width: 16px; + height: 16px; + display: inline-block; + vertical-align: middle; /* 确保图标与文本垂直居中 */ + background-size: cover; + margin-right: 4px; /* 给图标和文本之间增加间距 */ +} + +/* 选中带有 .is-link 的 .VPSidebarItem 的直接子元素 .item */ +#VPSidebarNav .VPSidebarItem.is-link > .item { + display: inline-flex; + align-items: center; /* 垂直居中图标和文字 */ +} + +/* 为选中的 .item 添加图标 */ +#VPSidebarNav .VPSidebarItem.is-link > .item::before { + content: ''; + background-image: url('/svg/file.svg'); /* 图标路径 */ + width: 16px; + height: 16px; + display: inline-block; + vertical-align: middle; + background-size: cover; + margin-right: 4px; /* 图标与文字间距 */ +} \ No newline at end of file diff --git a/.vitepress/theme/css/vp-code-group.css b/.vitepress/theme/css/vp-code-group.css new file mode 100644 index 0000000..4198147 --- /dev/null +++ b/.vitepress/theme/css/vp-code-group.css @@ -0,0 +1,64 @@ +/* .vitepress/theme/style/vp-code-group.css */ + +/* 代码组:tab间距 */ +.vp-code-group .tabs { + padding-top: 20px; +} + +/* 代码组:添加样式及阴影 */ +.vp-code-group { + color: var(--vp-c-black-soft); + border-radius: 8px; + box-shadow: 0 10px 30px 0 rgb(0 0 0 / 40%); +} + +/* 代码组:添加macOS风格的小圆点 */ +.vp-code-group .tabs::before { + content: ' '; + position: absolute; + top: 12px; + left: 12px; + height: 12px; + width: 12px; + background: #fc625d; + border-radius: 50%; + box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b; +} + + +/* 代码组:修正倒角、阴影、边距 */ +.vp-code-group div[class*="language-"] { + border-radius: 8px; + box-shadow: none; + padding-top: 0px; +} + +/* 代码组:隐藏小圆点 */ +.vp-code-group div[class*="language-"]::before { + display: none; +} + +/* 代码组:修正行号位置 */ +.vp-code-group .line-numbers-mode .line-numbers-wrapper { + padding-top: 20px; +} + +/* 代码组:修正行号右侧竖线位置 */ +.vp-code-group .line-numbers-mode .line-numbers-wrapper::after { + top: 24px; + height: calc(100% - 45px); +} + + + +/* 代码组(无行号):修正倒角、阴影、边距 */ +.vp-code-group div[class*="language-"].vp-adaptive-theme { + border-radius: 8px; + box-shadow: none; + padding-top: 0px; +} + +/* 代码组(无行号):隐藏小圆点 */ +.vp-code-group div[class*="language-"].vp-adaptive-theme::before { + display: none; +} \ No newline at end of file diff --git a/.vitepress/theme/css/vp-code.css b/.vitepress/theme/css/vp-code.css new file mode 100644 index 0000000..4969ec4 --- /dev/null +++ b/.vitepress/theme/css/vp-code.css @@ -0,0 +1,40 @@ +/* 代码块:增加留空边距 增加阴影 */ +.vp-doc div[class*=language-] { + box-shadow: 0 10px 30px 0 rgb(0 0 0 / 40%); + padding-top: 20px; +} + +/* 代码块:添加macOS风格的小圆点 */ +.vp-doc div[class*=language-]::before { + content: ""; + display: block; + position: absolute; + top: 12px; + left: 12px; + width: 12px; + height: 12px; + background-color: #ff5f56; + border-radius: 50%; + box-shadow: 20px 0 0 #ffbd2e, 40px 0 0 #27c93f; + z-index: 1; +} + +/* 代码块:下移行号 隐藏右侧竖线 */ +.vp-doc .line-numbers-wrapper { + padding-top: 40px; + border-right: none; +} + +/* 代码块:重建行号右侧竖线 */ +.vp-doc .line-numbers-wrapper::after { + content: ""; + position: absolute; + top: 40px; + right: 0; + border-right: 1px solid var(--vp-code-block-divider-color); + height: calc(100% - 60px); +} + +.vp-doc div[class*='language-'].line-numbers-mode { + margin-bottom: 20px; +} \ No newline at end of file diff --git a/.vitepress/theme/custom.css b/.vitepress/theme/custom.css new file mode 100644 index 0000000..5009f81 --- /dev/null +++ b/.vitepress/theme/custom.css @@ -0,0 +1,139 @@ +@import './fonts/LXGW/LXGW Wenkai.css'; +@import './css/vp-code-group.css'; +@import './css/custom-block.css'; +@import './css/sidebarIcon.css'; +@import './css/vp-code.css'; + +@font-face { + font-family: 'Google Sans'; + src: url('./fonts/GoogleSans-VariableFont_GRAD,opsz,wght.ttf') format('truetype'); +} + +@font-face { + font-family: 'Mi Sans'; + src: url('./fonts/MiSans-Medium.woff') format('woff'); +} + +:root { + --vp-font-family-base: 'Google Sans', 'Mi Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + --vp-font-family-mono: 'LXGW WenKai Mono', "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + + +.VPSocialLinks.VPNavBarSocialLinks.social-links { + margin-right: 0; +} + +/* 设置标题的字重为 Medium (500) */ +h1, h2, h3, h4, h5, h6 { + font-weight: 500; +} + + +/* 默认(浅色模式)下,隐藏深色图片 */ +.dark-image { + display: none; +} + +/* 当 html 标签有 .dark class 时(深色模式下) */ +.dark .dark-image { + display: block; /* 显示深色图片 */ +} + +.dark .light-image { + display: none; /* 隐藏浅色图片 */ +} + +/* checkbox 颜色设置 */ +li.task-list-item { + display: flex; + align-items: baseline; + flex-wrap: wrap; + /* margin: 2px 0 0; */ + list-style: inherit; +} + +/* Target the last child element to push it to the next line */ +li.task-list-item ul:last-child { + flex-basis: 100%; + margin-right: 0; +} + +li.task-list-item input[type="checkbox"] { + position: relative; + width: 13px; + height: 13px; + line-height: 12px; + margin-right: 8px; + border: 1px solid #949494; + + -webkit-appearance: none; + appearance: none; + -moz-appearance: none; +} + +li.task-list-item input[type="checkbox"]:after { + position: absolute; + top: 0; + color: #000; + width: 13px; + height: 13px; + display: inline-block; + visibility: visible; + padding-left: 0; + text-align: center; + content: " "; + border-radius: 3px; +} + +li.task-list-item input[type="checkbox"]:checked { + background-color: var(--vp-c-brand); +} + +li.task-list-item input[type="checkbox"]:checked::after { + content: "✓"; + color: #fff; + line-height: 13px; + font-size: 10px; + font-weight: 700; + text-align: center; +} + +.timeline-dot { + color: #7f8c8d; +} + +.task-list { + margin: 0 !important; +} + +li.task-list-item p { + display: flex; + margin: 0; + align-items: center; +} + +/* checkbox 颜色设置 end */ + +/* 图片放大时盖掉导航栏 */ + +.medium-zoom-overlay { + z-index: 30; +} + +.medium-zoom-image { + z-index: 9999 !important;/* 给的值是21,但是实测盖不住,直接999 */ +} +/* 图片放大时盖掉导航栏 end */ + +/* 去掉下划线 */ +.vp-doc a { + text-decoration: none; +} +/* 去掉下划线 end */ + +/* 终端字体 */ +.ap-terminal { + font-family: "MesloLGS" !important; +} +/* 终端字体 end */ \ No newline at end of file diff --git a/.vitepress/theme/data/FooterData.ts b/.vitepress/theme/data/FooterData.ts new file mode 100644 index 0000000..f7f2bfa --- /dev/null +++ b/.vitepress/theme/data/FooterData.ts @@ -0,0 +1,76 @@ +import type { FooterData } from '@theojs/lumen' + +export const Footer_Data: FooterData = { + beian: { + showIcon: false, + icp: { + icon: { + light: 'fluent:globe-shield-48-filled', + dark: 'fluent:globe-shield-48-filled', + color: { light: 'rgba(20, 150, 255, 1)', dark: 'rgba(100, 200, 255, 1)' } + }, + number: '', + rel: 'noopener noreferrer' + }, + }, + author: { + icon: { + light: 'mdi:copyright', + dark: 'mdi:copyright', + color: { light: '#999', dark: '#ccc' } + }, + name: 'Teamflos', + link: 'https://github.com/Teamflos', + rel: 'noopener noreferrer' + }, + group: [ + { + icon: { + svg: `` + }, + title: '友情链接', + links: [ + // { + // icon: { + // svg: { + // light: ``, + // dark: `` + // } + // }, + // name: '', + // link: '', + // rel: 'noopener noreferrer' + // }, + { + icon: { + svg: '' + }, + name: 'Phira Repo', + link: 'https://github.com/Teamflos/Phira' + // icon 和 color 可省略 + }, + { + icon: { + svg: '' + }, + name: 'Phira MP Repo', + link: 'https://github.com/Teamflos/Phira-MP' + // icon 和 color 可省略 + } + ] + }, + { + title: '💠其他', + links: [ + { + icon: { + svg: `` + }, + name: '加入Phira 频道', + link: 'https://pd.qq.com/s/ezgv3q71g', + rel: 'noopener noreferrer' + } + ] + } + ] +} diff --git a/.vitepress/theme/fonts/GoogleSans-VariableFont_GRAD,opsz,wght.ttf b/.vitepress/theme/fonts/GoogleSans-VariableFont_GRAD,opsz,wght.ttf new file mode 100644 index 0000000..5d9102f Binary files /dev/null and b/.vitepress/theme/fonts/GoogleSans-VariableFont_GRAD,opsz,wght.ttf differ diff --git a/.vitepress/theme/fonts/LXGW/LXGW Wenkai.css b/.vitepress/theme/fonts/LXGW/LXGW Wenkai.css new file mode 100644 index 0000000..17c87f1 --- /dev/null +++ b/.vitepress/theme/fonts/LXGW/LXGW Wenkai.css @@ -0,0 +1,22 @@ +@font-face { + font-family: 'LXGW WenKai'; + src: url('LXGWWenKai-Regular.woff2') format('woff2'); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'LXGW WenKai'; + src: url('LXGWWenKai-Medium.woff2') format('woff2'); + font-weight: 500; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'LXGW WenKai Mono'; + src: url('LXGWWenKaiMono-Regular.woff2') format('woff2'); + font-weight: 400; + font-style: normal; +} \ No newline at end of file diff --git a/.vitepress/theme/fonts/LXGW/LXGWWenKai-Medium.woff2 b/.vitepress/theme/fonts/LXGW/LXGWWenKai-Medium.woff2 new file mode 100644 index 0000000..078b332 Binary files /dev/null and b/.vitepress/theme/fonts/LXGW/LXGWWenKai-Medium.woff2 differ diff --git a/.vitepress/theme/fonts/LXGW/LXGWWenKai-Regular.woff2 b/.vitepress/theme/fonts/LXGW/LXGWWenKai-Regular.woff2 new file mode 100644 index 0000000..45b4904 Binary files /dev/null and b/.vitepress/theme/fonts/LXGW/LXGWWenKai-Regular.woff2 differ diff --git a/.vitepress/theme/fonts/LXGW/LXGWWenKaiMono-Regular.woff2 b/.vitepress/theme/fonts/LXGW/LXGWWenKaiMono-Regular.woff2 new file mode 100644 index 0000000..c1ecc70 Binary files /dev/null and b/.vitepress/theme/fonts/LXGW/LXGWWenKaiMono-Regular.woff2 differ diff --git a/.vitepress/theme/fonts/MesloLGS NF Regular.ttf b/.vitepress/theme/fonts/MesloLGS NF Regular.ttf new file mode 100644 index 0000000..88b8149 Binary files /dev/null and b/.vitepress/theme/fonts/MesloLGS NF Regular.ttf differ diff --git a/.vitepress/theme/fonts/MiSans-Medium.woff b/.vitepress/theme/fonts/MiSans-Medium.woff new file mode 100644 index 0000000..8839fec Binary files /dev/null and b/.vitepress/theme/fonts/MiSans-Medium.woff differ diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts new file mode 100644 index 0000000..954cff2 --- /dev/null +++ b/.vitepress/theme/index.ts @@ -0,0 +1,73 @@ +// https://vitepress.dev/guide/custom-theme +import { h } from 'vue' +import type { Theme } from 'vitepress' +import DefaultTheme from 'vitepress/theme' + +import { + NolebaseEnhancedReadabilitiesMenu, + NolebaseEnhancedReadabilitiesScreenMenu, +} from '@nolebase/vitepress-plugin-enhanced-readabilities/client' +import giscusTalk from 'vitepress-plugin-comment-with-giscus'; +import { useData, useRoute } from 'vitepress'; +import mediumZoom from 'medium-zoom'; +import { onMounted, watch, nextTick } from 'vue'; +import { NuAsciinemaPlayer } from "@nolebase/ui-asciinema"; +import { Footer } from '@theojs/lumen' +import { Footer_Data } from './data/FooterData.ts' + +import "asciinema-player/dist/bundle/asciinema-player.css"; +import 'virtual:group-icons.css' //代码组样式 +import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css' +import './custom.css' + +import Tooltip from './vue/Tooltip.vue' + +export default { + extends: DefaultTheme, + setup() { + const route = useRoute(); + const initZoom = () => { + // mediumZoom('[data-zoomable]', { background: 'var(--vp-c-bg)' }); // 默认 + mediumZoom('.main img', { background: 'var(--vp-c-bg)' }); // 不显式添加{data-zoomable}的情况下为所有图像启用此功能 + }; + onMounted(() => { + initZoom(); + }); + watch( + () => route.path, + () => nextTick(() => initZoom()) + ); + // Get frontmatter and route + const { frontmatter } = useData(); + // giscus配置 + // giscusTalk({ + // repo: 'Teamflos/Phira-Doc', //仓库 + // repoId: 'R_kgDOPJLFSQ', //仓库ID + // category: 'General', // 讨论分类 + // categoryId: 'DIC_kwDOPJLFSc4Cu9Lv', //讨论分类ID + // mapping: 'pathname', + // inputPosition: 'bottom', + // lang: 'zh-CN', + // }, + // { + // frontmatter, route + // }, + // //默认值为true,表示已启用,此参数可以忽略; + // //如果为false,则表示未启用 + // //您可以使用“comment:true”序言在页面上单独启用它 + // true + // ); + }, + Layout: () => { + // 保留原有组件的同时添加footer插槽 + return h(DefaultTheme.Layout, null, { + 'nav-bar-content-after': () => h(NolebaseEnhancedReadabilitiesMenu), + 'nav-screen-content-after': () => h(NolebaseEnhancedReadabilitiesScreenMenu), + 'layout-bottom': () => h(Footer, { Footer_Data }) + }) + }, + enhanceApp({ app, router, siteData }) { + app.component('Tooltip', Tooltip) // Tooltip + app.component("NuAsciinemaPlayer", NuAsciinemaPlayer); + } +} satisfies Theme diff --git a/.vitepress/theme/vue/Tooltip.vue b/.vitepress/theme/vue/Tooltip.vue new file mode 100644 index 0000000..c8b9877 --- /dev/null +++ b/.vitepress/theme/vue/Tooltip.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/LICENSE b/LICENSE index da6ab6c..7d4f96c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Attribution 4.0 International +Attribution-ShareAlike 4.0 International ======================================================================= @@ -54,16 +54,18 @@ exhaustive, and do not form part of our licenses. ======================================================================= -Creative Commons Attribution 4.0 International Public License +Creative Commons Attribution-ShareAlike 4.0 International Public +License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License ("Public License"). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of -these terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the -Licensed Material available under these terms and conditions. +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. Section 1 -- Definitions. @@ -82,7 +84,11 @@ Section 1 -- Definitions. and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. Copyright and Similar Rights means copyright and/or similar rights + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or @@ -90,29 +96,33 @@ Section 1 -- Definitions. specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - d. Effective Technological Measures means those measures that, in the + e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - e. Exceptions and Limitations means fair use, fair dealing, and/or + f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - f. Licensed Material means the artistic or literary work, database, + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - g. Licensed Rights means the rights granted to You subject to the + i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - h. Licensor means the individual(s) or entity(ies) granting rights + j. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - i. Share means to provide material to the public by any means or + k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material @@ -120,13 +130,13 @@ Section 1 -- Definitions. public may access the material from a place and at a time individually chosen by them. - j. Sui Generis Database Rights means rights other than copyright + l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - k. You means the individual or entity exercising the Licensed Rights + m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. @@ -172,7 +182,13 @@ Section 2 -- Scope. Licensed Rights under the terms and conditions of this Public License. - b. No downstream restrictions. You may not offer or impose + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the @@ -254,9 +270,24 @@ following conditions. information required by Section 3(a)(1)(A) to the extent reasonably practicable. - 4. If You Share Adapted Material You produce, the Adapter's - License You apply must not prevent recipients of the Adapted - Material from complying with this Public License. + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. Section 4 -- Sui Generis Database Rights. @@ -271,7 +302,8 @@ apply to Your use of the Licensed Material: b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material; and + Rights (but not its individual contents) is Adapted Material, + including for purposes of Section 3(b); and c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. @@ -393,4 +425,3 @@ the avoidance of doubt, this paragraph does not form part of the public licenses. Creative Commons may be contacted at creativecommons.org. - diff --git a/README.md b/README.md index 803b65d..1094a7a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# Phira-docs +# Phira-Doc -Visit [here](https://teamflos.github.io/phira-docs/) +See ON [Phira-Doc](https://phira-doc.star-trip.space) \ No newline at end of file diff --git a/book.toml b/book.toml deleted file mode 100644 index 5a6a681..0000000 --- a/book.toml +++ /dev/null @@ -1,15 +0,0 @@ -[book] -authors = ["TeamFlos"] -language = "zh-CN" -src = "src" -title = "Phira Documents" - -[build] -extra-watch-dirs = ["po"] - -[output.html.fold] -enable = true # whether or not to enable section folding -level = 1 # the depth to start folding - -[preprocessor.gettext] -after = ["links"] diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b992b7e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4316 @@ +{ + "name": "phira-docs", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "phira-docs", + "dependencies": { + "@nolebase/ui-asciinema": "^2.18.2", + "@nolebase/vitepress-plugin-enhanced-readabilities": "^2.18.1", + "@theojs/lumen": "^6.4.4", + "asciinema-player": "^3.10.0", + "canvas-confetti": "^1.9.3", + "markdown-it-task-checkbox": "^1.0.6", + "medium-zoom": "^1.1.0", + "mermaid": "^11.10.1", + "vitepress": "^1.6.3", + "vitepress-plugin-comment-with-giscus": "^1.1.15", + "vitepress-plugin-group-icons": "^1.6.3", + "vitepress-plugin-mermaid": "^2.0.17" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.13.0", + "resolved": "https://registry.npmmirror.com/@algolia/abtesting/-/abtesting-1.13.0.tgz", + "integrity": "sha512-Zrqam12iorp3FjiKMXSTpedGYznZ3hTEOAr2oCxI8tbF8bS1kQHClyDYNq/eV0ewMNLyFkgZVWjaS+8spsOYiQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.17.7", + "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz", + "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", + "@algolia/autocomplete-shared": "1.17.7" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.17.7", + "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz", + "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.17.7", + "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz", + "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.17.7", + "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz", + "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==", + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-abtesting/-/client-abtesting-5.47.0.tgz", + "integrity": "sha512-aOpsdlgS9xTEvz47+nXmw8m0NtUiQbvGWNuSEb7fA46iPL5FxOmOUZkh8PREBJpZ0/H8fclSc7BMJCVr+Dn72w==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-analytics/-/client-analytics-5.47.0.tgz", + "integrity": "sha512-EcF4w7IvIk1sowrO7Pdy4Ako7x/S8+nuCgdk6En+u5jsaNQM4rTT09zjBPA+WQphXkA2mLrsMwge96rf6i7Mow==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-common/-/client-common-5.47.0.tgz", + "integrity": "sha512-Wzg5Me2FqgRDj0lFuPWFK05UOWccSMsIBL2YqmTmaOzxVlLZ+oUqvKbsUSOE5ud8Fo1JU7JyiLmEXBtgDKzTwg==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-insights/-/client-insights-5.47.0.tgz", + "integrity": "sha512-Ci+cn/FDIsDxSKMRBEiyKrqybblbk8xugo6ujDN1GSTv9RIZxwxqZYuHfdLnLEwLlX7GB8pqVyqrUSlRnR+sJA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-personalization/-/client-personalization-5.47.0.tgz", + "integrity": "sha512-gsLnHPZmWcX0T3IigkDL2imCNtsQ7dR5xfnwiFsb+uTHCuYQt+IwSNjsd8tok6HLGLzZrliSaXtB5mfGBtYZvQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.47.0.tgz", + "integrity": "sha512-PDOw0s8WSlR2fWFjPQldEpmm/gAoUgLigvC3k/jCSi/DzigdGX6RdC0Gh1RR1P8Cbk5KOWYDuL3TNzdYwkfDyA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-search/-/client-search-5.47.0.tgz", + "integrity": "sha512-b5hlU69CuhnS2Rqgsz7uSW0t4VqrLMLTPbUpEl0QVz56rsSwr1Sugyogrjb493sWDA+XU1FU5m9eB8uH7MoI0g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/ingestion/-/ingestion-1.47.0.tgz", + "integrity": "sha512-WvwwXp5+LqIGISK3zHRApLT1xkuEk320/EGeD7uYy+K8WwDd5OjXnhjuXRhYr1685KnkvWkq1rQ/ihCJjOfHpQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/monitoring/-/monitoring-1.47.0.tgz", + "integrity": "sha512-j2EUFKAlzM0TE4GRfkDE3IDfkVeJdcbBANWzK16Tb3RHz87WuDfQ9oeEW6XiRE1/bEkq2xf4MvZesvSeQrZRDA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/recommend/-/recommend-5.47.0.tgz", + "integrity": "sha512-+kTSE4aQ1ARj2feXyN+DMq0CIDHJwZw1kpxIunedkmpWUg8k3TzFwWsMCzJVkF2nu1UcFbl7xsIURz3Q3XwOXA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.47.0.tgz", + "integrity": "sha512-Ja+zPoeSA2SDowPwCNRbm5Q2mzDvVV8oqxCQ4m6SNmbKmPlCfe30zPfrt9ho3kBHnsg37pGucwOedRIOIklCHw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/requester-fetch/-/requester-fetch-5.47.0.tgz", + "integrity": "sha512-N6nOvLbaR4Ge+oVm7T4W/ea1PqcSbsHR4O58FJ31XtZjFPtOyxmnhgCmGCzP9hsJI6+x0yxJjkW5BMK/XI8OvA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/@algolia/requester-node-http/-/requester-node-http-5.47.0.tgz", + "integrity": "sha512-z1oyLq5/UVkohVXNDEY70mJbT/sv/t6HYtCvCwNrOri6pxBJDomP9R83KOlwcat+xqBQEdJHjbrPh36f1avmZA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@antfu/install-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", + "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", + "license": "MIT", + "dependencies": { + "package-manager-detector": "^1.3.0", + "tinyexec": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@braintree/sanitize-url": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz", + "integrity": "sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==", + "license": "MIT" + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.0.3", + "resolved": "https://registry.npmmirror.com/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/cst-dts-gen/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/@chevrotain/gast": { + "version": "11.0.3", + "resolved": "https://registry.npmmirror.com/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/gast/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmmirror.com/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/types": { + "version": "11.0.3", + "resolved": "https://registry.npmmirror.com/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/utils": { + "version": "11.0.3", + "resolved": "https://registry.npmmirror.com/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", + "license": "Apache-2.0" + }, + "node_modules/@docsearch/css": { + "version": "3.8.2", + "resolved": "https://registry.npmmirror.com/@docsearch/css/-/css-3.8.2.tgz", + "integrity": "sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==", + "license": "MIT" + }, + "node_modules/@docsearch/js": { + "version": "3.8.2", + "resolved": "https://registry.npmmirror.com/@docsearch/js/-/js-3.8.2.tgz", + "integrity": "sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==", + "license": "MIT", + "dependencies": { + "@docsearch/react": "3.8.2", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.8.2", + "resolved": "https://registry.npmmirror.com/@docsearch/react/-/react-3.8.2.tgz", + "integrity": "sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "1.17.7", + "@algolia/autocomplete-preset-algolia": "1.17.7", + "@docsearch/css": "3.8.2", + "algoliasearch": "^5.14.2" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@giscus/vue": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/@giscus/vue/-/vue-2.4.0.tgz", + "integrity": "sha512-QOxKHgsMT91myyQagP2v20YYAei1ByZuc3qcaYxbHx4AwOeyVrybDIuRFwG9YDv6OraC86jYnU4Ixd37ddC/0A==", + "dependencies": { + "giscus": "^1.4.0" + }, + "peerDependencies": { + "vue": ">=3.2.0" + } + }, + "node_modules/@iconify-json/carbon": { + "version": "1.2.18", + "resolved": "https://registry.npmmirror.com/@iconify-json/carbon/-/carbon-1.2.18.tgz", + "integrity": "sha512-Grb13E6r/RqTEV4Sqd/BQR2FUt57U2WLuticJ5H8JbTdHLop1LmdePu3EJJA3Xi8DcWRbD6OnC133hKfOwlgtg==", + "license": "Apache-2.0", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify-json/icon-park-outline": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/@iconify-json/icon-park-outline/-/icon-park-outline-1.2.4.tgz", + "integrity": "sha512-NyZxXe2gD2TbTOyoRRMdtEJhr6i2KQCdDlYYoOn5oZLndQjwpIhw79hzeFhXvP38/o40D3gQ+l+IaSJgbB+0TQ==", + "license": "Apache-2.0", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify-json/logos": { + "version": "1.2.10", + "resolved": "https://registry.npmmirror.com/@iconify-json/logos/-/logos-1.2.10.tgz", + "integrity": "sha512-qxaXKJ6fu8jzTMPQdHtNxlfx6tBQ0jXRbHZIYy5Ilh8Lx9US9FsAdzZWUR8MXV8PnWTKGDFO4ZZee9VwerCyMA==", + "license": "CC0-1.0", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify-json/octicon": { + "version": "1.2.20", + "resolved": "https://registry.npmmirror.com/@iconify-json/octicon/-/octicon-1.2.20.tgz", + "integrity": "sha512-BCIWoh06jlOKMY3JCDx547g+4a0TOj96cdrtD1N4gz3oNlWF7yXdrK9WbqYN4ykmDl+KdJYRtOYIFP1AvGXgVA==", + "license": "MIT", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify-json/simple-icons": { + "version": "1.2.69", + "resolved": "https://registry.npmmirror.com/@iconify-json/simple-icons/-/simple-icons-1.2.69.tgz", + "integrity": "sha512-T/rhy5n7pzE0ZOxQVlF68SNPCYYjRBpddjgjrJO5WWVRG8es5BQmvxIE9kKF+t2hhPGvuGQFpXmUyqbOtnxirQ==", + "license": "CC0-1.0", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify-json/vscode-icons": { + "version": "1.2.40", + "resolved": "https://registry.npmmirror.com/@iconify-json/vscode-icons/-/vscode-icons-1.2.40.tgz", + "integrity": "sha512-Q7JIWAxENwmcRg4EGRY+u16gBwrAj6mWeuSmuyuPvNvoTJHh8Ss8qoeDhrFYNgtWqNkzH5hSf4b2T9XLK5MsrA==", + "license": "MIT", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "license": "MIT" + }, + "node_modules/@iconify/utils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@iconify/utils/-/utils-3.1.0.tgz", + "integrity": "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==", + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^1.1.0", + "@iconify/types": "^2.0.0", + "mlly": "^1.8.0" + } + }, + "node_modules/@iconify/vue": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/@iconify/vue/-/vue-5.0.0.tgz", + "integrity": "sha512-C+KuEWIF5nSBrobFJhT//JS87OZ++QDORB6f2q2Wm6fl2mueSTpFBeBsveK0KW9hWiZ4mNiPjsh6Zs4jjdROSg==", + "license": "MIT", + "dependencies": { + "@iconify/types": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/cyberalien" + }, + "peerDependencies": { + "vue": ">=3" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.5.1.tgz", + "integrity": "sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit/reactive-element": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/@lit/reactive-element/-/reactive-element-2.1.2.tgz", + "integrity": "sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.5.0" + } + }, + "node_modules/@mermaid-js/mermaid-mindmap": { + "version": "9.3.0", + "resolved": "https://registry.npmmirror.com/@mermaid-js/mermaid-mindmap/-/mermaid-mindmap-9.3.0.tgz", + "integrity": "sha512-IhtYSVBBRYviH1Ehu8gk69pMDF8DSRqXBRDMWrEfHoaMruHeaP2DXA3PBnuwsMaCdPQhlUUcy/7DBLAEIXvCAw==", + "license": "MIT", + "optional": true, + "dependencies": { + "@braintree/sanitize-url": "^6.0.0", + "cytoscape": "^3.23.0", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.1.0", + "d3": "^7.0.0", + "khroma": "^2.0.0", + "non-layered-tidy-tree-layout": "^2.0.2" + } + }, + "node_modules/@mermaid-js/mermaid-mindmap/node_modules/@braintree/sanitize-url": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", + "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", + "license": "MIT", + "optional": true + }, + "node_modules/@mermaid-js/parser": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/@mermaid-js/parser/-/parser-0.6.3.tgz", + "integrity": "sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==", + "license": "MIT", + "dependencies": { + "langium": "3.3.1" + } + }, + "node_modules/@nolebase/ui": { + "version": "2.18.2", + "resolved": "https://registry.npmmirror.com/@nolebase/ui/-/ui-2.18.2.tgz", + "integrity": "sha512-xxfRacF9cqQ5/umMhvhr0y2W4SkhzTmrrAHJ0UAAu/pIWfV/JPE9Hj0buH06bK7ZEUur+036gxkKlStI6UtDBw==", + "license": "MIT", + "dependencies": { + "@iconify-json/octicon": "^1.2.10", + "less": "^4.4.0" + }, + "peerDependencies": { + "vitepress": "^1.5.0 || ^2.0.0-alpha.1", + "vue": ">= 3.5.18" + } + }, + "node_modules/@nolebase/ui-asciinema": { + "version": "2.18.2", + "resolved": "https://registry.npmmirror.com/@nolebase/ui-asciinema/-/ui-asciinema-2.18.2.tgz", + "integrity": "sha512-h0dngSFHOBVYRqWRdWDIgS4OwdQ29QWopYgqlDgRLuTcZmOK4ChsL3MqR6lWi9WtaJe7XzM8b0QE53mG+iMC2Q==", + "license": "MIT", + "dependencies": { + "less": "^4.4.0" + }, + "peerDependencies": { + "asciinema-player": "^3.10.0", + "vitepress": "^1.5.0 || ^2.0.0-alpha.1", + "vue": ">= 3.5.18" + } + }, + "node_modules/@nolebase/vitepress-plugin-enhanced-readabilities": { + "version": "2.18.2", + "resolved": "https://registry.npmmirror.com/@nolebase/vitepress-plugin-enhanced-readabilities/-/vitepress-plugin-enhanced-readabilities-2.18.2.tgz", + "integrity": "sha512-fDhdZBSJL2qs/1xac0PtJfU5UI7b36ffVPYgzM8Ig2NjqMJ7cBvrTTPGq03lUeMjK7GD7fItAKudaP+ZrtMg8w==", + "license": "MIT", + "dependencies": { + "@iconify-json/carbon": "^1.2.11", + "@iconify-json/icon-park-outline": "^1.2.2", + "@nolebase/ui": "^2.18.2", + "less": "^4.4.0" + }, + "peerDependencies": { + "vitepress": "^1.5.0 || ^2.0.0-alpha.1" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", + "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", + "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", + "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", + "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", + "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", + "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", + "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", + "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", + "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", + "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", + "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", + "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", + "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", + "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", + "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", + "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", + "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", + "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", + "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", + "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", + "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", + "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", + "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", + "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", + "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/core/-/core-2.5.0.tgz", + "integrity": "sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==", + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "2.5.0", + "@shikijs/engine-oniguruma": "2.5.0", + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.4" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/engine-javascript/-/engine-javascript-2.5.0.tgz", + "integrity": "sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^3.1.0" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/engine-oniguruma/-/engine-oniguruma-2.5.0.tgz", + "integrity": "sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/langs/-/langs-2.5.0.tgz", + "integrity": "sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/themes/-/themes-2.5.0.tgz", + "integrity": "sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/transformers": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/transformers/-/transformers-2.5.0.tgz", + "integrity": "sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "2.5.0", + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/types": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/types/-/types-2.5.0.tgz", + "integrity": "sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmmirror.com/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@solid-primitives/refs": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@solid-primitives/refs/-/refs-1.1.2.tgz", + "integrity": "sha512-K7tf2thy7L+YJjdqXspXOg5xvNEOH8tgEWsp0+1mQk3obHBRD6hEjYZk7p7FlJphSZImS35je3UfmWuD7MhDfg==", + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.3.2" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/transition-group": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@solid-primitives/transition-group/-/transition-group-1.1.2.tgz", + "integrity": "sha512-gnHS0OmcdjeoHN9n7Khu8KNrOlRc8a2weETDt2YT6o1zeW/XtUC6Db3Q9pkMU/9cCKdEmN4b0a/41MKAHRhzWA==", + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/utils": { + "version": "6.3.2", + "resolved": "https://registry.npmmirror.com/@solid-primitives/utils/-/utils-6.3.2.tgz", + "integrity": "sha512-hZ/M/qr25QOCcwDPOHtGjxTD8w2mNyVAYvcfgwzBHq2RwNqHNdDNsMZYap20+ruRwW4A3Cdkczyoz0TSxLCAPQ==", + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@theojs/lumen": { + "version": "6.4.5", + "resolved": "https://registry.npmmirror.com/@theojs/lumen/-/lumen-6.4.5.tgz", + "integrity": "sha512-ed8xR9o49SbO1n+3tvttvoGBNYAIA+ICp7s1Mlw2MJdTwvMCblTsRiLuOlh4Rv5+9WtfR9TZsOe4bRPhRjtIqg==", + "license": "MIT", + "dependencies": { + "@iconify/vue": "^5.0.0", + "@waline/client": "^3.8.0", + "iconify-icon": "^3.0.2", + "typescript": "^5.9.3" + } + }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmmirror.com/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "license": "MIT" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz", + "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==", + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "license": "MIT", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmmirror.com/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "license": "MIT" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "license": "MIT" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "license": "MIT" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "license": "MIT" + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmmirror.com/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "license": "MIT" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.8", + "resolved": "https://registry.npmmirror.com/@types/d3-shape/-/d3-shape-3.1.8.tgz", + "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmmirror.com/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmmirror.com/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmmirror.com/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "license": "MIT" + }, + "node_modules/@types/markdown-it": { + "version": "14.1.2", + "resolved": "https://registry.npmmirror.com/@types/markdown-it/-/markdown-it-14.1.2.tgz", + "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", + "license": "MIT", + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "license": "MIT" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.27.tgz", + "integrity": "sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.27", + "entities": "^7.0.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.27.tgz", + "integrity": "sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.27.tgz", + "integrity": "sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.27", + "@vue/compiler-dom": "3.5.27", + "@vue/compiler-ssr": "3.5.27", + "@vue/shared": "3.5.27", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.27.tgz", + "integrity": "sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.27.tgz", + "integrity": "sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.27" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.27.tgz", + "integrity": "sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.27.tgz", + "integrity": "sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.27", + "@vue/runtime-core": "3.5.27", + "@vue/shared": "3.5.27", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.27.tgz", + "integrity": "sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.27", + "@vue/shared": "3.5.27" + }, + "peerDependencies": { + "vue": "3.5.27" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.27.tgz", + "integrity": "sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==", + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "14.2.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-14.2.0.tgz", + "integrity": "sha512-tpjzVl7KCQNVd/qcaCE9XbejL38V6KJAEq/tVXj7mDPtl6JtzmUdnXelSS+ULRkkrDgzYVK7EerQJvd2jR794Q==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "14.2.0", + "@vueuse/shared": "14.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@vueuse/integrations": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/integrations/-/integrations-12.8.2.tgz", + "integrity": "sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==", + "license": "MIT", + "dependencies": { + "@vueuse/core": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "^4", + "axios": "^1", + "change-case": "^5", + "drauu": "^0.4", + "focus-trap": "^7", + "fuse.js": "^7", + "idb-keyval": "^6", + "jwt-decode": "^4", + "nprogress": "^0.2", + "qrcode": "^1.5", + "sortablejs": "^1", + "universal-cookie": "^7" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations/node_modules/@vueuse/core": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-12.8.2.tgz", + "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations/node_modules/@vueuse/metadata": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-12.8.2.tgz", + "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations/node_modules/@vueuse/shared": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-12.8.2.tgz", + "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", + "license": "MIT", + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/metadata": { + "version": "14.2.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-14.2.0.tgz", + "integrity": "sha512-i3axTGjU8b13FtyR4Keeama+43iD+BwX9C2TmzBVKqjSHArF03hjkp2SBZ1m72Jk2UtrX0aYCugBq2R1fhkuAQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "14.2.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-14.2.0.tgz", + "integrity": "sha512-Z0bmluZTlAXgUcJ4uAFaML16JcD8V0QG00Db3quR642I99JXIDRa2MI2LGxiLVhcBjVnL1jOzIvT5TT2lqJlkA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@waline/api": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@waline/api/-/api-1.0.0.tgz", + "integrity": "sha512-o0lWjt+/oZH1/4q3DJxTf5kdkgNbSmoLRXIiGznW225A6hq9/9IkOO1DiAijIsxGYJS6psFC+58+IzkD1EerBA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@waline/client": { + "version": "3.8.0", + "resolved": "https://registry.npmmirror.com/@waline/client/-/client-3.8.0.tgz", + "integrity": "sha512-UAbqLmqy2Pns/CXFlrLYEDG4F1peRPo+wp2FmpfFL9BO0ceQO6KvvAJXw3EhX3wWcMiKlX29G0gJVtG4UlCzGw==", + "license": "MIT", + "dependencies": { + "@vueuse/core": "^14.0.0", + "@waline/api": "1.0.0", + "autosize": "^6.0.1", + "marked": "^16.4.1", + "marked-highlight": "^2.2.2", + "recaptcha-v3": "^1.11.3", + "vue": "^3.5.22" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/algoliasearch": { + "version": "5.47.0", + "resolved": "https://registry.npmmirror.com/algoliasearch/-/algoliasearch-5.47.0.tgz", + "integrity": "sha512-AGtz2U7zOV4DlsuYV84tLp2tBbA7RPtLA44jbVH4TTpDcc1dIWmULjHSsunlhscbzDydnjuFlNhflR3nV4VJaQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@algolia/abtesting": "1.13.0", + "@algolia/client-abtesting": "5.47.0", + "@algolia/client-analytics": "5.47.0", + "@algolia/client-common": "5.47.0", + "@algolia/client-insights": "5.47.0", + "@algolia/client-personalization": "5.47.0", + "@algolia/client-query-suggestions": "5.47.0", + "@algolia/client-search": "5.47.0", + "@algolia/ingestion": "1.47.0", + "@algolia/monitoring": "1.47.0", + "@algolia/recommend": "5.47.0", + "@algolia/requester-browser-xhr": "5.47.0", + "@algolia/requester-fetch": "5.47.0", + "@algolia/requester-node-http": "5.47.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/asciinema-player": { + "version": "3.14.0", + "resolved": "https://registry.npmmirror.com/asciinema-player/-/asciinema-player-3.14.0.tgz", + "integrity": "sha512-44m3CpNavn8i7DSr/AeeV+rJpHpcqc/OCildCs9FAu5gnXB6XNBdbhfg6mHMG4uU3R1rxFNA3ZRTt8FMhHC48Q==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.21.0", + "solid-js": "^1.3.0", + "solid-transition-group": "^0.2.3" + } + }, + "node_modules/autosize": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/autosize/-/autosize-6.0.1.tgz", + "integrity": "sha512-f86EjiUKE6Xvczc4ioP1JBlWG7FKrE13qe/DxBCpe8GCipCq2nFw73aO8QEBKHfSbYGDN5eB9jXWKen7tspDqQ==", + "license": "MIT" + }, + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/canvas-confetti": { + "version": "1.9.4", + "resolved": "https://registry.npmmirror.com/canvas-confetti/-/canvas-confetti-1.9.4.tgz", + "integrity": "sha512-yxQbJkAVrFXWNbTUjPqjF7G+g6pDotOUHGbkZq2NELZUMDpiJ85rIEazVb8GTaAptNW2miJAXbs1BtioA251Pw==", + "license": "ISC", + "funding": { + "type": "donate", + "url": "https://www.paypal.me/kirilvatev" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmmirror.com/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "license": "MIT", + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" + } + }, + "node_modules/chevrotain/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "license": "MIT", + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "license": "MIT", + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/cytoscape": { + "version": "3.33.1", + "resolved": "https://registry.npmmirror.com/cytoscape/-/cytoscape-3.33.1.tgz", + "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "license": "MIT", + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "license": "MIT", + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "license": "MIT", + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "license": "MIT" + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "license": "ISC", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "license": "ISC", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "license": "ISC", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "license": "ISC", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "license": "ISC", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "license": "ISC", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmmirror.com/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "license": "BSD-3-Clause", + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmmirror.com/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "license": "ISC" + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dagre-d3-es": { + "version": "7.0.13", + "resolved": "https://registry.npmmirror.com/dagre-d3-es/-/dagre-d3-es-7.0.13.tgz", + "integrity": "sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==", + "license": "MIT", + "dependencies": { + "d3": "^7.9.0", + "lodash-es": "^4.17.21" + } + }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT" + }, + "node_modules/delaunator": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "license": "ISC", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dompurify": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", + "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "license": "MIT", + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/focus-trap": { + "version": "7.8.0", + "resolved": "https://registry.npmmirror.com/focus-trap/-/focus-trap-7.8.0.tgz", + "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==", + "license": "MIT", + "peer": true, + "dependencies": { + "tabbable": "^6.4.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/giscus": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/giscus/-/giscus-1.6.0.tgz", + "integrity": "sha512-Zrsi8r4t1LVW950keaWcsURuZUQwUaMKjvJgTCY125vkW6OiEBkatE7ScJDbpqKHdZwb///7FVC21SE3iFK3PQ==", + "license": "MIT", + "dependencies": { + "lit": "^3.2.1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC", + "optional": true + }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", + "license": "MIT" + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/iconify-icon": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/iconify-icon/-/iconify-icon-3.0.2.tgz", + "integrity": "sha512-DYPAumiUeUeT/GHT8x2wrAVKn1FqZJqFH0Y5pBefapWRreV1BBvqBVMb0020YQ2njmbR59r/IathL2d2OrDrxA==", + "license": "MIT", + "dependencies": { + "@iconify/types": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/cyberalien" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "license": "MIT", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "license": "MIT" + }, + "node_modules/katex": { + "version": "0.16.28", + "resolved": "https://registry.npmmirror.com/katex/-/katex-0.16.28.tgz", + "integrity": "sha512-YHzO7721WbmAL6Ov1uzN/l5mY5WWWhJBSW+jq4tkfZfsxmo1hu6frS0EOswvjBUnWE6NtjEs48SFn5CQESRLZg==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/khroma": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==" + }, + "node_modules/langium": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/langium/-/langium-3.3.1.tgz", + "integrity": "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==", + "license": "MIT", + "dependencies": { + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "license": "MIT" + }, + "node_modules/less": { + "version": "4.5.1", + "resolved": "https://registry.npmmirror.com/less/-/less-4.5.1.tgz", + "integrity": "sha512-UKgI3/KON4u6ngSsnDADsUERqhZknsVZbnuzlRZXLQCmfC/MDld42fTydUE9B+Mla1AL6SJ/Pp6SlEFi/AVGfw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/lit": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/lit/-/lit-3.3.2.tgz", + "integrity": "sha512-NF9zbsP79l4ao2SNrH3NkfmFgN/hBYSQo90saIVI1o5GpjAdCPVstVzO1MrLOakHoEhYkrtRjPK6Ob521aoYWQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^2.1.0", + "lit-element": "^4.2.0", + "lit-html": "^3.3.0" + } + }, + "node_modules/lit-element": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/lit-element/-/lit-element-4.2.2.tgz", + "integrity": "sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.5.0", + "@lit/reactive-element": "^2.1.0", + "lit-html": "^3.3.0" + } + }, + "node_modules/lit-html": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/lit-html/-/lit-html-3.3.2.tgz", + "integrity": "sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "license": "MIT" + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "license": "MIT", + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmmirror.com/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "license": "MIT" + }, + "node_modules/markdown-it-task-checkbox": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/markdown-it-task-checkbox/-/markdown-it-task-checkbox-1.0.6.tgz", + "integrity": "sha512-7pxkHuvqTOu3iwVGmDPeYjQg+AIS9VQxzyLP9JCg9lBjgPAJXGEkChK6A2iFuj3tS0GV3HG2u5AMNhcQqwxpJw==", + "license": "ISC" + }, + "node_modules/marked": { + "version": "16.4.2", + "resolved": "https://registry.npmmirror.com/marked/-/marked-16.4.2.tgz", + "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", + "license": "MIT", + "peer": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/marked-highlight": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/marked-highlight/-/marked-highlight-2.2.3.tgz", + "integrity": "sha512-FCfZRxW/msZAiasCML4isYpxyQWKEEx44vOgdn5Kloae+Qc3q4XR7WjpKKf8oMLk7JP9ZCRd2vhtclJFdwxlWQ==", + "license": "MIT", + "peerDependencies": { + "marked": ">=4 <18" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/medium-zoom": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/medium-zoom/-/medium-zoom-1.1.0.tgz", + "integrity": "sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==", + "license": "MIT" + }, + "node_modules/mermaid": { + "version": "11.12.2", + "resolved": "https://registry.npmmirror.com/mermaid/-/mermaid-11.12.2.tgz", + "integrity": "sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@braintree/sanitize-url": "^7.1.1", + "@iconify/utils": "^3.0.1", + "@mermaid-js/parser": "^0.6.3", + "@types/d3": "^7.4.3", + "cytoscape": "^3.29.3", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.2.0", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.13", + "dayjs": "^1.11.18", + "dompurify": "^3.2.5", + "katex": "^0.16.22", + "khroma": "^2.1.0", + "lodash-es": "^4.17.21", + "marked": "^16.2.1", + "roughjs": "^4.6.6", + "stylis": "^4.3.6", + "ts-dedent": "^2.2.0", + "uuid": "^11.1.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/minisearch": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/minisearch/-/minisearch-7.2.0.tgz", + "integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==", + "license": "MIT" + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mlly": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "license": "MIT", + "optional": true + }, + "node_modules/oniguruma-to-es": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz", + "integrity": "sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==", + "license": "MIT", + "dependencies": { + "emoji-regex-xs": "^1.0.0", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", + "license": "MIT" + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", + "license": "MIT" + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "license": "MIT", + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.28.3", + "resolved": "https://registry.npmmirror.com/preact/-/preact-10.28.3.tgz", + "integrity": "sha512-tCmoRkPQLpBeWzpmbhryairGnhW9tKV6c6gr/w+RhoRoKEJwsjzipwp//1oCpGPOchvSLaAPlpcJi9MwMmoPyA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "license": "MIT", + "optional": true + }, + "node_modules/recaptcha-v3": { + "version": "1.11.3", + "resolved": "https://registry.npmmirror.com/recaptcha-v3/-/recaptcha-v3-1.11.3.tgz", + "integrity": "sha512-sEE6J0RzUkS+sKEBpgCD/AqCU0ffrAVOADGjvAx9vcttN+VLK42SWMkj/J/I6vHu3Kew+xcfbBqDVb65N0QGDw==", + "license": "Apache-2.0" + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "license": "Unlicense" + }, + "node_modules/rollup": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.57.1.tgz", + "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.57.1", + "@rollup/rollup-android-arm64": "4.57.1", + "@rollup/rollup-darwin-arm64": "4.57.1", + "@rollup/rollup-darwin-x64": "4.57.1", + "@rollup/rollup-freebsd-arm64": "4.57.1", + "@rollup/rollup-freebsd-x64": "4.57.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", + "@rollup/rollup-linux-arm-musleabihf": "4.57.1", + "@rollup/rollup-linux-arm64-gnu": "4.57.1", + "@rollup/rollup-linux-arm64-musl": "4.57.1", + "@rollup/rollup-linux-loong64-gnu": "4.57.1", + "@rollup/rollup-linux-loong64-musl": "4.57.1", + "@rollup/rollup-linux-ppc64-gnu": "4.57.1", + "@rollup/rollup-linux-ppc64-musl": "4.57.1", + "@rollup/rollup-linux-riscv64-gnu": "4.57.1", + "@rollup/rollup-linux-riscv64-musl": "4.57.1", + "@rollup/rollup-linux-s390x-gnu": "4.57.1", + "@rollup/rollup-linux-x64-gnu": "4.57.1", + "@rollup/rollup-linux-x64-musl": "4.57.1", + "@rollup/rollup-openbsd-x64": "4.57.1", + "@rollup/rollup-openharmony-arm64": "4.57.1", + "@rollup/rollup-win32-arm64-msvc": "4.57.1", + "@rollup/rollup-win32-ia32-msvc": "4.57.1", + "@rollup/rollup-win32-x64-gnu": "4.57.1", + "@rollup/rollup-win32-x64-msvc": "4.57.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmmirror.com/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", + "license": "MIT", + "dependencies": { + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "license": "BlueOak-1.0.0", + "optional": true, + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmmirror.com/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "license": "MIT", + "peer": true + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/seroval": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/seroval/-/seroval-1.5.0.tgz", + "integrity": "sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/seroval-plugins": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/seroval-plugins/-/seroval-plugins-1.5.0.tgz", + "integrity": "sha512-EAHqADIQondwRZIdeW2I636zgsODzoBDwb3PT/+7TLDWyw1Dy/Xv7iGUIEXXav7usHDE9HVhOU61irI3EnyyHA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "seroval": "^1.0" + } + }, + "node_modules/shiki": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/shiki/-/shiki-2.5.0.tgz", + "integrity": "sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "2.5.0", + "@shikijs/engine-javascript": "2.5.0", + "@shikijs/engine-oniguruma": "2.5.0", + "@shikijs/langs": "2.5.0", + "@shikijs/themes": "2.5.0", + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/solid-js": { + "version": "1.9.11", + "resolved": "https://registry.npmmirror.com/solid-js/-/solid-js-1.9.11.tgz", + "integrity": "sha512-WEJtcc5mkh/BnHA6Yrg4whlF8g6QwpmXXRg4P2ztPmcKeHHlH4+djYecBLhSpecZY2RRECXYUwIc/C2r3yzQ4Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.1.0", + "seroval": "~1.5.0", + "seroval-plugins": "~1.5.0" + } + }, + "node_modules/solid-transition-group": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/solid-transition-group/-/solid-transition-group-0.2.3.tgz", + "integrity": "sha512-iB72c9N5Kz9ykRqIXl0lQohOau4t0dhel9kjwFvx81UZJbVwaChMuBuyhiZmK24b8aKEK0w3uFM96ZxzcyZGdg==", + "license": "MIT", + "dependencies": { + "@solid-primitives/refs": "^1.0.5", + "@solid-primitives/transition-group": "^1.0.2" + }, + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.6.0" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stylis": { + "version": "4.3.6", + "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "license": "MIT" + }, + "node_modules/superjson": { + "version": "2.2.6", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/superjson/node_modules/copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "license": "MIT", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/superjson/node_modules/is-what": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/tabbable": { + "version": "6.4.0", + "resolved": "https://registry.npmmirror.com/tabbable/-/tabbable-6.4.0.tgz", + "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "license": "MIT", + "engines": { + "node": ">=6.10" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "license": "MIT" + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "license": "MIT", + "peer": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitepress": { + "version": "1.6.4", + "resolved": "https://registry.npmmirror.com/vitepress/-/vitepress-1.6.4.tgz", + "integrity": "sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@docsearch/css": "3.8.2", + "@docsearch/js": "3.8.2", + "@iconify-json/simple-icons": "^1.2.21", + "@shikijs/core": "^2.1.0", + "@shikijs/transformers": "^2.1.0", + "@shikijs/types": "^2.1.0", + "@types/markdown-it": "^14.1.2", + "@vitejs/plugin-vue": "^5.2.1", + "@vue/devtools-api": "^7.7.0", + "@vue/shared": "^3.5.13", + "@vueuse/core": "^12.4.0", + "@vueuse/integrations": "^12.4.0", + "focus-trap": "^7.6.4", + "mark.js": "8.11.1", + "minisearch": "^7.1.1", + "shiki": "^2.1.0", + "vite": "^5.4.14", + "vue": "^3.5.13" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vitepress-plugin-comment-with-giscus": { + "version": "1.1.15", + "resolved": "https://registry.npmmirror.com/vitepress-plugin-comment-with-giscus/-/vitepress-plugin-comment-with-giscus-1.1.15.tgz", + "integrity": "sha512-1DJjgN+7SYvn5ZkjuSXPmz7nlqfcrh4qCGGviiZghA2ELXnaO2m9WY7m+RisPSaqCn90xqe0JbO2T4NMq8iUBg==", + "license": "ISC", + "dependencies": { + "@giscus/vue": "^2.2.8" + } + }, + "node_modules/vitepress-plugin-group-icons": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/vitepress-plugin-group-icons/-/vitepress-plugin-group-icons-1.7.1.tgz", + "integrity": "sha512-3ZPcIqwHNBg1btrOOSecOqv8yJxHdu3W2ugxE5LusclDF005LAm60URMEmBQrkgl4JvM32AqJirqghK6lGIk8g==", + "license": "MIT", + "dependencies": { + "@iconify-json/logos": "^1.2.10", + "@iconify-json/vscode-icons": "^1.2.39", + "@iconify/utils": "^3.1.0" + }, + "peerDependencies": { + "vite": ">=3" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vitepress-plugin-mermaid": { + "version": "2.0.17", + "resolved": "https://registry.npmmirror.com/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.17.tgz", + "integrity": "sha512-IUzYpwf61GC6k0XzfmAmNrLvMi9TRrVRMsUyCA8KNXhg/mQ1VqWnO0/tBVPiX5UoKF1mDUwqn5QV4qAJl6JnUg==", + "license": "MIT", + "optionalDependencies": { + "@mermaid-js/mermaid-mindmap": "^9.3.0" + }, + "peerDependencies": { + "mermaid": "10 || 11", + "vitepress": "^1.0.0 || ^1.0.0-alpha" + } + }, + "node_modules/vitepress/node_modules/@vueuse/core": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-12.8.2.tgz", + "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/vitepress/node_modules/@vueuse/metadata": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-12.8.2.tgz", + "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/vitepress/node_modules/@vueuse/shared": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-12.8.2.tgz", + "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", + "license": "MIT", + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmmirror.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.27.tgz", + "integrity": "sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.27", + "@vue/compiler-sfc": "3.5.27", + "@vue/runtime-dom": "3.5.27", + "@vue/server-renderer": "3.5.27", + "@vue/shared": "3.5.27" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..5345061 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "phira-docs", + "author": "OrbiterStellarTrek,Teamflos", + "dependencies": { + "@nolebase/ui-asciinema": "^2.18.2", + "@nolebase/vitepress-plugin-enhanced-readabilities": "^2.18.1", + "@theojs/lumen": "^6.4.4", + "asciinema-player": "^3.10.0", + "canvas-confetti": "^1.9.3", + "markdown-it-task-checkbox": "^1.0.6", + "medium-zoom": "^1.1.0", + "mermaid": "^11.10.1", + "vitepress": "^1.6.3", + "vitepress-plugin-comment-with-giscus": "^1.1.15", + "vitepress-plugin-group-icons": "^1.6.3", + "vitepress-plugin-mermaid": "^2.0.17" + }, + "scripts": { + "dev": "vitepress dev", + "build": "vitepress build", + "preview": "vitepress preview" + } +} \ No newline at end of file diff --git a/po/en.po b/po/en.po deleted file mode 100644 index 7c172c2..0000000 --- a/po/en.po +++ /dev/null @@ -1,7175 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: Phira Documents\n" -"POT-Creation-Date: 2026-01-27T18:45:03+08:00\n" -"PO-Revision-Date: 2024-05-11 17:07+0800\n" -"Last-Translator: PingTKP <75591605+PingTKP@users.noreply.github.com>\n" -"Language-Team: English\n" -"Language: en\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src\SUMMARY.md:1 -msgid "总览" -msgstr "Summary" - -#: src\SUMMARY.md:3 -msgid "简介" -msgstr "Introduction" - -#: src\SUMMARY.md:5 src\respack/index.md:1 -msgid "资源包" -msgstr "Respack" - -#: src\SUMMARY.md:7 -msgid "谱面标准" -msgstr "" - -#: src\SUMMARY.md:9 -msgid "谱面信息" -msgstr "" - -#: src\SUMMARY.md:11 src\chart-standard/chart-format/index.md:1 -msgid "谱面文件格式" -msgstr "" - -#: src\SUMMARY.md:13 -msgid "RPE" -msgstr "" - -#: src\SUMMARY.md:14 src\SUMMARY.md:27 -msgid "谱面根目录" -msgstr "" - -#: src\SUMMARY.md:15 src\SUMMARY.md:30 -msgid "判定线" -msgstr "" - -#: src\SUMMARY.md:16 src\chart-standard/chart-format/rpe/beat.md:1 -msgid "beat" -msgstr "" - -#: src\SUMMARY.md:17 src\SUMMARY.md:25 src\SUMMARY.md:28 -#: src\chart-standard/chart-format/pe/note.md:1 -msgid "音符" -msgstr "" - -#: src\SUMMARY.md:18 -msgid "普通事件" -msgstr "" - -#: src\SUMMARY.md:19 src\chart-standard/chart-format/rpe/extendEvent.md:1 -msgid "特殊事件" -msgstr "" - -#: src\SUMMARY.md:20 src\SUMMARY.md:34 -msgid "扩展特性" -msgstr "" - -#: src\SUMMARY.md:21 src\chart-standard/chart-format/rpe/controls.md:1 -msgid "Controls" -msgstr "" - -#: src\SUMMARY.md:22 -msgid "PE" -msgstr "" - -#: src\SUMMARY.md:23 src\chart-standard/chart-format/pe/basic.md:1 -msgid "基本信息" -msgstr "" - -#: src\SUMMARY.md:24 src\SUMMARY.md:29 -#: src\chart-standard/chart-format/pe/event.md:1 -#, fuzzy -msgid "事件" -msgstr "事件经过" - -#: src\SUMMARY.md:26 -msgid "Official" -msgstr "" - -#: src\SUMMARY.md:32 src\chart-standard/music.md:1 -msgid "音乐文件格式" -msgstr "" - -#: src\SUMMARY.md:36 src\chart-standard/extra/effect/index.md:1 -msgid "特效" -msgstr "Effects" - -#: src\SUMMARY.md:38 src\chart-standard/extra/effect/index.md:72 -#: src\chart-standard/extra/effect/builtin/index.md:1 -msgid "内置着色器" -msgstr "Built-in shaders" - -#: src\SUMMARY.md:40 src\chart-standard/extra/effect/builtin/chromatic.md:1 -msgid "`chromatic`" -msgstr "`chromatic`" - -#: src\SUMMARY.md:41 src\chart-standard/extra/effect/builtin/circleBlur.md:1 -msgid "`circleBlur`" -msgstr "`circleBlur`" - -#: src\SUMMARY.md:42 src\chart-standard/extra/effect/builtin/fisheye.md:1 -msgid "`fisheye`" -msgstr "`fisheye`" - -#: src\SUMMARY.md:43 src\chart-standard/extra/effect/builtin/glitch.md:1 -msgid "`glitch`" -msgstr "`glitch`" - -#: src\SUMMARY.md:44 src\chart-standard/extra/effect/builtin/grayscale.md:1 -msgid "`grayscale`" -msgstr "`grayscale`" - -#: src\SUMMARY.md:45 src\chart-standard/extra/effect/builtin/noise.md:1 -msgid "`noise`" -msgstr "`noise`" - -#: src\SUMMARY.md:46 src\chart-standard/extra/effect/builtin/pixel.md:1 -msgid "`pixel`" -msgstr "`pixel`" - -#: src\SUMMARY.md:47 src\chart-standard/extra/effect/builtin/radialBlur.md:1 -msgid "`radialBlur`" -msgstr "`radialBlur`" - -#: src\SUMMARY.md:48 src\chart-standard/extra/effect/builtin/shockwave.md:1 -msgid "`shockwave`" -msgstr "`shockwave`" - -#: src\SUMMARY.md:49 -msgid "`vignette`" -msgstr "`vignette`" - -#: src\SUMMARY.md:51 src\chart-standard/extra/effect/custom-shader.md:1 -msgid "自行编写着色器" -msgstr "Writing your own shaders" - -#: src\SUMMARY.md:53 src\chart-standard/extra/video/index.md:1 -msgid "视频背景" -msgstr "Video Background" - -#: src\SUMMARY.md:55 src\chart-standard/unlock_video/index.md:2 -msgid "解锁动画" -msgstr "Unlock animation" - -#: src\SUMMARY.md:57 -msgid "活动指南" -msgstr "" - -#: src\SUMMARY.md:59 -msgid "UML文档" -msgstr "UML documentation" - -#: src\SUMMARY.md:61 src\uml/syntax\index.md:1 -msgid "语法" -msgstr "Grammar" - -#: src\SUMMARY.md:63 src\uml/syntax/coordinate.md:1 -msgid "坐标" -msgstr "Coordinates" - -#: src\SUMMARY.md:64 src\uml/syntax/type.md:1 -msgid "数据类型" -msgstr "Data type" - -#: src\SUMMARY.md:65 src\uml/syntax/expression.md:1 -msgid "表达式" -msgstr "Expression" - -#: src\SUMMARY.md:66 src\uml/syntax/variable.md:1 -msgid "变量" -msgstr "Variable" - -#: src\SUMMARY.md:67 src\uml/syntax/element.md:1 -msgid "元素" -msgstr "Element" - -#: src\SUMMARY.md:69 src\uml/syntax/elements/p.md:1 -msgid "段落元素 `p`" -msgstr "Paragraph Element `p`" - -#: src\SUMMARY.md:70 src\uml/syntax/elements/img.md:1 -msgid "图片元素 `img`" -msgstr "Image Element `img`" - -#: src\SUMMARY.md:71 src\uml/syntax/elements/col.md:1 -msgid "谱面合集元素 `col`" -msgstr "Chart Collection Element `col`" - -#: src\SUMMARY.md:72 src\uml/syntax/elements/btn.md:1 -msgid "按钮元素 `btn`" -msgstr "Button Element `btn`" - -#: src\SUMMARY.md:74 src\uml/syntax/comment.md:2 -msgid "注释" -msgstr "Comment" - -#: src\SUMMARY.md:75 src\uml/syntax/comment_expression.md:1 -msgid "注释表达式" -msgstr "Comment Expression" - -#: src\SUMMARY.md:77 src\uml/debugging.md:1 -msgid "如何调试" -msgstr "How to Debug" - -#: src\SUMMARY.md:79 src\uml/examples\index.md:1 -msgid "样例 UML" -msgstr "Example UML" - -#: src\SUMMARY.md:81 src\uml/examples/template_event.md:1 -msgid "模板活动" -msgstr "Event Template" - -#: src\SUMMARY.md:82 src\uml/examples/xmas-2024.md:1 -msgid "2024 圣诞夜惊魂" -msgstr "2024 Xmas" - -#: src\SUMMARY.md:84 src\uml/advanced\index.md:1 -msgid "使用进阶" -msgstr "Advanced skills" - -#: src\SUMMARY.md:85 src\uml/advanced/page_switch.md:1 -msgid "页面切换" -msgstr "Page Switch" - -#: src\SUMMARY.md:87 -msgid "Phira 构建指南" -msgstr "" - -#: src\SUMMARY.md:88 -msgid "cargo 安装教程" -msgstr "" - -#: src\SUMMARY.md:89 src\phira_build_guide/cargo.md:3 -#: src\phira_build_guide/Windows.md:1 -msgid "Windows" -msgstr "" - -#: src\SUMMARY.md:90 src\phira_build_guide/cargo.md:25 -#: src\phira_build_guide/Linux.md:1 -msgid "Linux" -msgstr "" - -#: src\SUMMARY.md:91 src\phira_build_guide/Android.md:1 -msgid "Android" -msgstr "" - -#: src\SUMMARY.md:93 -msgid "糗事集锦" -msgstr "aNecdOtes" - -#: src\SUMMARY.md:94 src\dev-incident/长风的柳絮.md:1 -msgid "长风的柳絮" -msgstr "长风的柳絮" - -#: src\SUMMARY.md:95 src\dev-incident/v0.6.0更新消息.md:1 -msgid "v0.6.0 更新消息" -msgstr "v0.6.0 Update" - -#: src\SUMMARY.md:96 -msgid "6th PecJam" -msgstr "6th PecJam" - -#: src\SUMMARY.md:97 src\dev-incident/天空之城.md:1 -msgid "天空之城" -msgstr "" - -#: src\SUMMARY.md:98 src\dev-incident/ForeverYoung.md:1 -msgid "Forever Young" -msgstr "" - -#: src\index.md:1 -msgid "Phira-docs 说明" -msgstr "Phira-docs Instruction" - -#: src\index.md:3 -msgid "" -"这里是 Phira 相关的文档说明, 可前往 [GitHub](https://github.com/TeamFlos/" -"phira-docs) 提出问题或者贡献文档, 其他语言请通过修改 url 来访问, 如 [`/en/`]" -"(./en/)" -msgstr "" -"This is the instruction of Phira-related documentation, visit [GitHub]" -"(https://github.com/TeamFlos/phira-docs) to submit feedbacks or contribute, " -"read in other language by editing the url, for example [`/en/`](./en/)" - -#: src\index.md:5 -msgid "如果希望提供翻译, 请参考" -msgstr "If you’re willing to provide translation, please refer to" - -#: src\index.md:7 -msgid "" -"[mdbook-i18n-helpers 的指引](https://github.com/google/mdbook-i18n-helpers/" -"blob/main/i18n-helpers/USAGE.md)" -msgstr "" -"[Instructions in mdbook-i18n-helpers](https://github.com/google/mdbook-i18n-" -"helpers/blob/main/i18n-helpers/USAGE.md)" - -#: src\index.md:8 -msgid "" -"[comprehensive-rust 的示例](https://github.com/google/comprehensive-rust/" -"blob/main/TRANSLATIONS.md)" -msgstr "" -"[Examples in comprehensive-rust](https://github.com/google/comprehensive-" -"rust/blob/main/TRANSLATIONS.md)" - -#: src\index.md:10 -msgid "" -"在 PR 内提供相应的翻译后 `.po` 文件, 并在 `.github/mdbook.yml` 的 `env` 的 " -"`LANGUAGES` 中添加对应的语言, 语言代码见 [ISO 639](https://en.wikipedia.org/" -"wiki/List_of_ISO_639_language_codes)" -msgstr "" -"Provide the translated `.po` file in the Pull Request, and add the " -"corresponding language code in `LANGUAGES` in `env` in the `.github/mdbook." -"yml` file, visit [ISO 639](https://en.wikipedia.org/wiki/" -"List_of_ISO_639_language_codes) for language code reference" - -#: src\respack/index.md:3 -msgid "" -"在 prpr 中,你可以自定义资源包。资源包包含了音符的样式、粒子效果、打击音效等" -"等元素。你可以在测试群或频道中找到资源包,也可以选择自己制作资源包。以下将具" -"体阐述资源包的文件结构。" -msgstr "" -"In prpr, you can customize the respack. The respack consists of how the " -"notes look, particle effects, hit sound effects, etc. You can find premade " -"respacks, or you choose to make one yourself. The file structure of the " -"respack is explained in detailed below." - -#: src\respack/index.md:5 -msgid "结构" -msgstr "Structure" - -#: src\respack/index.md:7 -msgid "" -"资源包是单个 zip 压缩文件,其中包含了配置文件 `info.yml` 和其他的资源文件。其" -"中,资源文件有些是必须存在,有些则是可选的。" -msgstr "" -"A Respack is a single zip archive containing the configuration file `info." -"yml` and other resource files. Some of the resource files are required and " -"some are optional." - -#: src\respack/index.md:9 -msgid "资源文件" -msgstr "Resource files" - -#: src\respack/index.md:11 -msgid "资源文件必须包括:" -msgstr "The resource files must include:" - -#: src\respack/index.md:13 -msgid "`click.png` 和 `click_mh.png`:Click 音符的皮肤,`mh` 代表双押;" -msgstr "" -"`click.png` and `click_mh.png`: The note skin for click notes, `mh` " -"represents simultaneous clicks." - -#: src\respack/index.md:14 -msgid "`drag.png` 和 `drag_mh.png`:Drag 音符的皮肤,`mh` 代表双押;" -msgstr "" -"`drag.png` and `drag_mh.png`: The note skin for drag notes, `mh` represents " -"simultaneous drags." - -#: src\respack/index.md:15 -msgid "`flick.png` 和 `flick_mh.png`:Flick 音符的皮肤,`mh` 代表双押;" -msgstr "" -"`flick.png` and `flick_mh.png`: The note skin for flick notes, `mh` " -"represents simultaneous flicks." - -#: src\respack/index.md:16 -msgid "`hold.png` 和 `hold_mh.png`:Hold 音符的皮肤,`mh` 代表双押;" -msgstr "" -"`hold.png` and `hold_mh.png`: The note skin for hold notes, `mh` represents " -"simultaneous holds." - -#: src\respack/index.md:17 -msgid "`hit_fx.png`:打击特效图片。" -msgstr "`hit_fx.png`: The image for hit effect." - -#: src\respack/index.md:19 -msgid "资源文件可以包括(即若不包括,将使用默认):" -msgstr "" -"The resource files can also include (If they are not included, the default " -"will be used):" - -#: src\respack/index.md:21 -msgid "" -"`click.ogg`、`drag.ogg` 和 `flick.ogg`:对应音符的打击音效,注意采样率必须为 " -"44100Hz,否则在渲染时(prpr-render)会导致崩溃;" -msgstr "" -"`click.ogg`, `drag.ogg` and `flick.ogg`: The sound effects for the " -"corresponding notes, note that the sampling rate must be 44100 Hz, or else " -"it will cause crashes during rendering (prpr-render)." - -#: src\respack/index.md:22 -#, fuzzy -msgid "`ending.ogg`:结算界面背景音乐。" -msgstr "`ending.mp3`: The background music for the score screen." - -#: src\respack/index.md:24 -msgid "配置文件" -msgstr "Configuration file" - -#: src\respack/index.md:26 -msgid "配置文件采用 yml,其中必填项如下(以默认资源包为例):" -msgstr "" -"The configuration file uses yml format, with the following required fields " -"(using a default respack as an example):" - -#: src\respack/index.md:29 src\chart-standard/chart-format/rpe/root.md:28 -#: src\chart-standard/chart-format/rpe/extend.md:14 -#: src\phira_build_guide/Android.md:11 -msgid "name" -msgstr "name" - -#: src\respack/index.md:29 src\chart-standard/chart-format/rpe/note.md:39 -msgid "Default" -msgstr "Default" - -#: src\respack/index.md:29 -msgid "author" -msgstr "author" - -#: src\respack/index.md:30 -msgid "\"Mivik & MisaLiu\"" -msgstr "\"Mivik & MisaLiu\"" - -#: src\respack/index.md:30 -msgid "hitFx" -msgstr "hitFx" - -#: src\respack/index.md:31 -msgid "holdAtlas" -msgstr "holdAtlas" - -#: src\respack/index.md:32 -msgid "holdAtlasMH" -msgstr "holdAtlasMH" - -#: src\respack/index.md:36 -msgid "`name`:资源包的名字;" -msgstr "`name`: The name of the respack." - -#: src\respack/index.md:37 -msgid "`author`:资源包的作者;" -msgstr "`author`: The author/creator of the respack." - -#: src\respack/index.md:38 -msgid "`description`:资源包介绍;" -msgstr "`description`: The description/introduction of the respack." - -#: src\respack/index.md:39 -msgid "" -"`hitFx`:打击特效宽、高的帧数。打击特效是将多帧动画存储在一张图中的,因此需要" -"指定这张图中横竖各有几帧,例如,在 [此图](image/hit_fx.jpg) 中横、竖的帧数分" -"别为 5 与 6(最后一行不太看得见,但是是存在的)(图片为了便于辨识使用了黑色背" -"景,但在制作资源包时应当使用透明背景);" -msgstr "" -"`hitFx`: The frame count of the width and height of the hit effect. Hit " -"effects are stored as multiple frames in a single image, thus, it is " -"necessary to specify the number of horizontal and vertical frames in the " -"image. For example, in [this image](image/hit_fx.jpg), the horizontal and " -"vertical frame count is 5 and 6 respectively (the last row is not very " -"visible, but it is present there) (the image uses a black background for the " -"ease of viewing, but a transparent background should be used when creating a " -"respack)." - -#: src\respack/index.md:40 -msgid "" -"`holdAtlas`:Hold 贴图的尾、头高度。Hold 的皮肤是 **一张图片**,从上到下分别" -"为 Hold 的尾部、中间和头部。而 `holdAtlas` 的两个数字则分别指定了图片中尾部和" -"头部的高度。例如,在 [此图](image/hold.png) 中,尾部和头部高度均为 50 像素。" -msgstr "" -"`holdAtlas`: The height of the tail and head of the hold image. The note " -"skin of the hold is **an image**, it has the tail section, middle section " -"and the head section, from top to bottom of the image. The 2 numbers of " -"`holdAtlas` specify the height of the tail and head respectively in the " -"image. For example, in [this image](image/hold.png), the height of the tail " -"and head section are both 50 pixels." - -#: src\respack/index.md:41 -msgid "`holdAtlasMH`:意义与上一条类似,指定多押 Hold 的相关信息。" -msgstr "" -"`holdAtlasMH`: Similar to the previous bullet point, specifies the related " -"details for simultaneous holds." - -#: src\respack/index.md:43 -msgid "此外还有选填项:" -msgstr "In addition, there are these optional fields:" - -#: src\respack/index.md:45 -msgid "`hitFxDuration`(小数,默认 `0.5`):打击特效的持续时间,以秒为单位;" -msgstr "" -"`hitFxDuration` (float, default value: `0.5`): The duration of the hit " -"effect in seconds." - -#: src\respack/index.md:46 -msgid "`hitFxScale`(小数,默认 `1.0`):打击特效缩放比例;" -msgstr "" -"`hitFxScale` (float, default value: `1.0`): The scale of the hit effect." - -#: src\respack/index.md:47 -msgid "`hitFxRotate`(布尔值,默认 `false`):打击特效是否随 Note 旋转;" -msgstr "" -"`hitFxRotate` (bool, default value: `false`): Whether the hit effect rotates " -"with the note." - -#: src\respack/index.md:48 -msgid "`hitFxTinted`(布尔值,默认 `true`):打击特效是否依照判定线颜色着色;" -msgstr "" -"`hitFxTinted` (bool, default value: `true`): Whether the hit effect is " -"colored according to the color of the judgement line." - -#: src\respack/index.md:49 -msgid "`hideParticles`(布尔值,默认 `false`):打击时是否隐藏方形粒子效果;" -msgstr "" -"`hideParticles` (bool, default value: `false`): Whether the hit effect " -"particles are hidden." - -#: src\respack/index.md:50 -msgid "`holdKeepHead`(布尔值,默认 `false`):Hold 触线后是否还显示头部;" -msgstr "" -"`holdKeepHead` (bool, default value: `false`): Whether to keep showing the " -"hold’s head section once it touches the line." - -#: src\respack/index.md:51 -msgid "" -"`holdRepeat`(布尔值,默认 `false`):Hold 的中间部分是否采用重复式拉伸。[这" -"里的三张图](image/hold_repeat.jpg) 从左到右依次是 Hold 资源图、不启用 " -"`holdRepeat` 时的长条和启用 `holdRepeat` 时的长条;" -msgstr "" -"`holdRepeat` (bool. default value: `false`): Whether the middle section of " -"the hold is repetitively stretched. [The below shows 3 images](image/" -"hold_repeat.jpg), the hold’s image on the left, the image of how the hold " -"will look like when `holdRepeat` is false on the middle, and the image of " -"how the hold will look like when `holdRepeat` is true on the right." - -#: src\respack/index.md:52 -#, fuzzy -msgid "" -"`holdCompact`(布尔值,默认 `false`):是否把 Hold 的头部和尾部与 Hold 中间重" -"叠(将锚点居中)。还是用上面的 [示例](image/hold_repeat.jpg),如果不开启 " -"`holdCompact`,效果就会是左边第一张图,Hold 的头尾是和中间隔开的;而右边两张" -"图都是开启了 `holdCompact` 的效果;" -msgstr "" -"`holdCompact` (bool, default value: `false`): Whether to overlap the hold’s " -"head and tail section with the middle section. Using the previous [example]" -"(image/hold_repeat.jpg), if `holdCompact` is false, the hold will look like " -"the image on the left, you can see that the tail and head section are " -"separated from the middle section. If `holdCompact` is true, the hold will " -"look like the image on the middle and right." - -#: src\respack/index.md:53 -msgid "" -"`colorPerfect`(十六进制颜色代码,默认 `0xe1ffec9f`):AP(全 Perfect)情况下" -"的判定线颜色;" -msgstr "" -"`colorPerfect` (Hexadecimal color code, default value: `0xe1ffec9f`): The " -"color of the judgement line when it is still AP (All Perfect)." - -#: src\respack/index.md:54 -msgid "" -"`colorGood`(十六进制颜色代码,默认 `0xebb4e1ff`):FC(全连)情况下的判定线" -"颜色。" -msgstr "" -"`colorGood` (Hexadecimal color code, default value: `0xebb4e1ff`): The color " -"of the judgement line when it is still FC (Full Combo)." - -#: src\chart-standard/index.md:1 -msgid "Phira 谱面标准" -msgstr "" - -#: src\chart-standard/index.md:3 -msgid "谱面基本结构" -msgstr "" - -#: src\chart-standard/index.md:5 -msgid "" -"Phira 谱面包是一个压缩包, 解压后的压缩包内应当直接包含以下文件而非文件夹:" -msgstr "" - -#: src\chart-standard/index.md:7 -msgid "`info.yml`: 采用 YAML 格式的[谱面信息](./chartinfo.md)文件" -msgstr "" - -#: src\chart-standard/index.md:8 -msgid "...`info.yml` 中所指定的其他文件" -msgstr "" - -#: src\chart-standard/index.md:10 -msgid "各文件支持情况" -msgstr "" - -#: src\chart-standard/index.md:12 -msgid "谱面文件" -msgstr "" - -#: src\chart-standard/index.md:14 -msgid "见 [谱面文件格式](./chart-format/index.md)" -msgstr "" - -#: src\chart-standard/index.md:16 -msgid "音乐文件" -msgstr "" - -#: src\chart-standard/index.md:18 -msgid "见 [音乐文件格式](./music.md)" -msgstr "" - -#: src\chart-standard/index.md:20 src\chart-standard/chartinfo.md:182 -msgid "TBD" -msgstr "" - -#: src\chart-standard/index.md:22 src\phira_build_guide/Windows.md:50 -#: src\phira_build_guide/Linux.md:29 -msgid "常见问题" -msgstr "" - -#: src\chart-standard/index.md:24 -msgid "" -"RPE 的谱面 JSON 文件存储了元数据(创作者, 难度, 名称等), 这一行为是**不被推荐" -"**的, 这会导致这部分信息可能被重复记录, 从而导致不一致性. Phira 的行为以 " -"`info.yml` 为准" -msgstr "" - -#: src\chart-standard/chartinfo.md:1 -msgid "谱面信息格式" -msgstr "" - -#: src\chart-standard/chartinfo.md:3 -msgid "" -"谱面信息是一种 [元数据](https://zh.wikipedia.org/wiki/" -"%E5%85%83%E6%95%B0%E6%8D%AE) , 用于描述谱面数据之外的的基本信息, 例如作者, 插" -"图, 音乐信息等." -msgstr "" - -#: src\chart-standard/chartinfo.md:5 -msgid "" -"谱面信息存在两种变体, [`ChartInfo`](https://github.com/TeamFlos/phira/" -"blob/207c4724146c5a48c4e304d6e20447a39a72e0d3/prpr/src/info.rs#L17) 和 " -"[`BriefChartInfo`](https://github.com/TeamFlos/phira/" -"blob/207c4724146c5a48c4e304d6e20447a39a72e0d3/phira/src/data.rs#L21), 谱面信" -"息 (`ChartInfo`) 的存储采用 YAML 格式, 谱面的 `info.yml` 文件即为 " -"`ChartInfo` 的实例" -msgstr "" - -#: src\chart-standard/chartinfo.md:7 -msgid "" -"本地导入时会自动填充 `ChartInfo` 的所有字段, 但 YAML 格式本身并不难懂, 若希望" -"填写好后一并打包导入来节省时间, 则需要注意以下字段的填写" -msgstr "" - -#: src\chart-standard/chartinfo.md:9 -msgid "`ChartInfo`" -msgstr "" - -#: src\chart-standard/chartinfo.md:11 -msgid "" -"请参考[源代码](https://github.com/TeamFlos/phira/blob/main/prpr/src/info.rs)" -"中的定义, 可能存在更新" -msgstr "" - -#: src\chart-standard/chartinfo.md:13 -msgid "谱面 ID `id`" -msgstr "" - -#: src\chart-standard/chartinfo.md:15 src\chart-standard/chartinfo.md:23 -msgid "不必需, `i32` 整数, 默认为空" -msgstr "" - -#: src\chart-standard/chartinfo.md:17 -msgid "" -"用于标识谱面的唯一 ID, 与服务器中的 ID 保持一致, Phira 客户端会根据此 ID 来判" -"断是否需要更新谱面" -msgstr "" - -#: src\chart-standard/chartinfo.md:19 src\chart-standard/chartinfo.md:27 -msgid "本地谱面该项为空" -msgstr "" - -#: src\chart-standard/chartinfo.md:21 -msgid "上传者 ID `uploader`" -msgstr "" - -#: src\chart-standard/chartinfo.md:25 -msgid "" -"用于标识上传者的唯一 ID, 与服务器中的 ID 保持一致, 用于显示在线谱面的上传者信" -"息" -msgstr "" - -#: src\chart-standard/chartinfo.md:29 -msgid "谱面名称 `name`" -msgstr "" - -#: src\chart-standard/chartinfo.md:31 src\chart-standard/chartinfo.md:49 -#: src\chart-standard/chartinfo.md:55 src\chart-standard/chartinfo.md:61 -msgid "必需, `String` 字符串, 默认为 \"UK\"" -msgstr "" - -#: src\chart-standard/chartinfo.md:33 -msgid "谱面的名称" -msgstr "" - -#: src\chart-standard/chartinfo.md:35 -msgid "难度 `difficulty`" -msgstr "" - -#: src\chart-standard/chartinfo.md:37 -msgid "必需, `f32` 浮点数, 默认为 10.0" -msgstr "" - -#: src\chart-standard/chartinfo.md:39 -msgid "谱面的难度, 别乱来哈" -msgstr "" - -#: src\chart-standard/chartinfo.md:41 -msgid "难度等级 `level`" -msgstr "" - -#: src\chart-standard/chartinfo.md:43 -msgid "必需, `String` 字符串, 默认为 \"UK Lv.10\"" -msgstr "" - -#: src\chart-standard/chartinfo.md:45 -msgid "显示在游玩时屏幕右下角的难度等级" -msgstr "" - -#: src\chart-standard/chartinfo.md:47 -msgid "谱面作者 `charter`" -msgstr "" - -#: src\chart-standard/chartinfo.md:51 -msgid "这谱谁写的.jpg" -msgstr "" - -#: src\chart-standard/chartinfo.md:53 -msgid "音乐作者 `composer`" -msgstr "" - -#: src\chart-standard/chartinfo.md:57 -msgid "音乐的作者" -msgstr "" - -#: src\chart-standard/chartinfo.md:59 -msgid "插图作者 `illustrator`" -msgstr "" - -#: src\chart-standard/chartinfo.md:63 -msgid "谱面的插图作者" -msgstr "" - -#: src\chart-standard/chartinfo.md:65 -msgid "谱面文件名 `chart`" -msgstr "" - -#: src\chart-standard/chartinfo.md:67 -msgid "必需, `String` 字符串, 默认为 \"chart.json\"" -msgstr "" - -#: src\chart-standard/chartinfo.md:69 -msgid "" -"谱面文件的文件名, RPE 生成的谱面通常为 `chart.json`, PE 生成的谱面通常为 " -"`xxx.pec`" -msgstr "" - -#: src\chart-standard/chartinfo.md:71 -msgid "谱面格式 `format`" -msgstr "" - -#: src\chart-standard/chartinfo.md:73 -msgid "" -"不必需, [`ChartFormat`](https://github.com/TeamFlos/phira/blob/" -"dad7d6f3a8535cabfb70ec3f954d774948c440f9/prpr/src/info.rs#L7) 枚举, 默认为空" -msgstr "" - -#: src\chart-standard/chartinfo.md:75 -msgid "" -"谱面的格式, 不应当手动填写, 由 Phira 客户端自动识别并写入, 出于完整性需求在这" -"里列出" -msgstr "" - -#: src\chart-standard/chartinfo.md:77 -msgid "音乐文件名 `music`" -msgstr "" - -#: src\chart-standard/chartinfo.md:79 -msgid "必需, `String` 字符串, 默认为 \"song.mp3\"" -msgstr "" - -#: src\chart-standard/chartinfo.md:81 -msgid "音乐文件的文件名" -msgstr "" - -#: src\chart-standard/chartinfo.md:83 -msgid "插图文件名 `illustration`" -msgstr "" - -#: src\chart-standard/chartinfo.md:85 -msgid "必需, `String` 字符串, 默认为 \"background.png\"" -msgstr "" - -#: src\chart-standard/chartinfo.md:87 -msgid "插图文件的文件名" -msgstr "" - -#: src\chart-standard/chartinfo.md:89 -msgid "解锁视频 `unlockVideo`" -msgstr "" - -#: src\chart-standard/chartinfo.md:91 src\chart-standard/chartinfo.md:138 -msgid "不必需, `String` 字符串, 默认为空" -msgstr "" - -#: src\chart-standard/chartinfo.md:93 -msgid "解锁该谱面的视频文件名" -msgstr "" - -#: src\chart-standard/chartinfo.md:95 -msgid "预览开始时间 `previewStart`" -msgstr "" - -#: src\chart-standard/chartinfo.md:97 src\chart-standard/chartinfo.md:129 -msgid "必需, `f32` 浮点数, 默认为 0.0" -msgstr "" - -#: src\chart-standard/chartinfo.md:99 -msgid "音乐预览开始的时间(秒)" -msgstr "" - -#: src\chart-standard/chartinfo.md:101 -msgid "预览结束时间 `previewEnd`" -msgstr "" - -#: src\chart-standard/chartinfo.md:103 -msgid "不必需, `f32` 浮点数, 默认为空" -msgstr "" - -#: src\chart-standard/chartinfo.md:105 -msgid "" -"音乐预览结束的时间(秒), 留空则视为预览开始时间后 15.0 秒, 若超出结尾则会被截" -"断" -msgstr "" - -#: src\chart-standard/chartinfo.md:107 -msgid "" -"源代码: [截断](https://github.com/TeamFlos/phira/blob/" -"dad7d6f3a8535cabfb70ec3f954d774948c440f9/phira/src/scene/song.rs#L94)" -msgstr "" - -#: src\chart-standard/chartinfo.md:109 -msgid "纵横比 `aspectRatio`" -msgstr "" - -#: src\chart-standard/chartinfo.md:111 -msgid "必需, `f32` 浮点数, 默认为 16.0 / 9.0" -msgstr "" - -#: src\chart-standard/chartinfo.md:113 -msgid "" -"注意: 谱面显示的纵横比, 设备的纵横比大于此值(例如部分加长手机, 或者一般手机上" -"此值填写为 4:3)时会保证谱面处于该值的纵横比, 而小于此值时会拉伸谱面以保证谱面" -"填满屏幕(来源: TBD)" -msgstr "" - -#: src\chart-standard/chartinfo.md:115 -msgid "背景暗化程度 `backgroundDim`" -msgstr "" - -#: src\chart-standard/chartinfo.md:117 -msgid "必需, `f32` 浮点数, 默认为 0.6" -msgstr "" - -#: src\chart-standard/chartinfo.md:119 -msgid "谱面背景的暗化程度, 为背景上方矩形的不透明度" -msgstr "" - -#: src\chart-standard/chartinfo.md:121 -msgid "判定线长度 `lineLength`" -msgstr "" - -#: src\chart-standard/chartinfo.md:123 -msgid "必需, `f32` 浮点数, 默认为 6.0" -msgstr "" - -#: src\chart-standard/chartinfo.md:125 -msgid "谱面中线条的长度, 单位待补充(涉及到渲染细节, 文档待补充)" -msgstr "" - -#: src\chart-standard/chartinfo.md:127 -msgid "谱面延迟 `offset`" -msgstr "" - -#: src\chart-standard/chartinfo.md:131 -msgid "谱面相对于音乐之间的时间延迟(秒), 即该值为正时相比于该值为零时:" -msgstr "" - -#: src\chart-standard/chartinfo.md:133 -msgid "若两种情况中音乐同时开始, 则 `offset` 为正时谱面开始更晚" -msgstr "" - -#: src\chart-standard/chartinfo.md:134 -msgid "若两种情况中谱面同时开始, 则 `offset` 为正时音乐开始更早" -msgstr "" - -#: src\chart-standard/chartinfo.md:136 -msgid "提示 `tip`" -msgstr "" - -#: src\chart-standard/chartinfo.md:140 -msgid "Tip: 不写的话会给你塞一条别的" -msgstr "" - -#: src\chart-standard/chartinfo.md:142 -msgid "标签 `tags`" -msgstr "" - -#: src\chart-standard/chartinfo.md:144 -msgid "必需, `String` 字符串数组, 默认为空" -msgstr "" - -#: src\chart-standard/chartinfo.md:146 -msgid "谱面的标签, 用于分类和搜索, 标签相关文档待补充" -msgstr "" - -#: src\chart-standard/chartinfo.md:148 -msgid "简介 `intro`" -msgstr "" - -#: src\chart-standard/chartinfo.md:150 -msgid "必需, `String` 字符串, 默认为空" -msgstr "" - -#: src\chart-standard/chartinfo.md:152 -msgid "谱面的简介" -msgstr "" - -#: src\chart-standard/chartinfo.md:154 -msgid "长条选项 `holdPartialCover`" -msgstr "" - -#: src\chart-standard/chartinfo.md:156 -msgid "必需, `bool` 布尔值, 默认为 false" -msgstr "" - -#: src\chart-standard/chartinfo.md:158 -msgid "Hold 音符的遮罩位置,若为 `true` 则为尾部,否则为头部" -msgstr "" - -#: src\chart-standard/chartinfo.md:160 -msgid "创建时间 `created`" -msgstr "" - -#: src\chart-standard/chartinfo.md:162 src\chart-standard/chartinfo.md:168 -#: src\chart-standard/chartinfo.md:174 -msgid "不必需, `DateTime` 可选的 UTC 时间, 默认为空" -msgstr "" - -#: src\chart-standard/chartinfo.md:164 -msgid "谱面创建的时间, 不应当手动填写, 由 Phira 客户端自动写入" -msgstr "" - -#: src\chart-standard/chartinfo.md:166 -msgid "更新时间 `updated`" -msgstr "" - -#: src\chart-standard/chartinfo.md:170 -msgid "本地谱面最近一次更新的时间, 不应当手动填写, 由 Phira 客户端自动写入" -msgstr "" - -#: src\chart-standard/chartinfo.md:172 -msgid "谱面更新时间 `chartUpdated`" -msgstr "" - -#: src\chart-standard/chartinfo.md:176 -msgid "" -"云端谱面最近一次更新的时间, 不应当手动填写, 由 Phira 客户端自动写入. 用于判断" -"是否需要更新谱面" -msgstr "" - -#: src\chart-standard/chartinfo.md:178 -msgid "`BriefChartInfo`" -msgstr "" - -#: src\chart-standard/chartinfo.md:180 -msgid "" -"`BriefChartInfo` 是 `ChartInfo` 的一个简化版本, 用于在不需要详细信息的场景下" -"使用. 以下是 `BriefChartInfo` 的主要字段:" -msgstr "" - -#: src\chart-standard/chart-format/index.md:3 -msgid "目前支持的谱面文件格式包括:" -msgstr "" - -#: src\chart-standard/chart-format/index.md:5 -msgid "RPE 格式, 见 [RPE 文档](./rpe/index.md)" -msgstr "" - -#: src\chart-standard/chart-format/index.md:6 -msgid "PEC 格式, 见 [PE 文档](./pe/index.md)" -msgstr "" - -#: src\chart-standard/chart-format/index.md:7 -msgid "PBC 格式 (文档待完善)" -msgstr "" - -#: src\chart-standard/chart-format/index.md:9 -msgid "" -"格式的推断通过 `info.yml` 中的 `format` 字段进行, 若为空则通过文件内容进行推" -"断." -msgstr "" - -#: src\chart-standard/chart-format/index.md:11 -msgid "注意: 忽略谱面文件的后缀名" -msgstr "" - -#: src\chart-standard/chart-format/rpe/index.md:1 -msgid "RPE 文档" -msgstr "" - -#: src\chart-standard/chart-format/rpe/index.md:3 -msgid "" -"本文档在2024.7.25开始编辑,在2024.8.25正式完成且持续更新。 \n" -"详情见左侧目录。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:1 -msgid "RPE谱面根目录结构" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:3 -msgid "" -"**警告:以下所有内容从编写开始时间(2024.7.25)最新RPE版本1.4.1开始编写,更早" -"的加入版本等信息全部待补充。**" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:5 -#: src\chart-standard/chart-format/phi/root.md:6 -msgid "谱面根目录结构" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:7 -msgid "BPMList" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:8 -msgid "" -"`BPMList` 是一个 `JsonArray` 类型字段,包含若干个 `JsonObject`。 每个" -"JsonObject包含以下字段:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:11 -#: src\chart-standard/chart-format/rpe/root.md:19 -#: src\chart-standard/chart-format/rpe/judgeLine.md:5 -#: src\chart-standard/chart-format/rpe/event.md:11 -#: src\chart-standard/chart-format/rpe/extendEvent.md:11 -#: src\chart-standard/chart-format/rpe/extendEvent.md:28 -#: src\chart-standard/chart-format/rpe/extendEvent.md:45 -#: src\chart-standard/chart-format/rpe/extendEvent.md:62 -#: src\chart-standard/chart-format/rpe/extendEvent.md:91 -#: src\chart-standard/chart-format/rpe/extendEvent.md:110 -#: src\chart-standard/chart-format/rpe/controls.md:7 -#: src\chart-standard/chart-format/rpe/controls.md:47 -#: src\chart-standard/chart-format/rpe/controls.md:88 -#: src\chart-standard/chart-format/rpe/controls.md:127 -#: src\chart-standard/chart-format/rpe/controls.md:137 -#: src\chart-standard/chart-format/phi/note.md:5 -#: src\chart-standard/chart-format/phi/event.md:7 -#: src\chart-standard/chart-format/phi/event.md:16 -#: src\chart-standard/chart-format/phi/event.md:23 -#: src\chart-standard/chart-format/phi/event.md:43 -#: src\chart-standard/chart-format/phi/event.md:52 -#: src\chart-standard/chart-format/phi/event.md:61 -#: src\chart-standard/chart-format/phi/judgeLine.md:5 -msgid "字段名" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:11 -#: src\chart-standard/chart-format/rpe/root.md:19 -#: src\chart-standard/chart-format/rpe/judgeLine.md:5 -#: src\chart-standard/chart-format/rpe/note.md:5 -#: src\chart-standard/chart-format/rpe/event.md:11 -#: src\chart-standard/chart-format/rpe/extendEvent.md:11 -#: src\chart-standard/chart-format/rpe/extendEvent.md:28 -#: src\chart-standard/chart-format/rpe/extendEvent.md:45 -#: src\chart-standard/chart-format/rpe/extendEvent.md:62 -#: src\chart-standard/chart-format/rpe/extendEvent.md:91 -#: src\chart-standard/chart-format/rpe/extendEvent.md:110 -#: src\chart-standard/chart-format/rpe/controls.md:7 -#: src\chart-standard/chart-format/rpe/controls.md:47 -#: src\chart-standard/chart-format/rpe/controls.md:88 -#: src\chart-standard/chart-format/rpe/controls.md:127 -#: src\chart-standard/chart-format/rpe/controls.md:137 -#: src\chart-standard/chart-format/phi/note.md:5 -#: src\chart-standard/chart-format/phi/event.md:7 -#: src\chart-standard/chart-format/phi/event.md:16 -#: src\chart-standard/chart-format/phi/event.md:23 -#: src\chart-standard/chart-format/phi/event.md:43 -#: src\chart-standard/chart-format/phi/event.md:52 -#: src\chart-standard/chart-format/phi/event.md:61 -#: src\chart-standard/chart-format/phi/judgeLine.md:5 -#, fuzzy -msgid "类型" -msgstr "Data type" - -#: src\chart-standard/chart-format/rpe/root.md:11 -#: src\chart-standard/chart-format/rpe/root.md:19 -msgid "说明" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:11 -#: src\chart-standard/chart-format/rpe/root.md:19 -#: src\chart-standard/chart-format/rpe/judgeLine.md:5 -#: src\chart-standard/chart-format/rpe/note.md:5 -#: src\chart-standard/chart-format/rpe/event.md:11 -#: src\chart-standard/chart-format/rpe/extendEvent.md:11 -#: src\chart-standard/chart-format/rpe/extendEvent.md:28 -#: src\chart-standard/chart-format/rpe/extendEvent.md:45 -#: src\chart-standard/chart-format/rpe/extendEvent.md:62 -#: src\chart-standard/chart-format/rpe/extendEvent.md:91 -#: src\chart-standard/chart-format/rpe/extendEvent.md:110 -#: src\chart-standard/chart-format/rpe/controls.md:7 -#: src\chart-standard/chart-format/rpe/controls.md:47 -#: src\chart-standard/chart-format/rpe/controls.md:88 -#: src\chart-standard/chart-format/rpe/controls.md:127 -#: src\chart-standard/chart-format/rpe/controls.md:137 -msgid "加入版本" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:13 -#: src\chart-standard/chart-format/phi/judgeLine.md:7 -#, fuzzy -msgid "bpm" -msgstr "\"bpm\"" - -#: src\chart-standard/chart-format/rpe/root.md:13 -#: src\chart-standard/chart-format/rpe/judgeLine.md:25 -#: src\chart-standard/chart-format/rpe/note.md:12 -#: src\chart-standard/chart-format/rpe/note.md:13 -#: src\chart-standard/chart-format/rpe/note.md:14 -#: src\chart-standard/chart-format/rpe/note.md:16 -#: src\chart-standard/chart-format/rpe/note.md:17 -#: src\chart-standard/chart-format/rpe/note.md:19 -#: src\chart-standard/chart-format/rpe/event.md:15 -#: src\chart-standard/chart-format/rpe/event.md:16 -#: src\chart-standard/chart-format/rpe/event.md:19 -#: src\chart-standard/chart-format/rpe/event.md:21 -#: src\chart-standard/chart-format/rpe/extendEvent.md:15 -#: src\chart-standard/chart-format/rpe/extendEvent.md:16 -#: src\chart-standard/chart-format/rpe/extendEvent.md:32 -#: src\chart-standard/chart-format/rpe/extendEvent.md:33 -#: src\chart-standard/chart-format/rpe/extendEvent.md:36 -#: src\chart-standard/chart-format/rpe/extendEvent.md:38 -#: src\chart-standard/chart-format/rpe/extendEvent.md:49 -#: src\chart-standard/chart-format/rpe/extendEvent.md:50 -#: src\chart-standard/chart-format/rpe/extendEvent.md:53 -#: src\chart-standard/chart-format/rpe/extendEvent.md:55 -#: src\chart-standard/chart-format/rpe/extendEvent.md:66 -#: src\chart-standard/chart-format/rpe/extendEvent.md:67 -#: src\chart-standard/chart-format/rpe/extendEvent.md:95 -#: src\chart-standard/chart-format/rpe/extendEvent.md:96 -#: src\chart-standard/chart-format/rpe/extendEvent.md:114 -#: src\chart-standard/chart-format/rpe/extendEvent.md:116 -#: src\chart-standard/chart-format/rpe/controls.md:10 -#: src\chart-standard/chart-format/rpe/controls.md:11 -#: src\chart-standard/chart-format/rpe/controls.md:50 -#: src\chart-standard/chart-format/rpe/controls.md:51 -#: src\chart-standard/chart-format/rpe/controls.md:91 -#: src\chart-standard/chart-format/rpe/controls.md:92 -#: src\chart-standard/chart-format/rpe/controls.md:130 -#: src\chart-standard/chart-format/rpe/controls.md:131 -#: src\chart-standard/chart-format/rpe/controls.md:140 -#: src\chart-standard/chart-format/rpe/controls.md:141 -#: src\chart-standard/chart-format/phi/note.md:9 -#: src\chart-standard/chart-format/phi/note.md:10 -#: src\chart-standard/chart-format/phi/note.md:11 -#: src\chart-standard/chart-format/phi/note.md:12 -#: src\chart-standard/chart-format/phi/event.md:9 -#: src\chart-standard/chart-format/phi/event.md:10 -#: src\chart-standard/chart-format/phi/event.md:11 -#: src\chart-standard/chart-format/phi/event.md:12 -#: src\chart-standard/chart-format/phi/event.md:18 -#: src\chart-standard/chart-format/phi/event.md:19 -#: src\chart-standard/chart-format/phi/event.md:45 -#: src\chart-standard/chart-format/phi/event.md:46 -#: src\chart-standard/chart-format/phi/event.md:47 -#: src\chart-standard/chart-format/phi/event.md:48 -#: src\chart-standard/chart-format/phi/event.md:56 -#: src\chart-standard/chart-format/phi/event.md:57 -#: src\chart-standard/chart-format/phi/event.md:63 -#: src\chart-standard/chart-format/phi/event.md:64 -#: src\chart-standard/chart-format/phi/event.md:65 -#: src\chart-standard/chart-format/phi/event.md:66 -#: src\chart-standard/chart-format/phi/judgeLine.md:7 -#, fuzzy -msgid "float" -msgstr "`Float`" - -#: src\chart-standard/chart-format/rpe/root.md:13 -msgid "BPM值" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:13 -#: src\chart-standard/chart-format/rpe/root.md:14 -#: src\chart-standard/chart-format/rpe/root.md:21 -#: src\chart-standard/chart-format/rpe/root.md:22 -#: src\chart-standard/chart-format/rpe/root.md:23 -#: src\chart-standard/chart-format/rpe/root.md:24 -#: src\chart-standard/chart-format/rpe/root.md:25 -#: src\chart-standard/chart-format/rpe/root.md:27 -#: src\chart-standard/chart-format/rpe/root.md:28 -#: src\chart-standard/chart-format/rpe/root.md:29 -#: src\chart-standard/chart-format/rpe/root.md:30 -#: src\chart-standard/chart-format/rpe/judgeLine.md:7 -#: src\chart-standard/chart-format/rpe/judgeLine.md:8 -#: src\chart-standard/chart-format/rpe/judgeLine.md:9 -#: src\chart-standard/chart-format/rpe/judgeLine.md:11 -#: src\chart-standard/chart-format/rpe/judgeLine.md:12 -#: src\chart-standard/chart-format/rpe/judgeLine.md:13 -#: src\chart-standard/chart-format/rpe/judgeLine.md:14 -#: src\chart-standard/chart-format/rpe/judgeLine.md:15 -#: src\chart-standard/chart-format/rpe/judgeLine.md:16 -#: src\chart-standard/chart-format/rpe/judgeLine.md:17 -#: src\chart-standard/chart-format/rpe/judgeLine.md:18 -#: src\chart-standard/chart-format/rpe/judgeLine.md:20 -#: src\chart-standard/chart-format/rpe/judgeLine.md:21 -#: src\chart-standard/chart-format/rpe/judgeLine.md:22 -#: src\chart-standard/chart-format/rpe/judgeLine.md:23 -#: src\chart-standard/chart-format/rpe/judgeLine.md:24 -#: src\chart-standard/chart-format/rpe/judgeLine.md:25 -#: src\chart-standard/chart-format/rpe/note.md:7 -#: src\chart-standard/chart-format/rpe/note.md:8 -#: src\chart-standard/chart-format/rpe/note.md:9 -#: src\chart-standard/chart-format/rpe/note.md:10 -#: src\chart-standard/chart-format/rpe/note.md:11 -#: src\chart-standard/chart-format/rpe/note.md:12 -#: src\chart-standard/chart-format/rpe/note.md:13 -#: src\chart-standard/chart-format/rpe/note.md:14 -#: src\chart-standard/chart-format/rpe/note.md:15 -#: src\chart-standard/chart-format/rpe/note.md:16 -#: src\chart-standard/chart-format/rpe/note.md:17 -#: src\chart-standard/chart-format/rpe/note.md:18 -#: src\chart-standard/chart-format/rpe/event.md:13 -#: src\chart-standard/chart-format/rpe/event.md:14 -#: src\chart-standard/chart-format/rpe/event.md:15 -#: src\chart-standard/chart-format/rpe/event.md:16 -#: src\chart-standard/chart-format/rpe/event.md:17 -#: src\chart-standard/chart-format/rpe/event.md:18 -#: src\chart-standard/chart-format/rpe/event.md:19 -#: src\chart-standard/chart-format/rpe/event.md:20 -#: src\chart-standard/chart-format/rpe/event.md:21 -#: src\chart-standard/chart-format/rpe/event.md:22 -#: src\chart-standard/chart-format/rpe/extendEvent.md:13 -#: src\chart-standard/chart-format/rpe/extendEvent.md:14 -#: src\chart-standard/chart-format/rpe/extendEvent.md:15 -#: src\chart-standard/chart-format/rpe/extendEvent.md:16 -#: src\chart-standard/chart-format/rpe/extendEvent.md:17 -#: src\chart-standard/chart-format/rpe/extendEvent.md:18 -#: src\chart-standard/chart-format/rpe/extendEvent.md:19 -#: src\chart-standard/chart-format/rpe/extendEvent.md:20 -#: src\chart-standard/chart-format/rpe/extendEvent.md:21 -#: src\chart-standard/chart-format/rpe/extendEvent.md:22 -#: src\chart-standard/chart-format/rpe/extendEvent.md:30 -#: src\chart-standard/chart-format/rpe/extendEvent.md:31 -#: src\chart-standard/chart-format/rpe/extendEvent.md:32 -#: src\chart-standard/chart-format/rpe/extendEvent.md:33 -#: src\chart-standard/chart-format/rpe/extendEvent.md:34 -#: src\chart-standard/chart-format/rpe/extendEvent.md:35 -#: src\chart-standard/chart-format/rpe/extendEvent.md:36 -#: src\chart-standard/chart-format/rpe/extendEvent.md:37 -#: src\chart-standard/chart-format/rpe/extendEvent.md:38 -#: src\chart-standard/chart-format/rpe/extendEvent.md:39 -#: src\chart-standard/chart-format/rpe/extendEvent.md:47 -#: src\chart-standard/chart-format/rpe/extendEvent.md:48 -#: src\chart-standard/chart-format/rpe/extendEvent.md:49 -#: src\chart-standard/chart-format/rpe/extendEvent.md:50 -#: src\chart-standard/chart-format/rpe/extendEvent.md:51 -#: src\chart-standard/chart-format/rpe/extendEvent.md:52 -#: src\chart-standard/chart-format/rpe/extendEvent.md:53 -#: src\chart-standard/chart-format/rpe/extendEvent.md:54 -#: src\chart-standard/chart-format/rpe/extendEvent.md:55 -#: src\chart-standard/chart-format/rpe/extendEvent.md:56 -#: src\chart-standard/chart-format/rpe/extendEvent.md:64 -#: src\chart-standard/chart-format/rpe/extendEvent.md:65 -#: src\chart-standard/chart-format/rpe/extendEvent.md:66 -#: src\chart-standard/chart-format/rpe/extendEvent.md:67 -#: src\chart-standard/chart-format/rpe/extendEvent.md:68 -#: src\chart-standard/chart-format/rpe/extendEvent.md:69 -#: src\chart-standard/chart-format/rpe/extendEvent.md:70 -#: src\chart-standard/chart-format/rpe/extendEvent.md:71 -#: src\chart-standard/chart-format/rpe/extendEvent.md:72 -#: src\chart-standard/chart-format/rpe/extendEvent.md:73 -#: src\chart-standard/chart-format/rpe/extendEvent.md:74 -#: src\chart-standard/chart-format/rpe/extendEvent.md:93 -#: src\chart-standard/chart-format/rpe/extendEvent.md:94 -#: src\chart-standard/chart-format/rpe/extendEvent.md:95 -#: src\chart-standard/chart-format/rpe/extendEvent.md:96 -#: src\chart-standard/chart-format/rpe/extendEvent.md:97 -#: src\chart-standard/chart-format/rpe/extendEvent.md:98 -#: src\chart-standard/chart-format/rpe/extendEvent.md:99 -#: src\chart-standard/chart-format/rpe/extendEvent.md:100 -#: src\chart-standard/chart-format/rpe/extendEvent.md:101 -#: src\chart-standard/chart-format/rpe/extendEvent.md:102 -#: src\chart-standard/chart-format/rpe/extendEvent.md:112 -#: src\chart-standard/chart-format/rpe/extendEvent.md:113 -#: src\chart-standard/chart-format/rpe/extendEvent.md:114 -#: src\chart-standard/chart-format/rpe/extendEvent.md:115 -#: src\chart-standard/chart-format/rpe/extendEvent.md:116 -#: src\chart-standard/chart-format/rpe/extendEvent.md:117 -#: src\chart-standard/chart-format/rpe/extend.md:9 -#: src\chart-standard/chart-format/rpe/extend.md:12 -#: src\chart-standard/chart-format/rpe/extend.md:14 -#: src\chart-standard/chart-format/rpe/extend.md:15 -#: src\chart-standard/chart-format/rpe/extend.md:37 -#: src\chart-standard/chart-format/rpe/extend.md:38 -#: src\chart-standard/chart-format/rpe/extend.md:39 -#: src\chart-standard/chart-format/rpe/extend.md:40 -#: src\chart-standard/chart-format/rpe/extend.md:41 -#: src\chart-standard/chart-format/rpe/extend.md:42 -#: src\chart-standard/chart-format/rpe/extend.md:43 -#: src\chart-standard/chart-format/rpe/extend.md:44 -#: src\chart-standard/chart-format/rpe/extend.md:45 -#: src\chart-standard/chart-format/rpe/extend.md:46 -#: src\chart-standard/chart-format/rpe/extend.md:47 -#: src\chart-standard/chart-format/rpe/extend.md:48 -#: src\chart-standard/chart-format/rpe/extend.md:49 -#: src\chart-standard/chart-format/rpe/extend.md:50 -#: src\chart-standard/chart-format/rpe/extend.md:51 -#: src\chart-standard/chart-format/rpe/extend.md:52 -#: src\chart-standard/chart-format/rpe/extend.md:53 -#: src\chart-standard/chart-format/rpe/extend.md:54 -#: src\chart-standard/chart-format/rpe/extend.md:55 -#: src\chart-standard/chart-format/rpe/extend.md:56 -#: src\chart-standard/chart-format/rpe/extend.md:57 -#: src\chart-standard/chart-format/rpe/extend.md:58 -#: src\chart-standard/chart-format/rpe/extend.md:59 -#: src\chart-standard/chart-format/rpe/extend.md:60 -#: src\chart-standard/chart-format/rpe/extend.md:61 -#: src\chart-standard/chart-format/rpe/extend.md:62 -#: src\chart-standard/chart-format/rpe/extend.md:63 -#: src\chart-standard/chart-format/rpe/extend.md:64 -#: src\chart-standard/chart-format/rpe/controls.md:10 -#: src\chart-standard/chart-format/rpe/controls.md:49 -#: src\chart-standard/chart-format/rpe/controls.md:50 -#: src\chart-standard/chart-format/rpe/controls.md:51 -#: src\chart-standard/chart-format/rpe/controls.md:90 -#: src\chart-standard/chart-format/rpe/controls.md:91 -#: src\chart-standard/chart-format/rpe/controls.md:92 -#: src\chart-standard/chart-format/rpe/controls.md:129 -#: src\chart-standard/chart-format/rpe/controls.md:130 -#: src\chart-standard/chart-format/rpe/controls.md:131 -#: src\chart-standard/chart-format/rpe/controls.md:139 -#: src\chart-standard/chart-format/rpe/controls.md:140 -#: src\chart-standard/chart-format/rpe/controls.md:141 -#: src\chart-standard/chart-format/phi/note.md:7 -#: src\chart-standard/chart-format/phi/note.md:11 -#: src\chart-standard/chart-format/phi/event.md:25 -#: src\chart-standard/chart-format/phi/event.md:26 -#: src\chart-standard/chart-format/phi/event.md:65 -#: src\chart-standard/chart-format/phi/event.md:66 -msgid "\\-" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:14 -#: src\chart-standard/chart-format/rpe/note.md:10 -#: src\chart-standard/chart-format/rpe/event.md:20 -#: src\chart-standard/chart-format/rpe/extendEvent.md:20 -#: src\chart-standard/chart-format/rpe/extendEvent.md:37 -#: src\chart-standard/chart-format/rpe/extendEvent.md:54 -#: src\chart-standard/chart-format/rpe/extendEvent.md:71 -#: src\chart-standard/chart-format/rpe/extendEvent.md:100 -#: src\chart-standard/chart-format/rpe/extendEvent.md:115 -#: src\chart-standard/chart-format/phi/event.md:9 -#: src\chart-standard/chart-format/phi/event.md:18 -#: src\chart-standard/chart-format/phi/event.md:54 -#: src\chart-standard/chart-format/phi/event.md:63 -#, fuzzy -msgid "startTime" -msgstr "\"startTime\"" - -#: src\chart-standard/chart-format/rpe/root.md:14 -#: src\chart-standard/chart-format/rpe/note.md:9 -#: src\chart-standard/chart-format/rpe/note.md:10 -#: src\chart-standard/chart-format/rpe/event.md:20 -#: src\chart-standard/chart-format/rpe/event.md:22 -#: src\chart-standard/chart-format/rpe/extendEvent.md:20 -#: src\chart-standard/chart-format/rpe/extendEvent.md:22 -#: src\chart-standard/chart-format/rpe/extendEvent.md:37 -#: src\chart-standard/chart-format/rpe/extendEvent.md:39 -#: src\chart-standard/chart-format/rpe/extendEvent.md:54 -#: src\chart-standard/chart-format/rpe/extendEvent.md:56 -#: src\chart-standard/chart-format/rpe/extendEvent.md:71 -#: src\chart-standard/chart-format/rpe/extendEvent.md:73 -#: src\chart-standard/chart-format/rpe/extendEvent.md:100 -#: src\chart-standard/chart-format/rpe/extendEvent.md:102 -#: src\chart-standard/chart-format/rpe/extendEvent.md:115 -#: src\chart-standard/chart-format/rpe/extendEvent.md:117 -msgid "[beat](./beat.md)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:14 -msgid "BPM开始时间" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:16 -msgid "META" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:17 -msgid "`META` 是一个 `JsonObject` 类型字段,包含以下字段:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:21 -msgid "RPEVersion" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:21 -#: src\chart-standard/chart-format/rpe/root.md:29 -#: src\chart-standard/chart-format/rpe/judgeLine.md:7 -#: src\chart-standard/chart-format/rpe/judgeLine.md:13 -#: src\chart-standard/chart-format/rpe/judgeLine.md:14 -#: src\chart-standard/chart-format/rpe/judgeLine.md:16 -#: src\chart-standard/chart-format/rpe/judgeLine.md:17 -#: src\chart-standard/chart-format/rpe/note.md:7 -#: src\chart-standard/chart-format/rpe/note.md:8 -#: src\chart-standard/chart-format/rpe/note.md:11 -#: src\chart-standard/chart-format/rpe/note.md:15 -#: src\chart-standard/chart-format/rpe/event.md:13 -#: src\chart-standard/chart-format/rpe/event.md:17 -#: src\chart-standard/chart-format/rpe/event.md:18 -#: src\chart-standard/chart-format/rpe/extendEvent.md:13 -#: src\chart-standard/chart-format/rpe/extendEvent.md:17 -#: src\chart-standard/chart-format/rpe/extendEvent.md:18 -#: src\chart-standard/chart-format/rpe/extendEvent.md:30 -#: src\chart-standard/chart-format/rpe/extendEvent.md:34 -#: src\chart-standard/chart-format/rpe/extendEvent.md:35 -#: src\chart-standard/chart-format/rpe/extendEvent.md:47 -#: src\chart-standard/chart-format/rpe/extendEvent.md:51 -#: src\chart-standard/chart-format/rpe/extendEvent.md:52 -#: src\chart-standard/chart-format/rpe/extendEvent.md:64 -#: src\chart-standard/chart-format/rpe/extendEvent.md:68 -#: src\chart-standard/chart-format/rpe/extendEvent.md:69 -#: src\chart-standard/chart-format/rpe/extendEvent.md:93 -#: src\chart-standard/chart-format/rpe/extendEvent.md:97 -#: src\chart-standard/chart-format/rpe/extendEvent.md:98 -#: src\chart-standard/chart-format/rpe/extendEvent.md:112 -#: src\chart-standard/chart-format/rpe/extendEvent.md:113 -#: src\chart-standard/chart-format/rpe/controls.md:9 -#: src\chart-standard/chart-format/rpe/controls.md:49 -#: src\chart-standard/chart-format/rpe/controls.md:90 -#: src\chart-standard/chart-format/rpe/controls.md:129 -#: src\chart-standard/chart-format/rpe/controls.md:139 -#: src\chart-standard/chart-format/phi/note.md:7 -#: src\chart-standard/chart-format/phi/note.md:8 -#: src\chart-standard/chart-format/phi/event.md:25 -#: src\chart-standard/chart-format/phi/event.md:26 -#: src\chart-standard/chart-format/phi/event.md:54 -#: src\chart-standard/chart-format/phi/event.md:55 -msgid "int" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:21 -msgid "RPE版本,100~160" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:22 -msgid "background" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:22 -#: src\chart-standard/chart-format/rpe/root.md:23 -#: src\chart-standard/chart-format/rpe/root.md:24 -#: src\chart-standard/chart-format/rpe/root.md:25 -#: src\chart-standard/chart-format/rpe/root.md:26 -#: src\chart-standard/chart-format/rpe/root.md:27 -#: src\chart-standard/chart-format/rpe/root.md:28 -#: src\chart-standard/chart-format/rpe/root.md:30 -#: src\chart-standard/chart-format/rpe/judgeLine.md:8 -#: src\chart-standard/chart-format/rpe/judgeLine.md:9 -#: src\chart-standard/chart-format/rpe/extendEvent.md:70 -#: src\chart-standard/chart-format/rpe/extendEvent.md:72 -#: src\chart-standard/chart-format/rpe/extendEvent.md:74 -#: src\chart-standard/chart-format/rpe/extendEvent.md:99 -#: src\chart-standard/chart-format/rpe/extendEvent.md:101 -#, fuzzy -msgid "string" -msgstr "`String`" - -#: src\chart-standard/chart-format/rpe/root.md:22 -msgid "背景图片相对于谱面根目录路径" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:23 -msgid "charter" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:23 -msgid "谱师名义" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:24 -msgid "composer" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:24 -msgid "曲师" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:25 -msgid "id" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:25 -msgid "谱面ID,在RPE中用于识别谱面" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:26 -msgid "illustration" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:26 -msgid "曲绘画师" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:26 -msgid "141" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:27 -#: src\chart-standard/chart-format/rpe/extend.md:15 -msgid "level" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:27 -#: src\chart-standard/chart-format/rpe/extend.md:15 -msgid "谱面等级" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:28 -#: src\chart-standard/chart-format/rpe/extend.md:14 -msgid "谱面名称" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:29 -#: src\chart-standard/chart-format/phi/root.md:14 -msgid "offset" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:29 -msgid "音乐偏移,单位为毫秒" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:30 -msgid "song" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:30 -msgid "音乐文件相对于谱面根目录路径" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:32 -msgid "" -"`offset` 字段为负数时,音乐应该在谱面开始前 `-offset` 毫秒时播放;为正数时," -"音乐应该在谱面开始后 `offset` 毫秒时播放。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:33 -msgid "" -"`id` 字段在RPE自动生成时为 `long`,实际上这个值可以随便篡改为任何字符,所以在" -"实际谱面中存储方式为 `string` 类型。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:34 -msgid "" -"**RPE 1.5.0 ~ RPE 1.6.0 之间的版本(不含RPE " -"1.6.0,含Alpha版本),META中的 `RPEVersion` 字段保持为 `150`,没有被更改。" -"**" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:35 -msgid "" -"**RPE 1.6.1 版本,META中的 `RPEVersion` 字段的值保" -"持为 `160`,没有被更改。**" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:36 -#, fuzzy -msgid "chartTime" -msgstr "\"startTime\"" - -#: src\chart-standard/chart-format/rpe/root.md:37 -#: src\chart-standard/chart-format/rpe/root.md:43 -#: src\chart-standard/chart-format/rpe/root.md:53 -#: src\chart-standard/chart-format/rpe/root.md:59 -msgid "_模拟器不需要本属性。_" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:38 -msgid "" -"`chartTime` 是一个 `double` 类型字段,值的时间单位是秒,表示谱面编辑时长,在 " -"`141` 版本加入。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:39 -msgid "" -"~~在RPE中,如果谱师在30秒内没有编辑谱面,则该值将不再变动,下次开始编辑后继续" -"计时。~~(特性被移除)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:40 -msgid "" -"如果RPE失去焦点,RPE仍会继续计时,若RPE重新获得焦点,计时将回溯至失去焦点时的" -"时间。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:42 -msgid "judgeLineGroup" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:45 -msgid "`judgeLineGroup` 是一个 `string[]` 类型字段;" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:46 -msgid "每一个 `string` 为一个判定线组。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:47 -msgid "_实际行为待补充。_" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:49 -#: src\chart-standard/chart-format/phi/root.md:20 -msgid "judgeLineList" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:50 -msgid "" -"`judgeLineList` 是一个 `JsonArray` 类型字段,包含若干个 [JudgeLine]" -"(judgeLine.md)。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:52 -msgid "multiLineString" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:55 -msgid "" -"`multiLineString` 是一个 `string` 类型字段,在RPE中多线编辑时使用,以空格分" -"割,每个数字代表一个判定线。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:56 -msgid "" -"`multiLineString` 中也可能含有 `:` , `1:20` 将选中 `1` 到 `20` 号的所有判定" -"线。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:58 -msgid "multiScale" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:61 -msgid "`multiScale` 是一个 `float`,在RPE中用于缩放多线编辑页面的大小。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:63 -msgid "xybind" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:64 -msgid "_模拟器没必要读取本属性。_" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:66 -msgid "`xybind` 是一个 `bool` ,用于指示本谱面是否启用了XY绑定。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/root.md:67 -msgid "" -"若为 `true`,则表示启用了XY绑定,则每一个 `XEvent` 一定有一个对应同等长度的 " -"`YEvent`。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:1 -#: src\chart-standard/chart-format/phi/judgeLine.md:1 -msgid "judgeLine" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:3 -#: src\chart-standard/chart-format/phi/judgeLine.md:3 -msgid "每一个judgeLine(判定线)都含有以下字段:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:5 -#: src\chart-standard/chart-format/rpe/note.md:5 -#: src\chart-standard/chart-format/rpe/note.md:33 -#: src\chart-standard/chart-format/rpe/event.md:11 -#: src\chart-standard/chart-format/rpe/extendEvent.md:11 -#: src\chart-standard/chart-format/rpe/extendEvent.md:28 -#: src\chart-standard/chart-format/rpe/extendEvent.md:45 -#: src\chart-standard/chart-format/rpe/extendEvent.md:62 -#: src\chart-standard/chart-format/rpe/extendEvent.md:91 -#: src\chart-standard/chart-format/rpe/extendEvent.md:110 -#: src\chart-standard/chart-format/rpe/controls.md:7 -#: src\chart-standard/chart-format/rpe/controls.md:47 -#: src\chart-standard/chart-format/rpe/controls.md:88 -#: src\chart-standard/chart-format/rpe/controls.md:127 -#: src\chart-standard/chart-format/rpe/controls.md:137 -#: src\chart-standard/chart-format/pe/note.md:19 -#: src\chart-standard/chart-format/phi/note.md:5 -#: src\chart-standard/chart-format/phi/event.md:7 -#: src\chart-standard/chart-format/phi/event.md:16 -#: src\chart-standard/chart-format/phi/event.md:23 -#: src\chart-standard/chart-format/phi/event.md:43 -#: src\chart-standard/chart-format/phi/event.md:52 -#: src\chart-standard/chart-format/phi/event.md:61 -#: src\chart-standard/chart-format/phi/judgeLine.md:5 -msgid "描述" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:5 -#: src\chart-standard/chart-format/rpe/note.md:5 -#: src\chart-standard/chart-format/rpe/event.md:11 -#: src\chart-standard/chart-format/rpe/extendEvent.md:11 -#: src\chart-standard/chart-format/rpe/extendEvent.md:28 -#: src\chart-standard/chart-format/rpe/extendEvent.md:45 -#: src\chart-standard/chart-format/rpe/extendEvent.md:62 -#: src\chart-standard/chart-format/rpe/extendEvent.md:91 -#: src\chart-standard/chart-format/rpe/extendEvent.md:110 -#: src\chart-standard/chart-format/rpe/controls.md:7 -#: src\chart-standard/chart-format/rpe/controls.md:47 -#: src\chart-standard/chart-format/rpe/controls.md:88 -#: src\chart-standard/chart-format/rpe/controls.md:127 -#: src\chart-standard/chart-format/rpe/controls.md:137 -msgid "默认值" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:7 -msgid "Group" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:7 -msgid "判定线所属[组](./root.md#judgelinegroup)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:7 -#: src\chart-standard/chart-format/rpe/judgeLine.md:16 -#: src\chart-standard/chart-format/rpe/judgeLine.md:17 -#: src\chart-standard/chart-format/rpe/note.md:11 -#: src\chart-standard/chart-format/rpe/note.md:17 -#: src\chart-standard/chart-format/rpe/event.md:13 -#: src\chart-standard/chart-format/rpe/extendEvent.md:13 -#: src\chart-standard/chart-format/rpe/extendEvent.md:30 -#: src\chart-standard/chart-format/rpe/extendEvent.md:47 -#: src\chart-standard/chart-format/rpe/extendEvent.md:64 -#: src\chart-standard/chart-format/rpe/extendEvent.md:93 -#: src\chart-standard/chart-format/rpe/extendEvent.md:99 -#: src\chart-standard/chart-format/rpe/extendEvent.md:101 -msgid "0" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:8 -msgid "Name" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:8 -msgid "判定线名称" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:8 -msgid "Untitled" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:9 -#: src\chart-standard/chart-format/rpe/extend.md:27 -msgid "Texture" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:9 -msgid "" -"判定线纹理,若非默认值,则为相对于谱面根目录的路径,更多详见[Texture](./" -"extend.md#texture)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:9 -msgid "line.png" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:10 -#: src\chart-standard/chart-format/rpe/extend.md:19 -msgid "anchor" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:10 -#, fuzzy -msgid "float\\[2\\]" -msgstr "`Float`" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:10 -msgid "判定线纹理锚点,详见 [extend](./extend.md#anchor)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:10 -msgid "`[ 0.5, 0.5 ]`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:10 -#: src\chart-standard/chart-format/rpe/note.md:18 -msgid "142" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:11 -msgid "eventLayers" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:11 -msgid "[EventLayer](./event.md)\\[\\]?" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:11 -msgid "" -"事件层级,默认包含至少一个层级,最大有五个,层级下事件见 [event](./event.md)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:12 -msgid "extended" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:12 -msgid "[JsonObject](./extendEvent.md)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:12 -msgid "特殊事件层,详见 [extend Event](./extendEvent.md)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:13 -msgid "father" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:13 -msgid "父线,`-1` 表示无父线" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:14 -msgid "isCover" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:14 -msgid "遮罩" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:14 -#: src\chart-standard/chart-format/rpe/note.md:7 -#: src\chart-standard/chart-format/rpe/note.md:35 -#: src\chart-standard/chart-format/rpe/event.md:17 -#: src\chart-standard/chart-format/rpe/extendEvent.md:17 -#: src\chart-standard/chart-format/rpe/extendEvent.md:34 -#: src\chart-standard/chart-format/rpe/extendEvent.md:36 -#: src\chart-standard/chart-format/rpe/extendEvent.md:38 -#: src\chart-standard/chart-format/rpe/extendEvent.md:51 -#: src\chart-standard/chart-format/rpe/extendEvent.md:53 -#: src\chart-standard/chart-format/rpe/extendEvent.md:55 -#: src\chart-standard/chart-format/rpe/extendEvent.md:68 -#: src\chart-standard/chart-format/rpe/extendEvent.md:97 -#: src\chart-standard/chart-format/rpe/extendEvent.md:112 -#: src\chart-standard/chart-format/rpe/extend.md:9 -#: src\chart-standard/chart-format/rpe/extend.md:37 -#: src\chart-standard/chart-format/rpe/controls.md:49 -#: src\chart-standard/chart-format/rpe/controls.md:90 -#: src\chart-standard/chart-format/rpe/controls.md:129 -#: src\chart-standard/chart-format/rpe/controls.md:139 -#: src\chart-standard/chart-format/pe/note.md:21 -msgid "1" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:15 -msgid "notes" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:15 -msgid "[Note](./note.md)\\[\\]" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:15 -msgid "线上所有的Note,详见 [note](./note.md)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:16 -msgid "numOfNotes" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:16 -msgid "Note总数量(包含 `FakeNote`,不包含 `Hold`)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:17 -msgid "zOrder" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:17 -msgid "线z轴(即图层),范围为±100(_范围需要验证_)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:18 -#: src\chart-standard/chart-format/rpe/extend.md:3 -msgid "attachUI" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:18 -#: src\chart-standard/chart-format/rpe/note.md:18 -#, fuzzy -msgid "string?" -msgstr "`String`" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:18 -msgid "UI绑定,详见 [extend](./extend.md#attachui);无绑定情况下,不存在本字段" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:19 -msgid "isGif" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:19 -#: src\chart-standard/chart-format/rpe/judgeLine.md:26 -msgid "bool" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:19 -msgid "纹理是否为GIF,若为 `true` ,Texture为一个GIF文件" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:19 -msgid "false" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:19 -msgid "150" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:20 -msgid "posControl" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:20 -#: src\chart-standard/chart-format/rpe/judgeLine.md:21 -#: src\chart-standard/chart-format/rpe/judgeLine.md:22 -#: src\chart-standard/chart-format/rpe/judgeLine.md:23 -#: src\chart-standard/chart-format/rpe/judgeLine.md:24 -#: src\chart-standard/chart-format/phi/judgeLine.md:8 -#: src\chart-standard/chart-format/phi/judgeLine.md:9 -#: src\chart-standard/chart-format/phi/judgeLine.md:10 -#: src\chart-standard/chart-format/phi/judgeLine.md:11 -#: src\chart-standard/chart-format/phi/judgeLine.md:12 -#: src\chart-standard/chart-format/phi/judgeLine.md:13 -msgid "JsonArray" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:20 -#: src\chart-standard/chart-format/rpe/judgeLine.md:21 -#: src\chart-standard/chart-format/rpe/judgeLine.md:22 -#: src\chart-standard/chart-format/rpe/judgeLine.md:23 -#: src\chart-standard/chart-format/rpe/judgeLine.md:24 -msgid "详见[Controls](./controls.md)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:21 -msgid "sizeControl" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:22 -msgid "skewControl" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:23 -msgid "yControl" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:24 -msgid "alphaControl" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:25 -msgid "bpmfactor" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:25 -msgid "BPM因子 _此字段无法在RPE中编辑_" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:25 -#: src\chart-standard/chart-format/rpe/note.md:13 -#: src\chart-standard/chart-format/rpe/note.md:14 -#: src\chart-standard/chart-format/rpe/note.md:19 -#: src\chart-standard/chart-format/rpe/event.md:16 -#: src\chart-standard/chart-format/rpe/extendEvent.md:16 -#: src\chart-standard/chart-format/rpe/extendEvent.md:33 -#: src\chart-standard/chart-format/rpe/extendEvent.md:50 -#: src\chart-standard/chart-format/rpe/extendEvent.md:67 -#: src\chart-standard/chart-format/rpe/extendEvent.md:96 -#: src\chart-standard/chart-format/rpe/controls.md:10 -#: src\chart-standard/chart-format/rpe/controls.md:50 -msgid "1.0" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:26 -msgid "rotateWithFather" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:26 -msgid "子线是否继承父线的旋转角度,若为 `true` 则继承,否则不继承" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:26 -msgid "true" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:26 -msgid "163" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:28 -msgid "" -"若层级为空,在某个版本之前,字段为 `null` ,在某个版本及以后,空层级无字段。" -"(当前已知至少在 `143` 版本时无字段)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:29 -msgid "若某个层级中的某个事件不存在,则该事件字段不会出现。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:30 -msgid "若所有层级都为空,`eventLayers` 字段不会出现。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:31 -msgid "判定线的当前 `BPM` 应为 当前 `BPM` 除以 `bpmfactor`,而非乘以。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:32 -msgid "" -"父线允许嵌套,父线是否影响子线的旋转角度取决于 `rotateWithFather` 是否为 " -"`true`,若不存在此字段应视为 `false` (兼容163以前的版本)。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:34 -msgid "" -"`isCover` 字段在RPE中为 `1` 时,表示遮罩,其他值为不遮罩;遮罩时,位于判定线" -"背面的音符(如果音符 `Above` 不为 1 则为正面)不会渲染,反之则渲染(除非已被" -"打击,则不渲染)。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:37 -msgid "事件插值" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:39 -#: src\chart-standard/chart-format/rpe/beat.md:11 -msgid "Python 示例" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:41 -#: src\chart-standard/chart-format/rpe/event.md:36 -msgid "定义 `rpe_easing.py` (略)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:42 -msgid "定义 `Chart_Objects_Rpe.py` (部分略)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:175 -msgid "" -"\"linePos, lineAlpha, lineRotate, lineColor, lineScaleX, lineScaleY, " -"lineText\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:257 -msgid "加载谱面:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:261 -msgid "\"META\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:264 -msgid "\"RPEVersion\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:265 -msgid "\"offset\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:266 -#, fuzzy -msgid "\"name\"" -msgstr "name" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:266 -#: src\chart-standard/chart-format/rpe/judgeLine.md:268 -#: src\chart-standard/chart-format/rpe/judgeLine.md:269 -#: src\chart-standard/chart-format/rpe/judgeLine.md:270 -#: src\chart-standard/chart-format/rpe/judgeLine.md:271 -#: src\chart-standard/chart-format/rpe/judgeLine.md:272 -msgid "\"Unknow\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:267 -msgid "\"id\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:267 -msgid "\"-1\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:268 -msgid "\"song\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:269 -msgid "\"background\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:270 -msgid "\"composer\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:271 -#, fuzzy -msgid "\"charter\"" -msgstr "\"cropCenter\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:272 -msgid "\"level\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:277 -#: src\chart-standard/chart-format/rpe/judgeLine.md:296 -#: src\chart-standard/chart-format/rpe/judgeLine.md:310 -#: src\chart-standard/chart-format/rpe/judgeLine.md:323 -#: src\chart-standard/chart-format/rpe/judgeLine.md:336 -#: src\chart-standard/chart-format/rpe/judgeLine.md:349 -#: src\chart-standard/chart-format/rpe/judgeLine.md:366 -#: src\chart-standard/chart-format/rpe/judgeLine.md:379 -#: src\chart-standard/chart-format/rpe/judgeLine.md:392 -#: src\chart-standard/chart-format/rpe/judgeLine.md:405 -#: src\chart-standard/chart-format/rpe/judgeLine.md:420 -#: src\chart-standard/extra/index.md:34 src\chart-standard/extra/index.md:57 -#: src\chart-standard/extra/effect/index.md:58 -msgid "\"startTime\"" -msgstr "\"startTime\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:279 -#: src\chart-standard/extra/index.md:16 src\chart-standard/extra/index.md:17 -#: src\chart-standard/extra/index.md:18 -msgid "\"bpm\"" -msgstr "\"bpm\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:281 -msgid "\"BPMList\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:285 -msgid "\"isCover\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:286 -msgid "\"Texture\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:286 -msgid "\"line.png\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:287 -msgid "\"attachUI\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:288 -#, fuzzy -msgid "\"bpmfactor\"" -msgstr "\"bpm\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:289 -msgid "\"father\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:290 -#, fuzzy -msgid "\"zOrder\"" -msgstr "\"shader\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:299 -#: src\chart-standard/chart-format/rpe/judgeLine.md:313 -#: src\chart-standard/chart-format/rpe/judgeLine.md:326 -#: src\chart-standard/chart-format/rpe/judgeLine.md:339 -#: src\chart-standard/chart-format/rpe/judgeLine.md:352 -#: src\chart-standard/chart-format/rpe/judgeLine.md:369 -#: src\chart-standard/chart-format/rpe/judgeLine.md:382 -#: src\chart-standard/chart-format/rpe/judgeLine.md:395 -#: src\chart-standard/chart-format/rpe/judgeLine.md:408 -#: src\chart-standard/chart-format/rpe/judgeLine.md:423 -#: src\chart-standard/extra/index.md:35 src\chart-standard/extra/index.md:58 -#: src\chart-standard/extra/effect/index.md:59 -msgid "\"endTime\"" -msgstr "\"endTime\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:301 -#: src\chart-standard/chart-format/rpe/judgeLine.md:315 -#: src\chart-standard/chart-format/rpe/judgeLine.md:328 -#: src\chart-standard/chart-format/rpe/judgeLine.md:341 -#: src\chart-standard/chart-format/rpe/judgeLine.md:354 -#: src\chart-standard/chart-format/rpe/judgeLine.md:371 -#: src\chart-standard/chart-format/rpe/judgeLine.md:384 -#: src\chart-standard/chart-format/rpe/judgeLine.md:397 -#: src\chart-standard/chart-format/rpe/judgeLine.md:410 -#: src\chart-standard/extra/index.md:39 src\chart-standard/extra/index.md:60 -#: src\chart-standard/extra/effect/index.md:15 -#: src\chart-standard/extra/effect/index.md:52 -#: src\chart-standard/extra/effect/index.md:61 -msgid "\"start\"" -msgstr "\"start\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:302 -#: src\chart-standard/chart-format/rpe/judgeLine.md:316 -#: src\chart-standard/chart-format/rpe/judgeLine.md:329 -#: src\chart-standard/chart-format/rpe/judgeLine.md:342 -#: src\chart-standard/chart-format/rpe/judgeLine.md:355 -#: src\chart-standard/chart-format/rpe/judgeLine.md:372 -#: src\chart-standard/chart-format/rpe/judgeLine.md:385 -#: src\chart-standard/chart-format/rpe/judgeLine.md:398 -#: src\chart-standard/chart-format/rpe/judgeLine.md:411 -#: src\chart-standard/extra/index.md:40 src\chart-standard/extra/index.md:61 -#: src\chart-standard/extra/effect/index.md:16 -#: src\chart-standard/extra/effect/index.md:53 -#: src\chart-standard/extra/effect/index.md:62 -msgid "\"end\"" -msgstr "\"end\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:305 -#: src\chart-standard/chart-format/rpe/judgeLine.md:306 -msgid "\"speedEvents\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:317 -#: src\chart-standard/chart-format/rpe/judgeLine.md:330 -#: src\chart-standard/chart-format/rpe/judgeLine.md:343 -#: src\chart-standard/chart-format/rpe/judgeLine.md:356 -#: src\chart-standard/chart-format/rpe/judgeLine.md:373 -#: src\chart-standard/chart-format/rpe/judgeLine.md:386 -#: src\chart-standard/chart-format/rpe/judgeLine.md:399 -#: src\chart-standard/chart-format/rpe/judgeLine.md:412 -#: src\chart-standard/extra/index.md:36 src\chart-standard/extra/index.md:59 -#: src\chart-standard/extra/effect/index.md:60 -msgid "\"easingType\"" -msgstr "\"easingType\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:318 -#: src\chart-standard/chart-format/rpe/judgeLine.md:319 -msgid "\"moveXEvents\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:331 -#: src\chart-standard/chart-format/rpe/judgeLine.md:332 -msgid "\"moveYEvents\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:344 -#: src\chart-standard/chart-format/rpe/judgeLine.md:345 -msgid "\"rotateEvents\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:357 -#: src\chart-standard/chart-format/rpe/judgeLine.md:358 -#, fuzzy -msgid "\"alphaEvents\"" -msgstr "\"alpha\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:360 -msgid "\"eventLayers\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:374 -#: src\chart-standard/chart-format/rpe/judgeLine.md:375 -#: src\chart-standard/chart-format/rpe/judgeLine.md:387 -#: src\chart-standard/chart-format/rpe/judgeLine.md:388 -#: src\chart-standard/chart-format/rpe/judgeLine.md:400 -#: src\chart-standard/chart-format/rpe/judgeLine.md:401 -#: src\chart-standard/chart-format/rpe/judgeLine.md:413 -#: src\chart-standard/chart-format/rpe/judgeLine.md:414 -#: src\chart-standard/chart-format/rpe/judgeLine.md:415 -msgid "\"extended\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:374 -#: src\chart-standard/chart-format/rpe/judgeLine.md:375 -#, fuzzy -msgid "\"scaleXEvents\"" -msgstr "\"scale\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:387 -#: src\chart-standard/chart-format/rpe/judgeLine.md:388 -#, fuzzy -msgid "\"scaleYEvents\"" -msgstr "\"scale\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:400 -#: src\chart-standard/chart-format/rpe/judgeLine.md:401 -msgid "\"colorEvents\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:410 -#: src\chart-standard/chart-format/rpe/judgeLine.md:411 -msgid "\"\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:413 -#: src\chart-standard/chart-format/rpe/judgeLine.md:414 -msgid "\"textEvents\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:418 -msgid "\"type\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:425 -msgid "\"positionX\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:426 -msgid "\"above\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:427 -msgid "\"isFake\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:428 -msgid "\"speed\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:429 -msgid "\"yOffset\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:430 -#, fuzzy -msgid "\"visibleTime\"" -msgstr "\"endTime\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:431 -#: src\chart-standard/chart-format/rpe/controls.md:66 -#: src\chart-standard/chart-format/rpe/controls.md:71 -#: src\chart-standard/chart-format/rpe/controls.md:76 -msgid "\"size\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:432 -#: src\chart-standard/chart-format/rpe/controls.md:24 -#: src\chart-standard/chart-format/rpe/controls.md:29 -#: src\chart-standard/chart-format/rpe/controls.md:34 -#: src\chart-standard/extra/video/index.md:18 -msgid "\"alpha\"" -msgstr "\"alpha\"" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:434 -msgid "\"notes\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:437 -msgid "\"judgeLineList\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/judgeLine.md:443 -#, fuzzy -msgid "# 这里传入你的谱面" -msgstr "Re-import your chart." - -#: src\chart-standard/chart-format/rpe/judgeLine.md:446 -msgid "" -"最后调用 `result.JudgeLineList[i].GetState` , 并传入当前拍数为 `t` 和判定线默" -"认颜色为 `defaultColor` , 和谱面对象 `master` 即可获取当前拍数下的判定线全部" -"状态" -msgstr "" - -#: src\chart-standard/chart-format/rpe/beat.md:3 -msgid "" -"`beat` 是RPE所有事件的时间单位,它是一个 `int[3]` ,在RPE中显示为 `[0]:[1]/" -"[2]`。 \n" -"单BPM计算方式为:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/beat.md:9 -msgid "多BPM计算方式见 Python 示例。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/beat.md:12 -msgid "若 `self.BPMList` 为一个 `list[BPMEvent]`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/beat.md:13 -msgid "`BPMEvent`定义:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/beat.md:20 -msgid "`sec2beat` 中 `t` 为秒数, `bpmfactor` 为判定线中的 `bpmfactor` 字段\\`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/beat.md:21 -msgid "`beat2sec` 中 `t` 为拍数, `bpmfactor` 为判定线中的 `bpmfactor` 字段\\`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/beat.md:22 -msgid "" -"且 `beat2sec(sec2beat(x)) == x` 与 `sec2beat(beat2sec(x)) == x` 的结果均为 " -"`True`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/beat.md:23 -#: src\chart-standard/chart-format/rpe/event.md:79 -msgid "则有:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:1 -#: src\chart-standard/chart-format/phi/note.md:1 -msgid "Note" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:3 -#: src\chart-standard/chart-format/phi/note.md:3 -msgid "note,即音符,是谱面的主要构成之一,每个note都应该含有以下参数:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:5 -msgid "字段" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:7 -msgid "above" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:7 -msgid "`1` 为从线的正面下落,其他数字为从线的背面下落" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:8 -#: src\chart-standard/chart-format/rpe/controls.md:10 -#, fuzzy -msgid "alpha" -msgstr "\"alpha\"" - -#: src\chart-standard/chart-format/rpe/note.md:8 -msgid "note不透明度,0为完全透明,255为完全不透明" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:8 -msgid "255" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:9 -#: src\chart-standard/chart-format/rpe/event.md:22 -#: src\chart-standard/chart-format/rpe/extendEvent.md:22 -#: src\chart-standard/chart-format/rpe/extendEvent.md:39 -#: src\chart-standard/chart-format/rpe/extendEvent.md:56 -#: src\chart-standard/chart-format/rpe/extendEvent.md:73 -#: src\chart-standard/chart-format/rpe/extendEvent.md:102 -#: src\chart-standard/chart-format/rpe/extendEvent.md:117 -#: src\chart-standard/chart-format/phi/event.md:10 -#: src\chart-standard/chart-format/phi/event.md:19 -#: src\chart-standard/chart-format/phi/event.md:55 -#: src\chart-standard/chart-format/phi/event.md:64 -#, fuzzy -msgid "endTime" -msgstr "\"endTime\"" - -#: src\chart-standard/chart-format/rpe/note.md:9 -msgid "" -"note结束时间,若 `type` 为 `2` ,此值为Hold的结束时间,否则与startTime一致" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:10 -msgid "" -"note开始时间,若 `type` 为 `2` ,此值为Hold的开始时间,否则与endTime一致" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:11 -msgid "isFake" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:11 -msgid "note真值,`1`为假,其他数为真" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:12 -#: src\chart-standard/chart-format/phi/note.md:10 -msgid "positionX" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:12 -msgid "note相对于判定线中心点的X坐标" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:13 -#: src\chart-standard/chart-format/rpe/controls.md:50 -msgid "size" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:13 -#: src\chart-standard/chart-format/rpe/controls.md:50 -msgid "note大小倍率" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:14 -#: src\chart-standard/chart-format/phi/note.md:11 -msgid "speed" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:14 -msgid "流速倍率" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:15 -#: src\chart-standard/chart-format/phi/note.md:7 -msgid "type" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:15 -msgid "note类型,详见对照表" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:16 -msgid "visibleTime" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:16 -#, fuzzy -msgid "note可见时间,单位为秒" -msgstr "`t`: 当前时间, 单位为秒" - -#: src\chart-standard/chart-format/rpe/note.md:16 -msgid "999999.0000" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:17 -msgid "yOffset" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:17 -msgid "note的Y轴偏移,正数向上偏移,负数向下偏移,同时偏移打击特效的位置" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:18 -msgid "hitsound" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:18 -msgid "note自定义打击音文件相对于谱面文件根目录路径" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:19 -msgid "judgeArea" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:19 -msgid "判定区域宽度倍率" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:19 -#: src\chart-standard/chart-format/rpe/note.md:20 -#: src\chart-standard/chart-format/rpe/note.md:21 -msgid "170" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:20 -msgid "tint或color" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:20 -#: src\chart-standard/chart-format/rpe/extendEvent.md:19 -#: src\chart-standard/chart-format/rpe/extendEvent.md:21 -msgid "int\\[3\\]" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:20 -msgid "note颜色,格式为`[R, G, B]`,范围为`0-255`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:20 -#: src\chart-standard/chart-format/rpe/note.md:21 -msgid "\\[255, 255, 255\\]" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:21 -#, fuzzy -msgid "tintHitEffects" -msgstr "Effect" - -#: src\chart-standard/chart-format/rpe/note.md:21 -msgid "int\\[3\\]?" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:21 -msgid "note打击特效颜色,格式为`[R, G, B]`,范围为`0-255`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:23 -msgid "" -"`size` 字段实际上在RPE中显示为宽度,即只能控制音符的宽度而不是音符的整个大" -"小。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:24 -msgid "" -"`above` 字段在RPE中,`Hold` 如果从背面下落默认被设置为 `2`,其他Note均为 " -"`0`,但是为 `1` 一定是从正面下落!" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:25 -msgid "`hitsound` 字段在没有自定义音效时不存在。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:26 -msgid "" -"假note没有判定,没有打击特效与音效,不计分,不计物量,若为 `Hold` 则始终显示" -"为未打击样式。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:27 -msgid "" -"`color` 字段用于给note染色,染色方式为顶点颜色乘法,即 `noteColor = " -"noteColor * color`。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:28 -msgid "" -"color字段修改过字段名称,由于color版本被公测,后续" -"版本更换为tint,所以这两个字段可能都有被使用,定义不变,请注意兼容。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:29 -msgid "" -"`tintHitEffects` 字段用于给note的打击特效染色,当此字段出现时,无论判定是" -"`Good`还是`Perfect`,打击特效均使用此颜色(使用原始材质进行顶点颜色算法),不" -"需要额外计算。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:31 -msgid "Note类型对照" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:33 -#: src\chart-standard/chart-format/pe/note.md:19 -msgid "字段值" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:35 -#: src\chart-standard/chart-format/rpe/note.md:39 -#: src\chart-standard/chart-format/pe/note.md:21 -msgid "Tap" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:36 -#: src\chart-standard/chart-format/rpe/extend.md:10 -#: src\chart-standard/chart-format/rpe/extend.md:38 -#: src\chart-standard/chart-format/pe/note.md:22 -msgid "2" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:36 -#: src\chart-standard/chart-format/pe/note.md:22 -msgid "Hold" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:37 -#: src\chart-standard/chart-format/rpe/extend.md:11 -#: src\chart-standard/chart-format/rpe/extend.md:39 -#: src\chart-standard/chart-format/pe/note.md:23 -msgid "3" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:37 -#: src\chart-standard/chart-format/pe/note.md:23 -msgid "Flick" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:38 -#: src\chart-standard/chart-format/rpe/extend.md:12 -#: src\chart-standard/chart-format/rpe/extend.md:40 -#: src\chart-standard/chart-format/pe/note.md:24 -msgid "4" -msgstr "" - -#: src\chart-standard/chart-format/rpe/note.md:38 -#: src\chart-standard/chart-format/pe/note.md:24 -msgid "Drag" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:1 -#: src\chart-standard/chart-format/phi/event.md:1 -msgid "Event" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:2 -msgid "" -"本页将介绍判定线事件层级下的**普通事件**。 \n" -"如果你想了解特殊事件,请查阅[特殊事件](./extendEvent.md)。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:5 -msgid "" -"RPE中,一共有五种普通事件,它们分别是:`moveXEvents`(X轴移动事件)、" -"`moveYEvents`(Y轴移动事件)、`rotateEvents`(旋转事件)、`alphaEvents`(不透" -"明度事件)、`speedEvents`(音符流速事件)。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:6 -msgid "在层级下,这些字段都对应一个 `JsonArray`,每一个元素代表一个事件。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:7 -msgid "当前判定线无某一个事件时,无对应字段而非空数组。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:9 -msgid "除了**流速事件**外的每个普通事件都应该含有以下字段。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:13 -#: src\chart-standard/chart-format/rpe/extendEvent.md:13 -#: src\chart-standard/chart-format/rpe/extendEvent.md:30 -#: src\chart-standard/chart-format/rpe/extendEvent.md:47 -#: src\chart-standard/chart-format/rpe/extendEvent.md:64 -#: src\chart-standard/chart-format/rpe/extendEvent.md:93 -msgid "bezier" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:13 -#: src\chart-standard/chart-format/rpe/extendEvent.md:13 -#: src\chart-standard/chart-format/rpe/extendEvent.md:30 -#: src\chart-standard/chart-format/rpe/extendEvent.md:47 -#: src\chart-standard/chart-format/rpe/extendEvent.md:64 -#: src\chart-standard/chart-format/rpe/extendEvent.md:93 -msgid "缓动是否为贝塞尔曲线,`0` 为不是,`1` 为是" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:14 -#: src\chart-standard/chart-format/rpe/extendEvent.md:14 -#: src\chart-standard/chart-format/rpe/extendEvent.md:31 -#: src\chart-standard/chart-format/rpe/extendEvent.md:48 -#: src\chart-standard/chart-format/rpe/extendEvent.md:65 -#: src\chart-standard/chart-format/rpe/extendEvent.md:94 -msgid "bezierPoints" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:14 -#: src\chart-standard/chart-format/rpe/extendEvent.md:14 -#: src\chart-standard/chart-format/rpe/extendEvent.md:31 -#: src\chart-standard/chart-format/rpe/extendEvent.md:48 -#: src\chart-standard/chart-format/rpe/extendEvent.md:65 -#: src\chart-standard/chart-format/rpe/extendEvent.md:94 -#, fuzzy -msgid "float\\[4\\]" -msgstr "`Float`" - -#: src\chart-standard/chart-format/rpe/event.md:14 -#: src\chart-standard/chart-format/rpe/extendEvent.md:14 -#: src\chart-standard/chart-format/rpe/extendEvent.md:31 -#: src\chart-standard/chart-format/rpe/extendEvent.md:48 -#: src\chart-standard/chart-format/rpe/extendEvent.md:65 -#: src\chart-standard/chart-format/rpe/extendEvent.md:94 -msgid "" -"贝塞尔曲线控制点,当`bezier`为`1`时生效,详见[百度百科](https://baike.baidu." -"com/item/%E8%B4%9D%E5%A1%9E%E5%B0%94%E6%9B%B2%E7%BA%BF/1091769)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:14 -#: src\chart-standard/chart-format/rpe/extendEvent.md:14 -#: src\chart-standard/chart-format/rpe/extendEvent.md:31 -#: src\chart-standard/chart-format/rpe/extendEvent.md:48 -#: src\chart-standard/chart-format/rpe/extendEvent.md:65 -#: src\chart-standard/chart-format/rpe/extendEvent.md:94 -msgid "\\[ 0.0, 0.0, 0.0, 0.0 \\]" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:15 -#: src\chart-standard/chart-format/rpe/extendEvent.md:15 -#: src\chart-standard/chart-format/rpe/extendEvent.md:32 -#: src\chart-standard/chart-format/rpe/extendEvent.md:49 -#: src\chart-standard/chart-format/rpe/extendEvent.md:66 -#: src\chart-standard/chart-format/rpe/extendEvent.md:95 -#, fuzzy -msgid "easingLeft" -msgstr "\"easingLeft\"" - -#: src\chart-standard/chart-format/rpe/event.md:15 -#: src\chart-standard/chart-format/rpe/extendEvent.md:15 -#: src\chart-standard/chart-format/rpe/extendEvent.md:32 -#: src\chart-standard/chart-format/rpe/extendEvent.md:49 -#: src\chart-standard/chart-format/rpe/extendEvent.md:66 -#: src\chart-standard/chart-format/rpe/extendEvent.md:95 -msgid "缓动的左边界位置,最小为 `0.0`,最大为 `1.0`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:15 -#: src\chart-standard/chart-format/rpe/extendEvent.md:15 -#: src\chart-standard/chart-format/rpe/extendEvent.md:32 -#: src\chart-standard/chart-format/rpe/extendEvent.md:49 -#: src\chart-standard/chart-format/rpe/extendEvent.md:66 -#: src\chart-standard/chart-format/rpe/extendEvent.md:95 -msgid "0.0" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:16 -#: src\chart-standard/chart-format/rpe/extendEvent.md:16 -#: src\chart-standard/chart-format/rpe/extendEvent.md:33 -#: src\chart-standard/chart-format/rpe/extendEvent.md:50 -#: src\chart-standard/chart-format/rpe/extendEvent.md:67 -#: src\chart-standard/chart-format/rpe/extendEvent.md:96 -#, fuzzy -msgid "easingRight" -msgstr "\"easingRight\"" - -#: src\chart-standard/chart-format/rpe/event.md:16 -#: src\chart-standard/chart-format/rpe/extendEvent.md:16 -#: src\chart-standard/chart-format/rpe/extendEvent.md:33 -#: src\chart-standard/chart-format/rpe/extendEvent.md:50 -#: src\chart-standard/chart-format/rpe/extendEvent.md:67 -#: src\chart-standard/chart-format/rpe/extendEvent.md:96 -msgid "缓动的右边界位置,最小为 `0.0`,最大为 `1.0`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:17 -#: src\chart-standard/chart-format/rpe/extendEvent.md:17 -#: src\chart-standard/chart-format/rpe/extendEvent.md:34 -#: src\chart-standard/chart-format/rpe/extendEvent.md:51 -#: src\chart-standard/chart-format/rpe/extendEvent.md:68 -#: src\chart-standard/chart-format/rpe/extendEvent.md:97 -#: src\chart-standard/chart-format/rpe/extendEvent.md:112 -#: src\chart-standard/chart-format/rpe/extend.md:32 -#, fuzzy -msgid "easingType" -msgstr "\"easingType\"" - -#: src\chart-standard/chart-format/rpe/event.md:17 -#: src\chart-standard/chart-format/rpe/extendEvent.md:17 -#: src\chart-standard/chart-format/rpe/extendEvent.md:34 -#: src\chart-standard/chart-format/rpe/extendEvent.md:51 -#: src\chart-standard/chart-format/rpe/extendEvent.md:68 -#: src\chart-standard/chart-format/rpe/extendEvent.md:97 -#: src\chart-standard/chart-format/rpe/extendEvent.md:112 -msgid "缓动类型,详见[extend](./extend.md#easingtype)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:18 -#: src\chart-standard/chart-format/rpe/extendEvent.md:18 -#: src\chart-standard/chart-format/rpe/extendEvent.md:35 -#: src\chart-standard/chart-format/rpe/extendEvent.md:52 -#: src\chart-standard/chart-format/rpe/extendEvent.md:69 -#: src\chart-standard/chart-format/rpe/extendEvent.md:98 -#: src\chart-standard/chart-format/rpe/extendEvent.md:113 -msgid "linkgroup" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:19 -#: src\chart-standard/chart-format/rpe/extendEvent.md:19 -#: src\chart-standard/chart-format/rpe/extendEvent.md:36 -#: src\chart-standard/chart-format/rpe/extendEvent.md:53 -#: src\chart-standard/chart-format/rpe/extendEvent.md:70 -#: src\chart-standard/chart-format/rpe/extendEvent.md:99 -#: src\chart-standard/chart-format/rpe/extendEvent.md:114 -#: src\chart-standard/chart-format/phi/event.md:25 -#: src\chart-standard/chart-format/phi/event.md:45 -#: src\chart-standard/chart-format/phi/event.md:56 -#: src\chart-standard/chart-format/phi/event.md:65 -#, fuzzy -msgid "start" -msgstr "\"start\"" - -#: src\chart-standard/chart-format/rpe/event.md:19 -msgid "事件开始时数值" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:20 -#: src\chart-standard/chart-format/rpe/extendEvent.md:20 -#: src\chart-standard/chart-format/rpe/extendEvent.md:37 -#: src\chart-standard/chart-format/rpe/extendEvent.md:54 -#: src\chart-standard/chart-format/rpe/extendEvent.md:71 -#: src\chart-standard/chart-format/rpe/extendEvent.md:100 -#: src\chart-standard/chart-format/rpe/extendEvent.md:115 -msgid "事件开始的时间" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:21 -#: src\chart-standard/chart-format/rpe/extendEvent.md:21 -#: src\chart-standard/chart-format/rpe/extendEvent.md:38 -#: src\chart-standard/chart-format/rpe/extendEvent.md:55 -#: src\chart-standard/chart-format/rpe/extendEvent.md:72 -#: src\chart-standard/chart-format/rpe/extendEvent.md:101 -#: src\chart-standard/chart-format/rpe/extendEvent.md:116 -#: src\chart-standard/chart-format/phi/event.md:26 -#: src\chart-standard/chart-format/phi/event.md:46 -#: src\chart-standard/chart-format/phi/event.md:57 -#: src\chart-standard/chart-format/phi/event.md:66 -#, fuzzy -msgid "end" -msgstr "\"end\"" - -#: src\chart-standard/chart-format/rpe/event.md:21 -msgid "事件结束时数值" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:22 -#: src\chart-standard/chart-format/rpe/extendEvent.md:22 -#: src\chart-standard/chart-format/rpe/extendEvent.md:39 -#: src\chart-standard/chart-format/rpe/extendEvent.md:56 -#: src\chart-standard/chart-format/rpe/extendEvent.md:73 -#: src\chart-standard/chart-format/rpe/extendEvent.md:102 -#: src\chart-standard/chart-format/rpe/extendEvent.md:117 -msgid "事件结束的时间" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:24 -msgid "" -"坐标系锚点位于屏幕中心,X轴范围为 `-675 ~ 675`,Y轴范围为 `-450 ~ 450`。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:25 -#, fuzzy -msgid "" -"`Alpha` 不透明度\\``事件的正常范围为 `0 ~ 255`,`0`为完全透明,`255`为完全不" -"透明。" -msgstr "" -"`a`(optional, default `0`): transparency, range is `[0, 1]`, `0` is fully " -"transparent, `1` is fully opaque." - -#: src\chart-standard/chart-format/rpe/event.md:26 -msgid "" -"若 `Alpha` 事件数值为负数,则会在隐藏判定线的同时隐藏这条判定线上的所有 " -"`Note`。(根据作者(cmdysj)所述,此功能是废弃的非法功能,但它仍然有效)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:27 -msgid "" -"~~速度事件只有上述的 `startTime`、`endTime`、`start`、`end`、`linkgroup` 字" -"段。~~" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:28 -msgid "" -"速度事件在 `162` 版本支持了所有缓动字段,但是仍然" -"不支持贝塞尔曲线缓动(没有上述的 `bezier`、`bezierPoints`字段)。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:29 -msgid "" -"~~RPE作者原文:速度事件缓动不为1时,实际的速度变化" -"与缓动的导函数形状相同,从而floorposition的变化遵循缓动曲线。为了兼容性,缓动" -"为1时我们保持原含义不变,也即缓动为 `1` 和缓动为 `5` 都代表二次型的" -"floorposition变化~~" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:30 -msgid "" -"RPE 1.7.0版本,速度事件缓动回归最原始的逻辑,使用" -"缓动函数缓动速度的数值,效果有待考证。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:31 -msgid "~~音符流速事件**不支持缓动**,即只有线性变化。~~" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:32 -msgid "" -"流速为负数时,音符会向上飞,若音符为 `Hold`,在 `Hold` 尾出现时,整个音符都会" -"出现(即使 `Hold` 还没完全回到判定线正面)。(此行为与本家行为不符,请酌情选" -"择)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:35 -msgid "Python 示例 (不支持bezier):" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:37 -msgid "定义 `Beat`:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:52 -msgid "定义 `LineEvent`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:68 -msgid "定义 `easing_interpolation`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/event.md:78 -msgid "`default` 为事件默认值" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:3 -msgid "" -"本页讲解RPE的特殊事件,俗称故事板,位于事件编辑的第五个层级。 \n" -"每一个事件字段都对应一个 `JsonArray`,每一个元素对应一个事件。 \n" -"**除了 `inclineEvents`(倾斜事件),其他事件在没有使用时都没有对应字段**" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:7 -msgid "colorEvents" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:9 -msgid "颜色事件,可以控制判定线或纹理的颜色,它包含以下字段:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:19 -msgid "事件开始时颜色,三个值分别对应 `RGB`;最大为 `255`,最小为 `0`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:21 -msgid "事件结束时颜色,三个值分别对应 `RGB`;最大为 `255`,最小为 `0`" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:24 -msgid "scaleXEvents" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:26 -msgid "X轴缩放事件,可以控制判定线、纹理或文字的宽度缩放,它包含以下字段:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:36 -#: src\chart-standard/chart-format/rpe/extendEvent.md:53 -msgid "事件开始时缩放" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:38 -#: src\chart-standard/chart-format/rpe/extendEvent.md:55 -msgid "事件结束时缩放" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:41 -msgid "scaleYEvents" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:43 -msgid "Y轴缩放事件,可以控制判定线、纹理或文字的高度缩放,它包含以下字段:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:58 -msgid "textEvents" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:60 -msgid "文字事件,可以控制文字的显示,它包含以下字段:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:70 -msgid "事件开始时字符" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:72 -msgid "事件结束时字符" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:74 -msgid "font" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:74 -msgid "文字字体(**本字段需看下方解释**)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:74 -msgid "**请看下方解释**" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:76 -msgid "" -"**从 `152` 版本开始,`font` 字段在为 `cmdysj` 默认字体时不会有本字段,只有有" -"自定义字体时才会存在本字段。**" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:77 -msgid "**在 `152` 版本之前,`font` 字段默认存在且默认为 `cmdysj`。**" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:80 -msgid "" -"此事件设置缓动可能不会有效,也可能会出现未定义的错误导致模拟器崩溃,详见" -"[issue](https://github.com/TeamFlos/phira/issues/252)。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:82 -msgid "" -"文字事件的文字中含有 `%P%` 时,可以让文本中的数字在事件播放过程中根据缓动动态" -"变化。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:83 -msgid "" -"有文字事件的判定线会始终隐藏,只显示文字(即使播放的地方没有文字事件),也会" -"清除自定义纹理。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:84 -msgid "有文字事件但是没有颜色事件时,文字的颜色会始终为白色。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:85 -msgid "" -"从 `153` 版本开始,文字事件中的文字可以包含 `\\n` 换行符且有效(其他的不可" -"用)。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:87 -msgid "paintEvents" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:89 -msgid "" -"画笔事件,此事件在 `143` 版本被 `shader` 编辑功能取代,故无法编辑。包含以下字" -"段:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:91 -msgid "移除版本" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:93 -#: src\chart-standard/chart-format/rpe/extendEvent.md:94 -#: src\chart-standard/chart-format/rpe/extendEvent.md:95 -#: src\chart-standard/chart-format/rpe/extendEvent.md:96 -#: src\chart-standard/chart-format/rpe/extendEvent.md:97 -#: src\chart-standard/chart-format/rpe/extendEvent.md:98 -#: src\chart-standard/chart-format/rpe/extendEvent.md:99 -#: src\chart-standard/chart-format/rpe/extendEvent.md:100 -#: src\chart-standard/chart-format/rpe/extendEvent.md:101 -#: src\chart-standard/chart-format/rpe/extendEvent.md:102 -msgid "143" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:99 -msgid "事件开始时画笔大小" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:101 -msgid "事件结束时画笔大小" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:104 -msgid "其它行为待补充" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:106 -msgid "gifEvents" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:108 -msgid "" -"GIF播放进度事件,此事件在 `150` 版本与GIF判定线纹理一同加入,用于控制GIF的播" -"放进度。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:114 -msgid "事件开始时GIF的播放进度" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:116 -msgid "事件结束时GIF的播放进度" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:119 -msgid "若判定线纹理是GIF但是没有 `gifEvents` 时,GIF会自动循环播放。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:120 -msgid "" -"GIF的第一帧为 `0.0`,最后一帧为 `1.0`,若播放进度超出此范围,GIF将会自动循环" -"播放。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:121 -msgid "若当前播放进度没有 `gifEvents` 时,GIF会自动循环播放。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:122 -msgid "文字事件同样会将此纹理清除。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:123 -msgid "超过 `15MB` 大小的GIF会使RPE在加载谱面时弹出解码失败。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:124 -msgid "" -"纹理为GIF以后,流速事件会被替换为此事件的编辑,所以理论上此事件不可能与流速事" -"件同时出现。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:125 -msgid "位于其他层级的 `gifEvents` 会被忽略,且RPE纠错会标红。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:127 -msgid "inclineEvents" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:129 -msgid "" -"倾斜事件,疑似已被弃用,但是默认会在 `extended` 字段下留一个垫底事件。 \n" -"_此事件无法在RPE中编辑。_" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:132 -msgid "倾斜事件开始结束数值为判定线Z轴倾斜角度." -msgstr "" - -#: src\chart-standard/chart-format/rpe/extendEvent.md:133 -msgid "具体行为需要补充。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:1 -msgid "扩展参数" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:4 -msgid "" -"`attachUI` 是RPE独有特性,它允许你使用判定线绑定UI元素,使你可以控制UI的位" -"置,透明度,大小等。 \n" -"属性对应UI元素列表:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:7 -#: src\chart-standard/chart-format/rpe/extend.md:35 -msgid "值" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:7 -msgid "对应UI元素" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:7 -msgid "RPE设置中对应数字" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:7 -msgid "锚点" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:7 -#: src\chart-standard/chart-format/rpe/extend.md:35 -#, fuzzy -msgid "注" -msgstr "Comment" - -#: src\chart-standard/chart-format/rpe/extend.md:9 -msgid "pause" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:9 -msgid "暂停按钮" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:9 -msgid "左上角" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:10 -msgid "combonumber" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:10 -#, fuzzy -msgid "连击数" -msgstr "函数" - -#: src\chart-standard/chart-format/rpe/extend.md:10 -#: src\chart-standard/chart-format/rpe/extend.md:11 -msgid "中心" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:10 -msgid "" -"绑定此UI会使此UI透明度受到Alpha事件影响,默认连击大于等于 `3` 时才会显示" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:11 -msgid "combo" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:11 -msgid "连击数下的 `combo` 文字" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:11 -msgid "同上" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:12 -msgid "score" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:12 -#, fuzzy -msgid "分数" -msgstr "Parameters" - -#: src\chart-standard/chart-format/rpe/extend.md:12 -msgid "右上角" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:13 -msgid "bar" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:13 -msgid "进度条" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:13 -#: src\chart-standard/chart-format/rpe/extend.md:41 -msgid "5" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:13 -msgid "左侧中心" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:13 -msgid "`RPE 1.4.0` 及以前,此属性绑定的为曲名左侧的白色竖条" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:14 -#: src\chart-standard/chart-format/rpe/extend.md:42 -msgid "6" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:14 -msgid "左下角" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:15 -#: src\chart-standard/chart-format/rpe/extend.md:43 -msgid "7" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:15 -msgid "右下角" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:17 -msgid "" -"在UI被绑定后,判定线将会自动隐藏,UI可以通过类似于子线的方式进行操作,不同的" -"是可以操作UI角度和透明度;判定线实际位置仍然不变。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:20 -msgid "" -"`anchor` 是RPE独有特性,它允许你设置判定线的锚点,它的设计是为文字事件服务" -"的。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:21 -msgid "在RPE中,此设置在顶栏工具栏第二页中,两个数值用空格分割。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:22 -msgid "它是一个 `float[2]`,两个值对应材质的 `x` 和 `y` 坐标。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:23 -msgid "" -"`x` 默认为 `0.5`,即中心,`1` 时判定线纹理向左移,`0` 时判定线纹理向右移。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:24 -msgid "" -"`y` 默认为 `0.5`,即中心,`1` 时判定线纹理向下移,`0` 时判定线纹理向上移。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:25 -msgid "此字段同样可以影响自定义纹理的位置" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:28 -msgid "" -"RPE允许设置判定线的 `Texture` 字段来修改判定线的纹理,当判定线的纹理被修改" -"后,判定线颜色不再受到AP/FC判定线颜色指示影响。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:29 -msgid "" -"若不使用[scaleXEvents](./extendEvent.md#scalexevents)和[scaleYEvents](./" -"extendEvent.md#scaleyevents),修改判定线纹理大小,则默认缩放为 `1`。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:30 -msgid "" -"若纹理为一个GIF动图,则会受到[gifEvents](./extendEvent.md#gifevents)的影响。" -"(`150`版本开始支持)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:33 -msgid "`easingType` 是RPE用于对应缓动的数字标识,对照表如下:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:35 -msgid "对应缓动" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:37 -msgid "Linear" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:38 -msgid "Out Sine" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:39 -msgid "In Sine" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:40 -msgid "Out Quad" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:41 -msgid "In Quad" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:42 -msgid "In Out Sine" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:43 -msgid "In Out Quad" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:44 -msgid "8" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:44 -msgid "Out Cubic" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:45 -msgid "9" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:45 -msgid "In Cubic" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:46 -msgid "10" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:46 -msgid "Out Quart" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:47 -msgid "11" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:47 -msgid "In Quart" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:48 -msgid "12" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:48 -msgid "In Out Cubic" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:49 -msgid "13" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:49 -msgid "In Out Quart" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:50 -msgid "14" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:50 -msgid "Out Quint" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:51 -msgid "15" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:51 -msgid "In Quint" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:52 -msgid "16" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:52 -msgid "Out Expo" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:53 -msgid "17" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:53 -msgid "In Expo" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:54 -msgid "18" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:54 -msgid "Out Circ" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:55 -msgid "19" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:55 -msgid "In Circ" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:56 -msgid "20" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:56 -msgid "Out Back" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:57 -msgid "21" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:57 -msgid "In Back" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:58 -msgid "22" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:58 -msgid "In Out Circ" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:59 -msgid "23" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:59 -msgid "In Out Back" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:60 -msgid "24" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:60 -msgid "Out Elastic" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:61 -msgid "25" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:61 -msgid "In Elastic" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:62 -msgid "26" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:62 -msgid "Out Bounce" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:63 -msgid "27" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:63 -msgid "In Bounce" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:64 -msgid "28" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:64 -msgid "In Out Bounce" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:65 -msgid "29" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:65 -msgid "In Out Elastic" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:65 -msgid "无法在速度事件使用" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:67 -msgid "RPE 1.7.0版本恢复了29号缓动的使用。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:69 -msgid "你可以在[这个网站](https://easings.net/zh-cn)查看它们的函数等信息。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:71 -msgid "Python 缓动示例" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:77 -msgid "# linear - 1" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:78 -msgid "# out sine - 2" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:79 -msgid "# in sine - 3" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:80 -msgid "# out quad - 4" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:81 -msgid "# in quad - 5" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:82 -msgid "# io sine - 6" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:83 -msgid "# io quad - 7" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:84 -msgid "# out cubic - 8" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:85 -msgid "# in cubic - 9" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:86 -msgid "# out quart - 10" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:87 -msgid "# in quart - 11" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:88 -msgid "# io cubic - 12" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:89 -msgid "# io quart - 13" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:90 -msgid "# out quint - 14" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:91 -msgid "# in quint - 15" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:92 -msgid "# out expo - 16" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:93 -msgid "# in expo - 17" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:94 -msgid "# out circ - 18" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:95 -msgid "# in circ - 19" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:96 -msgid "# out back - 20" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:97 -msgid "# in back - 21" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:98 -msgid "# io circ - 22" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:99 -msgid "# io back - 23" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:100 -msgid "# out elastic - 24" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:101 -msgid "# in elastic - 25" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:102 -msgid "# out bounce - 26" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:103 -msgid "# in bounce - 27" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:104 -msgid "# io bounce - 28" -msgstr "" - -#: src\chart-standard/chart-format/rpe/extend.md:105 -msgid "# io elastic - 29" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:3 -msgid "control是以关键帧形式控制note各项参数的一个rpe特性。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:5 -msgid "Alpha Control" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:9 -#: src\chart-standard/chart-format/rpe/controls.md:49 -#: src\chart-standard/chart-format/rpe/controls.md:90 -#: src\chart-standard/chart-format/rpe/controls.md:129 -#: src\chart-standard/chart-format/rpe/controls.md:139 -#, fuzzy -msgid "easing" -msgstr "\"easingLeft\"" - -#: src\chart-standard/chart-format/rpe/controls.md:9 -#: src\chart-standard/chart-format/rpe/controls.md:49 -#: src\chart-standard/chart-format/rpe/controls.md:90 -#: src\chart-standard/chart-format/rpe/controls.md:129 -#: src\chart-standard/chart-format/rpe/controls.md:139 -msgid "到下一个关键帧数值的缓动类型,详见[对照表](./extend.md#easingType)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:10 -msgid "note不透明度" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:11 -#: src\chart-standard/chart-format/rpe/controls.md:51 -#: src\chart-standard/chart-format/rpe/controls.md:92 -#: src\chart-standard/chart-format/rpe/controls.md:131 -#: src\chart-standard/chart-format/rpe/controls.md:141 -msgid "x" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:11 -#: src\chart-standard/chart-format/rpe/controls.md:51 -#: src\chart-standard/chart-format/rpe/controls.md:92 -#: src\chart-standard/chart-format/rpe/controls.md:131 -#: src\chart-standard/chart-format/rpe/controls.md:141 -msgid "note与判定线的纵向距离" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:13 -msgid "`alpha control` 可以控制 note 的不透明度。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:14 -msgid "" -"可以与note的`alpha`字段结合使用,不冲突,混合公式为 `noteAlpha = noteAlpha * " -"nowAlpha`(先从0~255转换为0~1后再计算)。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:16 -#: src\chart-standard/chart-format/rpe/controls.md:57 -#: src\chart-standard/chart-format/rpe/controls.md:96 -msgid "行为" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:18 -msgid "当 `alpha control` 如下所示时:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:22 -#, fuzzy -msgid "\"alphaControl\"" -msgstr "\"alpha\"" - -#: src\chart-standard/chart-format/rpe/controls.md:25 -#: src\chart-standard/chart-format/rpe/controls.md:30 -#: src\chart-standard/chart-format/rpe/controls.md:35 -#: src\chart-standard/chart-format/rpe/controls.md:65 -#: src\chart-standard/chart-format/rpe/controls.md:70 -#: src\chart-standard/chart-format/rpe/controls.md:75 -#: src\chart-standard/chart-format/rpe/controls.md:104 -#: src\chart-standard/chart-format/rpe/controls.md:109 -#: src\chart-standard/chart-format/rpe/controls.md:114 -#, fuzzy -msgid "\"easing\"" -msgstr "\"easingType\"" - -#: src\chart-standard/chart-format/rpe/controls.md:26 -#: src\chart-standard/chart-format/rpe/controls.md:31 -#: src\chart-standard/chart-format/rpe/controls.md:36 -#: src\chart-standard/chart-format/rpe/controls.md:67 -#: src\chart-standard/chart-format/rpe/controls.md:72 -#: src\chart-standard/chart-format/rpe/controls.md:77 -#: src\chart-standard/chart-format/rpe/controls.md:106 -#: src\chart-standard/chart-format/rpe/controls.md:111 -#: src\chart-standard/chart-format/rpe/controls.md:116 -msgid "\"x\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:42 -msgid "" -"note 在距离判定线 `100` 个y坐标单位前不透明度为 `0.5`,在 `100` 个y坐标单位后" -"以 `Out Sine` 缓动函数缓动到 `1.0` 不透明度到与判定线重合。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:45 -msgid "Size Control" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:53 -msgid "`size control` 可以真正的控制 note 的大小,而不是仅仅控制宽度。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:54 -msgid "可以与note的宽度字段结合使用,不冲突。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:55 -msgid "无法影响 `Hold` 类型的note大小。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:59 -#, fuzzy -msgid "当 `size control` 如下所示时:" -msgstr "The format for a single `Video` is as shown below:" - -#: src\chart-standard/chart-format/rpe/controls.md:63 -msgid "\"sizeControl\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:83 -msgid "" -"note 在距离判定线 `200` 个y坐标前大小为原先的 `1.5` 倍,在`200`个y坐标单位后" -"以 `Out Sine` 缓动函数缓动到 `1.0` 倍大小到与判定线重合。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:86 -msgid "pos Control(X Control)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:91 -msgid "pos" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:91 -msgid "note的`positionX`参数倍率" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:94 -msgid "`pos control` 可以动态控制 note 的 `positionX` 倍率。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:98 -msgid "当 `pos control` 如下所示时:" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:102 -msgid "\"posControl\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:105 -#: src\chart-standard/chart-format/rpe/controls.md:110 -#: src\chart-standard/chart-format/rpe/controls.md:115 -msgid "\"pos\"" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:122 -msgid "" -"note 在距离判定线 `100` 个y坐标单位前note的 `positionX` 为原先的 `2.0` 倍," -"在 `100` 个y坐标单位后以 `Out Sine` 缓动函数缓动note的 `positionX` 为 `1.0` " -"倍到与判定线重合。" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:125 -msgid "y Control" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:130 -msgid "y" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:130 -#: src\chart-standard/chart-format/rpe/controls.md:140 -msgid "(待补充)" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:133 -#: src\chart-standard/chart-format/rpe/controls.md:144 -msgid "行为描述待补充" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:135 -msgid "Skew Control" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:140 -msgid "skew" -msgstr "" - -#: src\chart-standard/chart-format/rpe/controls.md:143 -msgid "对 `Hold` 类型的note无效。" -msgstr "" - -#: src\chart-standard/chart-format/pe/index.md:1 -msgid "PE 文档" -msgstr "" - -#: src\chart-standard/chart-format/pe/index.md:3 -msgid "" -"PEC(PhiEditor Chart)是一种纯文本谱面格式,它不使用json等常见格式存储,需要" -"手动编写序列化/反序列化代码。 \n" -"本文档只介绍PEC格式构造,不保证行为的准确性,此格式已停止更新。" -msgstr "" - -#: src\chart-standard/chart-format/pe/basic.md:3 -msgid "" -"本页描述一些谱面的基本信息,要注意的是,PEC不保存谱面的元信息(如曲名、谱师等" -"信息),这些信息需要从其他地方获取。 \n" -"PEC最大只能有`30`条判定线,PhiEditor不允许创建更多判定线。 \n" -"PhiEditor不支持XY分离。" -msgstr "" - -#: src\chart-standard/chart-format/pe/basic.md:7 -#, fuzzy -msgid "坐标系" -msgstr "Coordinates" - -#: src\chart-standard/chart-format/pe/basic.md:9 -msgid "" -"屏幕中心为`0,0`点; \n" -"左下角X坐标为`-1024`,Y坐标为`-700`; \n" -"右上角X坐标为`1024`,Y坐标为`700`。" -msgstr "" - -#: src\chart-standard/chart-format/pe/basic.md:13 -msgid "谱面偏移" -msgstr "" - -#: src\chart-standard/chart-format/pe/basic.md:15 -msgid "PEC第一行为谱面的 `offset`,单位为毫秒,是一个整数。" -msgstr "" - -#: src\chart-standard/chart-format/pe/basic.md:17 -msgid "BPM列表" -msgstr "" - -#: src\chart-standard/chart-format/pe/basic.md:19 -msgid "PEC中,起始为 `bp` 的行为 `BPM` 列表行,示例如下:" -msgstr "" - -#: src\chart-standard/chart-format/pe/basic.md:25 -msgid "表示在 `0.000` 拍处,BPM为 `180.000`。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:2 -msgid "事件是谱面的主要构造之一,有瞬时与缓动两种大类事件。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:4 -msgid "瞬时事件" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:5 -msgid "瞬时事件会在所属拍将判定线的对应数值立即设定为该事件的值,格式如下:" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:20 -msgid "`cv` 为速度事件瞬时事件,要注意的是,速度事件不支持缓动。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:21 -msgid "`cp` 为移动事件瞬时事件。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:22 -msgid "" -"`cd` 为旋转事件瞬时事件,需要注意的是,制谱器会将在制谱界面输入的角度取反后存" -"入谱面文件中,原因未知。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:23 -msgid "`ca` 为不透明度事件瞬时事件。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:25 -msgid "缓动事件" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:26 -msgid "" -"缓动事件会在开始时间时,将判定线当前数值作为起始数值,使用指定缓动函数缓动到" -"终点数值。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:38 -msgid "" -"缓动类型编号对照与`RPE`一致,请参考[对照表](../rpe/extend.md#easingType)。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:39 -msgid "`cm` 为移动事件缓动事件。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:40 -msgid "`cr` 为旋转事件缓动事件。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:41 -msgid "`cf` 为不透明度事件缓动事件,不支持缓动类型,变化始终线性。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:43 -msgid "其它说明" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:44 -msgid "速度值为一个 `float`,默认为`10.000`" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:45 -msgid "透明度值为一个 `int` 。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:46 -msgid "`0` 为完全透明,`255` 为完全不透明,`-1` 时隐藏判定线上所有音符。" -msgstr "" - -#: src\chart-standard/chart-format/pe/event.md:47 -msgid "仍有其它特性未考证。" -msgstr "" - -#: src\chart-standard/chart-format/pe/note.md:3 -msgid "音符是谱面的主要构造之一,示例如下:" -msgstr "" - -#: src\chart-standard/chart-format/pe/note.md:15 -msgid "字段说明" -msgstr "" - -#: src\chart-standard/chart-format/pe/note.md:17 -msgid "`n`开头行为音符行,`n`后面的数字代表音符类型,对照如下:" -msgstr "" - -#: src\chart-standard/chart-format/pe/note.md:26 -msgid "除了`n2` 外,格式如下:" -msgstr "" - -#: src\chart-standard/chart-format/pe/note.md:32 -msgid "`n2`(Hold)格式如下:" -msgstr "" - -#: src\chart-standard/chart-format/pe/note.md:38 -msgid "`是否从下方下落`属性为 `2` 时从下方下落,为`1`时从上方下落。" -msgstr "" - -#: src\chart-standard/chart-format/pe/note.md:39 -msgid "`是否为假note`属性为 `1` 时为假note。" -msgstr "" - -#: src\chart-standard/chart-format/phi/index.md:1 -msgid "Phigros Official 谱面文档" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:1 -msgid "Phigros Official谱面根目录结构" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:3 -msgid "目前`Phigros Official`谱面的数据计算与渲染已经十分成熟" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:4 -msgid "" -"所有的时间单位均为 `128分音符` 即 `60 / 32 / bpm`, 下文简写为 `1.875 / bpm`" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:8 -msgid "formatVersion" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:10 -msgid "`formatVersion` 是一个 `int`" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:11 -msgid "该项影响谱面判定线移动事件的解析方式" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:12 -msgid "该值可能 为`1`, `3` 或其他" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:16 -msgid "`offset` 是一个 `float`" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:17 -msgid "该项为谱面的延迟, 单位为秒" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:18 -msgid "为正数时, 谱面比音乐快, 为负数时, 谱面比音乐慢" -msgstr "" - -#: src\chart-standard/chart-format/phi/root.md:22 -msgid "" -"`judgeLineList` 是一个 `JsonArray`,包含若干个 `JsonObject`,每个 " -"`JsonObject` 代表一个[判定线](./judgeLine.md)。" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:5 -#: src\chart-standard/chart-format/phi/event.md:7 -#: src\chart-standard/chart-format/phi/event.md:16 -#: src\chart-standard/chart-format/phi/event.md:23 -#: src\chart-standard/chart-format/phi/event.md:43 -#: src\chart-standard/chart-format/phi/event.md:52 -#: src\chart-standard/chart-format/phi/event.md:61 -msgid "单位" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:7 -msgid "note的类型" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:8 -#, fuzzy -msgid "time" -msgstr "\"time\"" - -#: src\chart-standard/chart-format/phi/note.md:8 -msgid "note的时间" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:8 -#: src\chart-standard/chart-format/phi/note.md:9 -#: src\chart-standard/chart-format/phi/event.md:9 -#: src\chart-standard/chart-format/phi/event.md:10 -#: src\chart-standard/chart-format/phi/event.md:18 -#: src\chart-standard/chart-format/phi/event.md:19 -#: src\chart-standard/chart-format/phi/event.md:54 -#: src\chart-standard/chart-format/phi/event.md:55 -#: src\chart-standard/chart-format/phi/event.md:63 -#: src\chart-standard/chart-format/phi/event.md:64 -msgid "`1.875 / bpm`" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:9 -msgid "holdTime" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:9 -msgid "hold的持续时间 (仅hold, 其他为0.0)" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:10 -msgid "note的横向坐标" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:10 -msgid "宽度单位" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:11 -msgid "对于非hold: note的速度倍率 对于hold: hold尾的速度, hold头速度倍率恒为1" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:12 -#: src\chart-standard/chart-format/phi/event.md:12 -msgid "floorPosition" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:12 -msgid "note判定时距离判定线的高度 (仅方便计算)" -msgstr "" - -#: src\chart-standard/chart-format/phi/note.md:12 -#: src\chart-standard/chart-format/phi/event.md:11 -#: src\chart-standard/chart-format/phi/event.md:12 -msgid "高度单位" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:3 -msgid "本页将介绍判定线事件下的所有事件。" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:5 -msgid "speedEvent" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:9 -#: src\chart-standard/chart-format/phi/event.md:18 -#: src\chart-standard/chart-format/phi/event.md:54 -#: src\chart-standard/chart-format/phi/event.md:63 -msgid "事件的开始时间" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:10 -#: src\chart-standard/chart-format/phi/event.md:19 -#: src\chart-standard/chart-format/phi/event.md:55 -#: src\chart-standard/chart-format/phi/event.md:64 -msgid "事件的结束时间" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:11 -msgid "value" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:11 -msgid "事件的值" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:12 -msgid "速度事件开始时判定线共计以流过的速度 (仅方便计算, 高版本不存在)" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:14 -msgid "judgeLineMoveEvent" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:21 -msgid "`formatVersion` 为 `1`" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:25 -msgid "事件的开始坐标" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:26 -msgid "事件的结束坐标" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:28 -msgid "坐标计算 (Python):" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:29 -msgid "`x = (v - v % 1000) // 1000`" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:30 -msgid "`y = v % 1000`" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:31 -msgid "单位:" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:32 -msgid "`x` `1 / 880` 谱面渲染范围宽度" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:33 -msgid "`y` `1 / 520` 谱面渲染范围高度" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:34 -msgid "转化为formatVersion为3的坐标 (python):" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:35 -msgid "原事件以 `e` 表示, 新事件以 `ne` 表示" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:36 -msgid "`ne.start = (e.start - e.start % 1000) // 1000`" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:37 -msgid "`ne.end = (e.end - e.end % 1000) // 1000`" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:38 -msgid "`ne.start2 = e.start % 1000`" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:39 -msgid "`ne.end2 = e.end % 1000`" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:41 -msgid "`formatVersion` 为 `3`" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:45 -msgid "事件的开始x坐标" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:45 -#: src\chart-standard/chart-format/phi/event.md:46 -msgid "谱面渲染范围宽度" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:46 -msgid "事件的结束x坐标" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:47 -#, fuzzy -msgid "start2" -msgstr "\"start\"" - -#: src\chart-standard/chart-format/phi/event.md:47 -msgid "事件的开始y坐标" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:47 -#: src\chart-standard/chart-format/phi/event.md:48 -msgid "谱面渲染范围高度" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:48 -msgid "end2" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:48 -msgid "事件的结束y坐标" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:50 -msgid "judgeLineRotateEvent" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:56 -#: src\chart-standard/chart-format/phi/event.md:65 -msgid "事件的开始值" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:56 -#: src\chart-standard/chart-format/phi/event.md:57 -msgid "角度" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:57 -#: src\chart-standard/chart-format/phi/event.md:66 -msgid "事件的结束值" -msgstr "" - -#: src\chart-standard/chart-format/phi/event.md:59 -msgid "judgeLineDisappearEvent" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:7 -msgid "该判定线的bpm值" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:8 -msgid "notesAbove" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:8 -msgid "正面下落的音符" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:9 -msgid "notesBelow" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:9 -msgid "反面下落的音符" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:10 -msgid "speedEvents" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:10 -msgid "速度事件" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:11 -msgid "judgeLineMoveEvents" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:11 -msgid "移动事件" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:12 -msgid "judgeLineRotateEvents" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:12 -msgid "旋转事件" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:13 -msgid "judgeLineDisappearEvents" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:13 -msgid "透明度事件" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:15 -msgid "**注意: 所有事件及Note的有关时间的项, 单位都为 `1.875 / bpm` s**" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:16 -msgid "**这里我们定义:**" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:17 -msgid "\"宽度单位\" 为 `0.05625 * 谱面渲染范围宽度`" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:18 -msgid "\"高度单位\" 为 `0.6 * 谱面渲染范围高度`" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:19 -msgid "[事件](./event.md)" -msgstr "" - -#: src\chart-standard/chart-format/phi/judgeLine.md:20 -msgid "[Note](./note.md)" -msgstr "" - -#: src\chart-standard/music.md:3 -msgid "目前支持的音乐文件格式包括:" -msgstr "" - -#: src\chart-standard/music.md:5 -msgid "`.mp3`" -msgstr "" - -#: src\chart-standard/music.md:6 -msgid "`.ogg`" -msgstr "" - -#: src\chart-standard/music.md:7 -msgid "`.wav`" -msgstr "" - -#: src\chart-standard/music.md:9 -msgid "注意:" -msgstr "" - -#: src\chart-standard/music.md:11 -msgid "`mp3` 格式可能会存在不可预测的延迟, 请尽量使用 `ogg` 文件来避免" -msgstr "" - -#: src\chart-standard/music.md:12 -msgid "`wav` 为未经压缩的原始音频信号, 占用空间较多, 可能会导致谱面上传失败" -msgstr "" - -#: src\chart-standard/extra/index.md:1 -msgid "扩展特性文档" -msgstr "" - -#: src\chart-standard/extra/index.md:3 -msgid "" -"prpr 在支持 Phigros 官方谱面格式、`pec` 格式和 `rpe` 格式之外,加入了一些谱面" -"特性。这些谱面特性目前只在 prpr 及基于其构建的客户端上可用。它们包括:" -msgstr "" -"prpr not only supports the official Phigros, 'pec', and 'rpe' chart format, " -"but also added some unique features. These chart features can only be used " -"in prpr and other clients that built on top of prpr. These features include:" - -#: src\chart-standard/extra/index.md:5 -msgid "[特效](./effect/index.md)" -msgstr "[Effects](./effect/index.md)" - -#: src\chart-standard/extra/index.md:6 -msgid "[视频背景](./video/index.md)" -msgstr "[Video Background](./video/index.md)" - -#: src\chart-standard/extra/index.md:8 -msgid "" -"关于特性的配置需要全部存储在压缩包根目录的 `extra.json` 中。为了使用谱面特" -"性,你需要手动编辑 JSON 文件。如果你不知道 JSON 是什么,请参阅 [JSON 教程]" -"(http://c.biancheng.net/json/)。" -msgstr "" -"The configuration of chart features need to be saved in `extra.json` which " -"can be found in the root directory of the zip file. In order to use the " -"chart features, you need to edit the JSON file manually. If you don't know " -"what JSON is, see [JSON Tutorial](http://c.biancheng.net/json/)." - -#: src\chart-standard/extra/index.md:10 -msgid "BPM 配置" -msgstr "BPM Config" - -#: src\chart-standard/extra/index.md:12 -msgid "" -"**在进行相关配置前,你需要在 `extra.json` 中预先设定好曲目的 BPM**。例如:" -msgstr "" -"**Before making any configurations, you need to set the BPM of the song/" -"track in `extra.json`**. For example:" - -#: src\chart-standard/extra/index.md:17 src\chart-standard/extra/index.md:18 -#: src\chart-standard/extra/video/index.md:16 -msgid "\"time\"" -msgstr "\"time\"" - -#: src\chart-standard/extra/index.md:24 -msgid "这里表示歌曲最初 BPM 为 `200`,而后在十又二分之一拍是转换为 `250`。" -msgstr "" -"This shows that the song has an initial BPM of `200`, the BPM then changes " -"to `250` at the 10.5 beat." - -#: src\chart-standard/extra/index.md:26 -msgid "动画变量" -msgstr "Animation variables" - -#: src\chart-standard/extra/index.md:28 -msgid "" -"在配置文件中会常常用到动画变量。例如,在 RPE 中,的 X 坐标变化事件实际上就是 " -"X 坐标作为一个动画变量。" -msgstr "" -"Animation variables are often used in charts. For example, in RPE, the X " -"coordinate change event is actually the X coordinate as an animation " -"variable." - -#: src\chart-standard/extra/index.md:30 -msgid "" -"prpr 的动画变量有两种格式。第一种即单个值,表示该变量不会更改,一直维持同一个" -"值。这种格式是为了方便填写而适用的。第二种格式与 RPE 中的格式相同,是由多个 " -"`Event` 组成的。单个 `Event` 格式如下所示:" -msgstr "" -"There are 2 formats for prpr’s animation variables. The first is for a " -"constant value, which means that the variable will not change and will " -"always have the same value. This format is applied just for the ease of " -"filling up the fields. The second format is the same as the one in RPE and " -"is composed of multiple `Event`. The format of a single `Event` is shown " -"below:" - -#: src\chart-standard/extra/index.md:37 -msgid "\"easingLeft\"" -msgstr "\"easingLeft\"" - -#: src\chart-standard/extra/index.md:38 -msgid "\"easingRight\"" -msgstr "\"easingRight\"" - -#: src\chart-standard/extra/index.md:44 -msgid "" -"其中 `startTime`、`endTime` 是事件的开始和结束时间;`easingType` 是缓动类型;" -"`easingLeft`、`easingRight` 是可选的,代表裁剪缓动的开始与结束位置。" -msgstr "" -"where `startTime` and `endTime` are the event’s start time and end time " -"respectively; `easingType` is the type of easing; `easingLeft` and " -"`easingRight` are optional, it represents the start and end position of the " -"ease." - -#: src\chart-standard/extra/index.md:46 -msgid "" -"`start` 和 `end` 代表该时间开始和结束处该变量的值。这里值的类型是取决于变量本" -"身的类型的,它可以是下面类型中的任意一种:" -msgstr "" -"`start` and `end` represent the values at the beginning and end of the time. " -"The type of the value here depends on the type of the animation variable " -"itself, which can be any of the following types:" - -#: src\chart-standard/extra/index.md:48 -msgid "`float`:单个小数;" -msgstr "`float`: a single decimal." - -#: src\chart-standard/extra/index.md:49 -msgid "`vec2`:两个小数表示的二维向量,用数组表示;" -msgstr "`vec2`: 2 decimal representing a 2D vector, represented as an array." - -#: src\chart-standard/extra/index.md:50 -msgid "`color`:四个整数(0-255)表示的颜色,格式为 `[R, G, B, A]`。" -msgstr "" -"`color`: 4 integers (0-255) that represents a color, the format is `[R, G, " -"B, A]`." - -#: src\chart-standard/extra/index.md:52 -msgid "例如,下面的动画变量将在特定时段内从 `0` 到 `1` 线性变化:" -msgstr "" -"For example, the following animation variable will vary linearly from `0` to " -"`1` over a given time period:" - -#: src\chart-standard/extra/effect/index.md:3 -msgid "" -"特效是在一段时间内对谱面整体施加着色器效果的特性,可以用以达成一些普通谱面无" -"法实现或难以实现的视觉效果。prpr 预置了一批着色器,你也可以自己编写着色器,详" -"见 [自行编写着色器](./custom-shader.md)。" -msgstr "" -"Effect is a feature that applies shader to the entire chart for a specified " -"amount of time. They can be used to achieve visual effects that are " -"impossible or difficult to achieve in vanilla charts. prpr has some premade " -"shaders, or you can also write your own shaders. For more details, see " -"[Writing your own shader](./custom-shader.md)." - -#: src\chart-standard/extra/effect/index.md:5 -#: src\chart-standard/extra/video/index.md:5 -msgid "格式" -msgstr "Format" - -#: src\chart-standard/extra/effect/index.md:7 -msgid "你需要在 `extra.json` 中加入 `effects` 字段,其内容为 `Effect` 的数组。" -msgstr "" -"You need to add the `effects` field in `extra.json`, whose content is an " -"array of `Effect`." - -#: src\chart-standard/extra/effect/index.md:9 -msgid "Effect" -msgstr "Effect" - -#: src\chart-standard/extra/effect/index.md:11 -msgid "单个 `Effect` 的格式如下所示:" -msgstr "The format of a single `Effect` is shown below:" - -#: src\chart-standard/extra/effect/index.md:17 -#: src\chart-standard/extra/effect/index.md:54 -msgid "\"shader\"" -msgstr "\"shader\"" - -#: src\chart-standard/extra/effect/index.md:17 -msgid "\"着色器名字\"" -msgstr "\"Name of shader\"" - -#: src\chart-standard/extra/effect/index.md:18 -msgid "\"global\"" -msgstr "\"global\"" - -#: src\chart-standard/extra/effect/index.md:19 -#: src\chart-standard/extra/effect/index.md:36 -#: src\chart-standard/extra/effect/index.md:55 -msgid "\"vars\"" -msgstr "\"vars\"" - -#: src\chart-standard/extra/effect/index.md:25 -msgid "" -"`start` 和 `end` 指定了特效的开始和结束时间,格式与 RPE 默认的时间表示格式相" -"同(`[小节数, 分子, 分母]`)。" -msgstr "" -"`start` and `end` specify the start and end time respectively in the same " -"format as RPE's default time format (`[bar number, numerator, denominator]`)." - -#: src\chart-standard/extra/effect/index.md:27 -msgid "`shader`,即着色器名字,既可以是内置着色器,也可以是自定义的着色器。" -msgstr "" -"`shader` represents the shader's name, it can be a built-in shader, or a " -"custom shader." - -#: src\chart-standard/extra/effect/index.md:29 -msgid "" -"`global` 决定了该特效会不会影响到 UI 元素(连击数、暂停按钮等)。可以不填,默" -"认为 `false`。" -msgstr "" -"`global` determines whether the effect will affect UI elements (combo count, " -"pause button, etc). This field can be left blank, and its default value is " -"`false`." - -#: src\chart-standard/extra/effect/index.md:31 -msgid "" -"`vars` 是可选项,它是一个变量名字到 [`动画变量`](../index.html#动画变量) 的映" -"射,用于指定着色器的参数(或者说,着色器的 `uniform` 变量)。即,假设我需要指" -"定两个变量 `power` 和 `radius` 的值,我可以这样写:" -msgstr "" -"`vars` is an optional parameter, it is a mapping of variable names to " -"[animation variables](../index.html#animation-variables), it is used to " -"specify the parameters of the shader (or rather: shader's `uniform` " -"variables). i.e. suppose I need to specify the values of 2 variables, " -"`power` and `radius`, I can write it like this:" - -#: src\chart-standard/extra/effect/index.md:37 -#: src\chart-standard/extra/effect/index.md:56 -msgid "\"power\"" -msgstr "\"power\"" - -#: src\chart-standard/extra/effect/index.md:38 -msgid "\"radius\"" -msgstr "\"radius\"" - -#: src\chart-standard/extra/effect/index.md:43 -#: src\chart-standard/extra/effect/custom-shader.md:36 -msgid "示例" -msgstr "Example" - -#: src\chart-standard/extra/effect/index.md:45 -msgid "" -"下面的例子将在 `[2, 0, 1]` 到 `[4, 0, 1]` 中使用 `chromatic` 内置着色器,并" -"将 `power` 这一参数在这一时段内从 `0` 到 `0.1` 线性变化,且 `sampleCount` 被" -"固定为 `5`:" -msgstr "" -"The following example will apply the built-in `chromatic` shader from `[2, " -"0, 1]` to `[4, 0, 1]` and will vary the `power` parameter linearly from `0` " -"to `0.1` in this time period, with the `sampleCount` fixed at `5`:" - -#: src\chart-standard/extra/effect/index.md:50 -msgid "\"effects\"" -msgstr "\"effects\"" - -#: src\chart-standard/extra/effect/index.md:54 -msgid "\"chromatic\"" -msgstr "\"chromatic\"" - -#: src\chart-standard/extra/effect/index.md:65 -msgid "\"sampleCount\"" -msgstr "\"sampleCount\"" - -#: src\chart-standard/extra/effect/index.md:74 -msgid "" -"你可以在 [这里](./builtin/index.md) 查看所有的内置着色器,以及它们的参数和相" -"关说明。" -msgstr "" -"You can view all the built-in shaders, along with their parameters and " -"related descriptions, at [here](./builtin/index.md)." - -#: src\chart-standard/extra/effect/builtin/index.md:3 -msgid "该部分列举了 prpr 的内置着色器。" -msgstr "This section lists prpr's built-in shaders." - -#: src\chart-standard/extra/effect/builtin/chromatic.md:3 -msgid "色差效果。" -msgstr "Chromatic effect." - -#: src\chart-standard/extra/effect/builtin/chromatic.md:5 -msgid "![示例](image/chromatic.png)" -msgstr "![example](image/chromatic.png)" - -#: src\chart-standard/extra/effect/builtin/chromatic.md:7 -#: src\chart-standard/extra/effect/builtin/circleBlur.md:7 -#: src\chart-standard/extra/effect/builtin/fisheye.md:13 -#: src\chart-standard/extra/effect/builtin/glitch.md:7 -#: src\chart-standard/extra/effect/builtin/grayscale.md:7 -#: src\chart-standard/extra/effect/builtin/noise.md:7 -#: src\chart-standard/extra/effect/builtin/pixel.md:7 -#: src\chart-standard/extra/effect/builtin/radialBlur.md:7 -#: src\chart-standard/extra/effect/builtin/shockwave.md:7 -#: src\chart-standard/extra/effect/builtin/vignette.md:7 -msgid "参数" -msgstr "Parameters" - -#: src\chart-standard/extra/effect/builtin/chromatic.md:9 -msgid "" -"`sampleCount`(整数,默认 `3`,范围 `1-64`):采样次数,越高显示会更连贯,开" -"销也更大;" -msgstr "" -"`sampleCount` (integer, default value: `3`, Range: `1-64`): Sample count, " -"the higher the value, the display will be more coherent, and the overhead " -"will be higher." - -#: src\chart-standard/extra/effect/builtin/chromatic.md:10 -msgid "`power`(小数,默认 `0.01`):强度,或者说偏移距离。" -msgstr "" -"`power` (float, default value: `0.01`): The intensity, or offset distance." - -#: src\chart-standard/extra/effect/builtin/circleBlur.md:3 -msgid "圆点模糊。会将像素点模糊放大为亮点,建议搭配参数动画使用。" -msgstr "" -"Dot blurring. Will enlarge the pixel blur as highlight, recommended to use " -"with parameter." - -#: src\chart-standard/extra/effect/builtin/circleBlur.md:5 -msgid "![示例](image/circleBlur.png)" -msgstr "![example](image/circleBlur.png)" - -#: src\chart-standard/extra/effect/builtin/circleBlur.md:9 -msgid "`size`(小数,默认 `10.0`):原点的大小,以像素为单位。" -msgstr "" -"`size` (float, default value: `10.0`): The size of the origin, in pixels." - -#: src\chart-standard/extra/effect/builtin/fisheye.md:3 -msgid "鱼眼效果。当 `power` 为负数时可以做出类似隧洞穿梭的效果。" -msgstr "" -"Fisheye effect. When `power` is negative, you can make tunneling effect." - -#: src\chart-standard/extra/effect/builtin/fisheye.md:5 -msgid "`power` 为负数:" -msgstr "`power` as negative value:" - -#: src\chart-standard/extra/effect/builtin/fisheye.md:7 -msgid "![示例](image/fisheye-neg.png)" -msgstr "![example](image/fisheye-neg.png)" - -#: src\chart-standard/extra/effect/builtin/fisheye.md:9 -msgid "`power` 为正数:" -msgstr "`power` as positive value:" - -#: src\chart-standard/extra/effect/builtin/fisheye.md:11 -msgid "![示例](image/fisheye-pos.png)" -msgstr "![example](image/fisheye-pos.png)" - -#: src\chart-standard/extra/effect/builtin/fisheye.md:15 -msgid "`power`(小数,默认 `-0.1`):鱼眼缩放比例。" -msgstr "`power` (float, default value: `-0.1`): Scale of fisheye effect." - -#: src\chart-standard/extra/effect/builtin/glitch.md:3 -msgid "混乱 / 错误效果。该效果会随时间产生不确定的闪烁。" -msgstr "" -"Confusion/Error effect. The effect produces an indeterminate flicker over " -"time." - -#: src\chart-standard/extra/effect/builtin/glitch.md:5 -msgid "![示例](image/glitch.png)" -msgstr "![example](image/glitch.png)" - -#: src\chart-standard/extra/effect/builtin/glitch.md:9 -msgid "`power`(小数,默认 `0.3`):闪烁强度;" -msgstr "`power` (float, default value: `0.3`): Flicker intensity." - -#: src\chart-standard/extra/effect/builtin/glitch.md:10 -msgid "" -"`rate`(小数,默认 `0.6`,范围 `0-1`):闪烁频率。`0` 为总不闪烁,`1` 为总是" -"闪烁;" -msgstr "" -"`rate` (float, default value: `0.6`, range: `0-1`): Flicker frequency. `0` " -"for no flickers, `1` for always flicker." - -#: src\chart-standard/extra/effect/builtin/glitch.md:11 -msgid "`speed`(小数,默认 `5.0`):整个闪烁动画的速度;" -msgstr "`speed` (float, default value: `5.0`): Speed of flickering animation." - -#: src\chart-standard/extra/effect/builtin/glitch.md:12 -msgid "`blockCount`(小数,默认 `30.5`):见上图,错位条带的条数(大概);" -msgstr "" -"`blockCount` (float, default value: `30.5`): Look at above images, number of " -"misaligned strips (approximate)." - -#: src\chart-standard/extra/effect/builtin/glitch.md:13 -msgid "`colorRate`(小数,默认 `0.01`,范围 `0-1`):色差的距离。" -msgstr "" -"`colorRate` (float, default value: `0.01`, range: `0-1`): Distance of color " -"difference." - -#: src\chart-standard/extra/effect/builtin/grayscale.md:3 -msgid "灰度化效果。" -msgstr "Grayscale effect." - -#: src\chart-standard/extra/effect/builtin/grayscale.md:5 -msgid "![示例](image/grayscale.png)" -msgstr "![example](image/grayscale.png)" - -#: src\chart-standard/extra/effect/builtin/grayscale.md:9 -msgid "" -"`factor`(小数,默认 `1.0`):灰度化程度。`0` 为不进行灰度化处理,`1` 为完全" -"进行灰度化处理。" -msgstr "" -"`factor` (float, default value: `1.0`): Grayscale level. `0` for no " -"grayscale processing, `1` for complete grayscale processing." - -#: src\chart-standard/extra/effect/builtin/noise.md:3 -msgid "噪音效果。向画面附加一层随机的模糊效果。" -msgstr "Noise effect. Applies a random layer of blur to the screen." - -#: src\chart-standard/extra/effect/builtin/noise.md:5 -msgid "![示例](image/noise.png)" -msgstr "![example](image/noise.png)" - -#: src\chart-standard/extra/effect/builtin/noise.md:9 -msgid "" -"`seed`(小数,默认 `81.0`):用来生成随机图案的种子。通过连续地变化种子可以使" -"图案发生连续的变化。" -msgstr "" -"`seed` (float, default value: `81.0`): Used to generate random patterns. By " -"varying the seeds continuously, the pattern can be changed continuously." - -#: src\chart-standard/extra/effect/builtin/noise.md:10 -msgid "" -"`power`(小数,默认 `0.03`,范围 `0-1`):见上图,模糊的程度(像素偏移范" -"围)。" -msgstr "" -"`power` (float, default value: `0.03`, range: `0-1`): Look at above images, " -"intensity of blur (Range of pixel offset)." - -#: src\chart-standard/extra/effect/builtin/pixel.md:3 -msgid "像素化效果。" -msgstr "Pixelated effect." - -#: src\chart-standard/extra/effect/builtin/pixel.md:5 -msgid "![示例](image/pixel.png)" -msgstr "![example](image/pixel.png)" - -#: src\chart-standard/extra/effect/builtin/pixel.md:9 -msgid "`size`(小数,默认 `10.0`):像素化后的单个像素大小。" -msgstr "" -"`size` (float, default value: `10.0`): Size of individual pixels after " -"pixelation." - -#: src\chart-standard/extra/effect/builtin/radialBlur.md:3 -msgid "放射模糊。" -msgstr "Radial blur." - -#: src\chart-standard/extra/effect/builtin/radialBlur.md:5 -msgid "![示例](image/radialBlur.png)" -msgstr "![example](image/radialBlur.png)" - -#: src\chart-standard/extra/effect/builtin/radialBlur.md:9 -msgid "`centerX`(小数,默认 `0.5`,范围 `0-1`):放射中心的 X 坐标;" -msgstr "" -"`centerX` (float, default value: `0.5`, range: `0-1`): X coordinate of the " -"effect center." - -#: src\chart-standard/extra/effect/builtin/radialBlur.md:10 -msgid "`centerY`(小数,默认 `0.5`,范围 `0-1`):放射中心的 Y 坐标;" -msgstr "" -"`centerY` (float, default value: `0.5`, range: `0-1`): Y coordinate of the " -"effect center." - -#: src\chart-standard/extra/effect/builtin/radialBlur.md:11 -msgid "`power`(小数,默认 `0.01`,范围 `0-1`):放射强度;" -msgstr "" -"`power` (float, default value: `0.01`, range: `0-1`): Intensity of effect." - -#: src\chart-standard/extra/effect/builtin/radialBlur.md:12 -msgid "" -"`sampleCount`(整数,默认 `3`,范围 `1-64`):采样次数,越高显示会更连贯,开" -"销也更大。" -msgstr "" -"`sampleCount` (integer, default value: `3`, range: `1-64`): Sample count, " -"the higher the value, the display will be more coherent, and the overhead " -"will be higher." - -#: src\chart-standard/extra/effect/builtin/shockwave.md:3 -msgid "冲击波效果。建议配合 `progress` 的参数动画使用。" -msgstr "Shockwave effect. Recommended to use with `progress` parameter." - -#: src\chart-standard/extra/effect/builtin/shockwave.md:5 -msgid "![示例](image/shockwave.png)" -msgstr "![example](image/shockwave.png)" - -#: src\chart-standard/extra/effect/builtin/shockwave.md:9 -msgid "" -"`progress`(小数,默认 `0.2`,范围 `0-1`):冲击波的进度。冲击波是一个动画," -"`0` 进度为开始,直到 `1` 进度结束;" -msgstr "" -"`progress` (float, default value: `0.2`, range: `0-1`): Progress of the " -"effect. Shockwave is an animation, `0` for start of animation, `1` for end " -"of animation)." - -#: src\chart-standard/extra/effect/builtin/shockwave.md:10 -msgid "`centerX`(小数,默认 `0.5`,范围 `0-1`):冲击波中心的 X 坐标;" -msgstr "" -"`centerX` (float, default value: `0.5`, range: `0-1`): X coordinate of the " -"effect center." - -#: src\chart-standard/extra/effect/builtin/shockwave.md:11 -msgid "`centerY`(小数,默认 `0.5`,范围 `0-1`):冲击波中心的 Y 坐标;" -msgstr "" -"`centerY` (float, default value: `0.5`, range: `0-1`): Y coordinate of the " -"effect center." - -#: src\chart-standard/extra/effect/builtin/shockwave.md:12 -msgid "`width`(小数,默认 `0.1`):冲击波的宽度;" -msgstr "`width` (float, default value: `0.1`): Width of the effect." - -#: src\chart-standard/extra/effect/builtin/shockwave.md:13 -msgid "`distortion`(小数,默认 `0.8`):冲击波扭曲程度;" -msgstr "`distortion` (float, default value: `0.8`): Intensity of distortion." - -#: src\chart-standard/extra/effect/builtin/shockwave.md:14 -msgid "`expand`(小数,默认 `10.0`):冲击波延伸广度。" -msgstr "`expand` (float, default value: `10.0`): Breadth of expansion." - -#: src\chart-standard/extra/effect/builtin/vignette.md:1 -msgid "vignette" -msgstr "vignette" - -#: src\chart-standard/extra/effect/builtin/vignette.md:3 -msgid "" -"虚光照效果。将屏幕的边缘调暗或调成其他颜色,可以用来模拟 Arcaea 的部分异象效" -"果。" -msgstr "" -"Virtual lighting effect. Will darken or tint the edges of the screen to " -"other colors, can be used to simulate some of Arcaea's anomaly effect." - -#: src\chart-standard/extra/effect/builtin/vignette.md:5 -msgid "![示例](image/vignette.png)" -msgstr "![example](image/vignette.png)" - -#: src\chart-standard/extra/effect/builtin/vignette.md:9 -#, fuzzy -msgid "`color`(颜色,默认黑色 \\[r, g, b, a\\]):边缘的颜色;" -msgstr "" -"`color` (color, default color: `black`): Color at the edges of the screen." - -#: src\chart-standard/extra/effect/builtin/vignette.md:10 -msgid "" -"`extend`(小数,默认 `0.25`,范围 `0-1`):边缘的延伸程度,值越大黑色部分越" -"多;" -msgstr "" -"`extend` (float, default value: `0.25`, range: `0-1`): The extension from " -"the edge, the larger the value, the more black parts." - -#: src\chart-standard/extra/effect/builtin/vignette.md:11 -msgid "`radius`(小数,默认 `15.0`):中央光照大小,值越小受到影响的范围越大。" -msgstr "" -"`radius` (float, default value: `15.0`): Size of central light, the smaller " -"the value, the greater the range affacted." - -#: src\chart-standard/extra/effect/custom-shader.md:3 -msgid "" -"用于特效的着色器是片元着色器。你可以自行编写着色器并将其附加于谱面压缩包中。" -"在 `shader` 字段,你需要填写 `/shader路径`。注意这里的 `/` 是必不可少的,它将" -"内置着色器和自定义着色器区分开来。" -msgstr "" -"Fragment shaders are used for making the special effects. You can write your " -"own shaders and attach them to the chart's zip file. In the `shader` field, " -"you need to fill in the `/shader_path`. Note that the `/` must be included " -"and this field must be filled in because it distinguishes the built-in " -"shaders from the custom shaders." - -#: src\chart-standard/extra/effect/custom-shader.md:5 -msgid "为保证兼容性,着色器版本要求为 GLSL 1.00。" -msgstr "For compatibility, GLSL 1.00 is used." - -#: src\chart-standard/extra/effect/custom-shader.md:7 -#: src\uml/syntax/variable.md:13 -msgid "内置变量" -msgstr "Built-in variables" - -#: src\chart-standard/extra/effect/custom-shader.md:9 -msgid "prpr 为着色器内置了如下变量:" -msgstr "prpr has the following variables used for shaders:" - -#: src\chart-standard/extra/effect/custom-shader.md:11 -msgid "" -"```glsl\n" -"varying vec2 uv; // 材质 UV\n" -"uniform vec2 screenSize; // 屏幕大小(注意是整个屏幕,并不只是谱面部分)\n" -"uniform sampler2D screenTexture; // 屏幕材质(同样也是整个屏幕的材质)\n" -"uniform float time; // 谱面时间,以秒为单位\n" -"```" -msgstr "" -"```glsl\n" -"varying vec2 uv; // UV of texture\n" -"uniform vec2 screenSize; // Size of the screen (Note that it refers to the " -"entire screen, and not just the chart/gameplay area)\n" -"uniform sampler2D screenTexture; // Texture of the screen (Refers to the " -"texture of the entire screen, and not just the chart/gameplay area)\n" -"uniform float time; // The chart's time in seconds\n" -"```" - -#: src\chart-standard/extra/effect/custom-shader.md:18 -msgid "" -"还有一些变量是虽然存在,但在片元着色器中使用无意义的。在定义自己的变量时,你" -"应该避免与它们重名:" -msgstr "" -"There are also variables that exists, but these variables are useless in the " -"fragment shaders. When defining your own variables, you should avoid these " -"variables' name:" - -#: src\chart-standard/extra/effect/custom-shader.md:26 -msgid "着色器变量" -msgstr "Shader variables" - -#: src\chart-standard/extra/effect/custom-shader.md:28 -msgid "为了在谱面中可以指定参数,你需要这样定义你的着色器 `uniform` 变量:" -msgstr "" -"In order to define your own parameters in the chart, you need to define your " -"shader `uniform` variables like this:" - -#: src\chart-standard/extra/effect/custom-shader.md:30 -msgid "" -"```glsl\n" -"uniform type name; // %def%\n" -"```" -msgstr "" -"```glsl\n" -"uniform type name; // %def%\n" -"```" - -#: src\chart-standard/extra/effect/custom-shader.md:34 -msgid "" -"其中 `type` 为类型,目前支持 `float`、`vec2` 和 `vec4`;`name` 为变量名;" -"`def` 为默认值。三个都是不可缺少的。" -msgstr "" -"where `type` is the variable type, currently `float`, `vec2`, and `vec4` are " -"supported; `name` is the variable name; `def` is the default value. Any of " -"the 3 values cannot be left out." - -#: src\chart-standard/extra/effect/custom-shader.md:38 -msgid "下面的示例着色器将会根据 `factor` 的值给屏幕叠加上强弱不等的红色:" -msgstr "" -"The example below shows that the shader will overlay the screen with varying " -"shades of red depending on the value of factor:" - -#: src\chart-standard/extra/effect/custom-shader.md:40 -msgid "" -"```glsl\n" -"#version 100\n" -"precision mediump float;\n" -"\n" -"varying lowp vec2 uv;\n" -"uniform sampler2D screenTexture;\n" -"\n" -"uniform float factor; // %0.5% 0..1\n" -"\n" -"void main() {\n" -" gl_FragColor = mix(texture2D(screenTexture, uv), vec4(1.0, 0.0, 0.0, 1.0), " -"factor);\n" -"}\n" -"```" -msgstr "" -"```glsl\n" -"#version 100\n" -"precision mediump float;\n" -"\n" -"varying lowp vec2 uv;\n" -"uniform sampler2D screenTexture;\n" -"\n" -"uniform float factor; // %0.5% 0..1\n" -"\n" -"void main() {\n" -" gl_FragColor = mix(texture2D(screenTexture, uv), vec4(1.0, 0.0, 0.0, 1.0), " -"factor);\n" -"}\n" -"```" - -#: src\chart-standard/extra/video/index.md:3 -msgid "" -"在 prpr 中,你可以在背景播放视频,但音频并不会被播放。但由于大部分视频文件都" -"较大,且 prpr 的谱面上传限制是 10MB,带有大型 BGA 的谱可能无法上传。如果在上" -"传中需要用到视频背景,建议是用来实现一些小的动画、并对视频进行压缩(包括但不" -"仅限于删除音频轨道)。" -msgstr "" -"In prpr, you can play a video in the background, but the audio will not be " -"played. However, since most videos have a large file size and the upload " -"limit for prpr charts is 10MB, charts that have large BGA may not be " -"uploaded. If you need to have a video background, it is recommended that the " -"video background is used for small animations and compressed (including but " -"not limited to removing audio)." - -#: src\chart-standard/extra/video/index.md:7 -msgid "你需要在 `extra.json` 中加入 `videos` 字段,其内容为 `Video` 的数组。" -msgstr "" -"You need to add a `videos` field in the `extra.json` file, whose content is " -"an array of `Video`." - -#: src\chart-standard/extra/video/index.md:9 -msgid "Video" -msgstr "Video" - -#: src\chart-standard/extra/video/index.md:11 -msgid "单个 `Video` 的格式如下所示:" -msgstr "The format for a single `Video` is as shown below:" - -#: src\chart-standard/extra/video/index.md:15 -msgid "\"path\"" -msgstr "\"path\"" - -#: src\chart-standard/extra/video/index.md:15 -msgid "\"bga.mp4\"" -msgstr "\"bga.mp4\"" - -#: src\chart-standard/extra/video/index.md:17 -msgid "\"scale\"" -msgstr "\"scale\"" - -#: src\chart-standard/extra/video/index.md:17 -msgid "\"cropCenter\"" -msgstr "\"cropCenter\"" - -#: src\chart-standard/extra/video/index.md:19 -msgid "\"dim\"" -msgstr "\"dim\"" - -#: src\chart-standard/extra/video/index.md:23 -msgid "其中 `path` 为必填,指向视频文件路径,其它四项均为选填。" -msgstr "" -"The `path` field is mandatory to be filled in, and it should point to the " -"file path of the video, the other four fields are optional." - -#: src\chart-standard/extra/video/index.md:25 -msgid "`time` 用拍数表示视频的开始时间。" -msgstr "`time` indicates the start time of the video in terms of beat numbers." - -#: src\chart-standard/extra/video/index.md:27 -msgid "" -"`scale` 表示视频的缩放方式。在制作谱面时,你需要考虑在谱面不同宽高比下的显示" -"情况。为此,`scale` 有三种值可选:" -msgstr "" -"`scale` indicates how the video is scaled. When making a chart, you need to " -"consider how the chart will look at different aspect ratios. For this " -"purpose, the `scale` field has 3 options available:" - -#: src\chart-standard/extra/video/index.md:29 -msgid "`cropCenter`(默认):等比例放大视频直到视频能恰好填满屏幕;" -msgstr "" -"`cropCenter` (default): Scales up the video uniformly until it fills the " -"screen." - -#: src\chart-standard/extra/video/index.md:30 -msgid "`inside`:等比例缩放视频,保证整个视频能显示在屏幕内;" -msgstr "" -"`inside`: Scales down the video uniformly, ensures that the entire video is " -"shown within the screen." - -#: src\chart-standard/extra/video/index.md:31 -msgid "`fit`:强制拉伸视频到整个屏幕。" -msgstr "`fit`: Forcefully stretch the video to the entire screen." - -#: src\chart-standard/extra/video/index.md:33 -#, fuzzy -msgid "" -"`alpha` 和 `dim` 分别代表视频的不透明度(若透明,则会显示下方的曲绘)和昏暗程" -"度,他们都是 [`动画变量`](../index.html#动画变量)。" -msgstr "" -"`alpha` and `dim` represents the transparency of the video (if it is " -"invisible, the song background art will be displayed instead) and dimness " -"respectively, they are both [`Animation variables`](../index.html#animation-" -"variables)." - -#: src\chart-standard/unlock_video/index.md:4 -msgid "**请注意解锁动画和视频背景的区别**" -msgstr "" -"**Please note the difference between unlock animation and video background**" - -#: src\chart-standard/unlock_video/index.md:6 -msgid "解锁动画允许在玩家初次游玩谱面前播放一段视频。" -msgstr "" -"The unlock animation allows a video to be played before the player's initial " -"playthrough of the chart." - -#: src\chart-standard/unlock_video/index.md:8 -msgid "使用方法" -msgstr "Usage" - -#: src\chart-standard/unlock_video/index.md:10 -msgid "目前 UI 还没做好,稍微有些麻烦。下面的步骤建议在 Windows 上进行。" -msgstr "" -"The UI is currently not ready and is slightly cumbersome. The following " -"steps are recommended for Windows." - -#: src\chart-standard/unlock_video/index.md:12 -msgid "如果你的谱面已经有了 `info.yml`,请跳转到第三步。" -msgstr "If your chart already has `info.yml`, please skip to step three." - -#: src\chart-standard/unlock_video/index.md:14 -msgid "在 Phira 中导入你的谱面;" -msgstr "Import your chart in Phira." - -#: src\chart-standard/unlock_video/index.md:15 -msgid "" -"在 `data/charts/custom` 中搜索你的谱面 ID(如 `9067228`),找到对应的文件夹," -"在里面找到 `info.yml`,拷贝到你的谱面文件夹里(注意不是导入到 Phira 后的文件" -"夹,是 pez 解压出来的文件夹);" -msgstr "" -"Search for your chart ID in `data/charts/custom` (e.g. `9067228`), locate " -"the corresponding folder, find `info.yml` in the folder, and copy it to your " -"chart folder (Note that the folder mentioned here is not the folder that you " -"get after importing into Phira, it's the folder that you extracted from pez)." - -#: src\chart-standard/unlock_video/index.md:16 -msgid "" -"向你的谱面文件夹(注意不是导入到 Phira 后的文件夹,是 pez 解压出来的文件夹)" -"内加入解锁动画,假设文件名为 `unlock.mp4`;" -msgstr "" -"Add the unlock animation to your chart folder (Note that the folder " -"mentioned here is not the folder that you get after importing into Phira, " -"it's the folder that you extracted from pez), assuming the file name is " -"`unlock.mp4`." - -#: src\chart-standard/unlock_video/index.md:17 -msgid "" -"在 `info.yml` 中找到 `unlockVideo: null` 一行,替换为 `unlockVideo: unlock." -"mp4`(如果没有这一行,则加上这一行);" -msgstr "" -"Find the line `unlockVideo: null` in `info.yml` and replace it with " -"`unlockVideo: unlock.mp4` (or add that line if it's not there)." - -#: src\chart-standard/unlock_video/index.md:18 -msgid "重新导入你的谱面。" -msgstr "Re-import your chart." - -#: src\event/index.md:1 -#, fuzzy -msgid "Phira 活动说明" -msgstr "Phira-docs Instruction" - -#: src\event/index.md:3 -msgid "" -"Phira 已经成功~~(存疑)~~举办了一些活动, 本文主要介绍在目前的项目结构下, " -"Phira 活动相关的机制" -msgstr "" - -#: src\event/index.md:5 -msgid "基础概念" -msgstr "" - -#: src\event/index.md:7 -#, fuzzy -msgid "活动" -msgstr "Event Template" - -#: src\event/index.md:9 -msgid "" -"活动和活动页面是一一对应的关系, 活动页面的设计采用 UML 语言, 相关的文档见[此" -"处](../uml/README.md)" -msgstr "" - -#: src\event/index.md:11 -msgid "" -"活动具有一个 `owner`, 通常设置为活动主办方的个人或团体账户, 活动隐藏时仅对服" -"务器管理员和其 `owner` 可见" -msgstr "" - -#: src\event/index.md:13 -msgid "" -"活动还具有起始时间, 开始时间前活动可见但无法参与, 在开始时间服务器会向全服务" -"器玩家发送游戏内消息告知活动已开始, 结束时间后活动无法报名参加" -msgstr "" - -#: src\event/index.md:15 -msgid "活动可以锁定, 锁定后所有人均无法报名参加, 但不影响可见性" -msgstr "" - -#: src\event/index.md:17 -msgid "活动参加后会产生排行榜, 具体运算规则需要单独设置, 一般保持活动锁定" -msgstr "" - -#: src\event/index.md:19 -#, fuzzy -msgid "谱面合集" -msgstr "Chart Collection Element `col`" - -#: src\event/index.md:21 -msgid "实际上谱面合集可以任意创建, 与活动关联并不紧密" -msgstr "" - -#: src\event/index.md:23 -msgid "" -"活动页面中可以引用一个或多个谱面合集, 谱面合集中的谱面不会受到 `hidden` 等字" -"段的限制, 总是对所有玩家可见" -msgstr "" - -#: src\event/index.md:25 -msgid "举办活动" -msgstr "" - -#: src\event/index.md:27 -msgid "" -"要举办一次活动, 活动主办方需要向 TeamFlos 时任社区管理员或指定外部联络人员(下" -"称对接人员)提供相关材料, 具体为" -msgstr "" - -#: src\event/index.md:29 -msgid "活动流程, 或活动策划大纲" -msgstr "" - -#: src\event/index.md:30 -msgid "活动页面设计 UML 源码" -msgstr "" - -#: src\event/index.md:31 -msgid "" -"活动页面设计中用到的美术素材(考虑到服务器负载和可用性等问题, 推荐采用 self " -"host 的方式, 向 TeamFlos 提供的源码中包含相关素材的 URL 即可)" -msgstr "" - -#: src\event/index.md:32 -msgid "活动需要利用的谱面合集与其包含相应的谱面" -msgstr "" - -#: src\event/index.md:34 -msgid "在此基础上有额外需求请和对接人员确认, 以便及时进行可行性评估。" -msgstr "" - -#: src\uml\index.md:1 -msgid "UML 文档" -msgstr "UML documentation" - -#: src\uml\index.md:3 -msgid "UML 文件是 UI 描述文件, 可以用来创建于代码解耦的可定制界面." -msgstr "UML 文件是 UI 描述文件, 可以用来创建于代码解耦的可定制界面." - -#: src\uml/syntax\index.md:3 -msgid "" -"UML 文件格式是纯文本的人类可读格式. UML 由 Element(元素), 注释和变量定义语句" -"构成, 每个元素占据一或多行." -msgstr "" -"UML 文件格式是纯文本的人类可读格式. UML 由 Element(元素), 注释和变量定义语句" -"构成, 每个元素占据一或多行." - -#: src\uml/syntax/coordinate.md:3 -msgid "坐标原点在进入活动页后下滑一屏后的左上角处, `x` 轴向右, `y` 轴向下." -msgstr "坐标原点在进入活动页后下滑一屏后的左上角处, `x` 轴向右, `y` 轴向下." - -#: src\uml/syntax/coordinate.md:5 -msgid "" -"屏幕宽度总是 `2`, 可以通过宽高比计算屏幕高度, 参见[内置变量](./variable.md#内" -"置变量)." -msgstr "" -"屏幕宽度总是 `2`, 可以通过宽高比计算屏幕高度, 参见[内置变量](./variable.md#内" -"置变量)." - -#: src\uml/syntax/type.md:3 -msgid "UML 中有如下数据类型:" -msgstr "UML 中有如下数据类型:" - -#: src\uml/syntax/type.md:5 -msgid "`Float`" -msgstr "`Float`" - -#: src\uml/syntax/type.md:7 -msgid "单精度浮点数, 任意的数字都是 `Float`." -msgstr "单精度浮点数, 任意的数字都是 `Float`." - -#: src\uml/syntax/type.md:9 -msgid "`Rect`" -msgstr "`Rect`" - -#: src\uml/syntax/type.md:11 -msgid "" -"矩形. 由 `[left, top, width, height]`(分别是左上角 `x` 坐标, 左上角 `y` 坐" -"标, 矩形宽度, 矩形高度)定义." -msgstr "" -"矩形. 由 `[left, top, width, height]`(分别是左上角 `x` 坐标, 左上角 `y` 坐" -"标, 矩形宽度, 矩形高度)定义." - -#: src\uml/syntax/type.md:13 -msgid "`Rect` 在定义后可以访问一些只读属性, 具体包括:" -msgstr "`Rect` 在定义后可以访问一些只读属性, 具体包括:" - -#: src\uml/syntax/type.md:15 -msgid "`Rect.l` 或 `Rect.x`: 左上角 `x` 坐标" -msgstr "`Rect.l` 或 `Rect.x`: 左上角 `x` 坐标" - -#: src\uml/syntax/type.md:16 -msgid "`Rect.t` 或 `Rect.y`: 左上角 `y` 坐标" -msgstr "`Rect.t` 或 `Rect.y`: 左上角 `y` 坐标" - -#: src\uml/syntax/type.md:17 -msgid "`Rect.w`: 矩形宽度" -msgstr "`Rect.w`: 矩形宽度" - -#: src\uml/syntax/type.md:18 -msgid "`Rect.h`: 矩形高度" -msgstr "`Rect.h`: 矩形高度" - -#: src\uml/syntax/type.md:19 -msgid "`Rect.r`: 右下角 `x` 坐标" -msgstr "`Rect.r`: 右下角 `x` 坐标" - -#: src\uml/syntax/type.md:20 -msgid "`Rect.b`: 右下角 `y` 坐标" -msgstr "`Rect.b`: 右下角 `y` 坐标" - -#: src\uml/syntax/type.md:21 -msgid "`Rect.cx`: 中心 `x` 坐标" -msgstr "`Rect.cx`: 中心 `x` 坐标" - -#: src\uml/syntax/type.md:22 -msgid "`Rect.cy`: 中心 `y` 坐标" -msgstr "`Rect.cy`: 中心 `y` 坐标" - -#: src\uml/syntax/type.md:24 -msgid "`Bool`" -msgstr "`Bool`" - -#: src\uml/syntax/type.md:26 -msgid "布尔值. 值是 `true` 或 `false`, 目前只能用于元素的属性中." -msgstr "布尔值. 值是 `true` 或 `false`, 目前只能用于元素的属性中." - -#: src\uml/syntax/type.md:28 -msgid "`String`" -msgstr "`String`" - -#: src\uml/syntax/type.md:30 -msgid "字符串. 用双引号括起来的文本, 用于表示按钮行为, 颜色, URL, 具体如下:" -msgstr "字符串. 用双引号括起来的文本, 用于表示按钮行为, 颜色, URL, 具体如下:" - -#: src\uml/syntax/type.md:32 -msgid "" -"`Color`: 颜色. 可以是十六进制 RGB 或 ARGB 颜色值(如 `\"#ff0000\"` 或 " -"`\"#7fffffff\"`)或颜色名(如 `\"red\"`). 目前可用的颜色名有:" -msgstr "" -"`Color`: 颜色. 可以是十六进制 RGB 或 ARGB 颜色值(如 `\"#ff0000\"` 或 " -"`\"#7fffffff\"`)或颜色名(如 `\"red\"`). 目前可用的颜色名有:" - -#: src\uml/syntax/type.md:33 -msgid "`\"white\"`" -msgstr "`\"white\"`" - -#: src\uml/syntax/type.md:34 -msgid "`\"black\"`" -msgstr "`\"black\"`" - -#: src\uml/syntax/type.md:35 -msgid "`\"red\"`" -msgstr "`\"red\"`" - -#: src\uml/syntax/type.md:36 -msgid "`\"blue\"`" -msgstr "`\"blue\"`" - -#: src\uml/syntax/type.md:37 -msgid "`\"yellow\"`" -msgstr "`\"yellow\"`" - -#: src\uml/syntax/type.md:38 -msgid "`\"green\"`" -msgstr "`\"green\"`" - -#: src\uml/syntax/type.md:39 -msgid "`\"gray\"`" -msgstr "`\"gray\"`" - -#: src\uml/syntax/type.md:40 -msgid "`Action`: 按钮行为. 可用的值有:" -msgstr "`Action`: 按钮行为. 可用的值有:" - -#: src\uml/syntax/type.md:41 -msgid "`\"join\"`: 参与该活动" -msgstr "`\"join\"`: 参与该活动" - -#: src\uml/syntax/type.md:42 -msgid "`\"open:url\"`: 打开指定 URL" -msgstr "`\"open:url\"`: Opens the specified URL" - -#: src\uml/syntax/type.md:43 -msgid "`URL`: 网址" -msgstr "`URL`: 网址" - -#: src\uml/syntax/expression.md:3 -msgid "" -"表达式是由 `Float`, 变量, 运算符和函数组成的. 表达式经过计算是 `Float` 类型的" -"值." -msgstr "" -"表达式是由 `Float`, 变量, 运算符和函数组成的. 表达式经过计算是 `Float` 类型的" -"值." - -#: src\uml/syntax/expression.md:5 -msgid "运算符" -msgstr "Operators" - -#: src\uml/syntax/expression.md:7 -msgid "可以使用的运算符有:" -msgstr "The operators that can be used are:" - -#: src\uml/syntax/expression.md:9 -msgid "`+`: 加法" -msgstr "`+`: Addition" - -#: src\uml/syntax/expression.md:10 -msgid "`-`: 减法" -msgstr "`-`: Subtraction" - -#: src\uml/syntax/expression.md:11 -msgid "`*`: 乘法" -msgstr "`*`: Multiplication" - -#: src\uml/syntax/expression.md:12 -msgid "`/`: 除法" -msgstr "`/`: Division" - -#: src\uml/syntax/expression.md:13 -msgid "`()`: 括号, 用于改变运算顺序" -msgstr "`()`: Parentheses, used to change the order of operations" - -#: src\uml/syntax/expression.md:14 -msgid "`==`: 是否等于, 成立时值为 `1`, 否则为 `0`" -msgstr "`==`: Is equal to, `1` if true, `0` otherwise." - -#: src\uml/syntax/expression.md:15 -msgid "`!=`: 是否不等于, 成立时值为 `1`, 否则为 `0`" -msgstr "`! =`: If not equal, value is `1` if true, `0` otherwise." - -#: src\uml/syntax/expression.md:16 -msgid "`>`: 是否大于, 成立时值为 `1`, 否则为 `0`" -msgstr "`>`: Is more than, `1` if true, `0` otherwise." - -#: src\uml/syntax/expression.md:17 -msgid "`<`: 是否小于, 成立时值为 `1`, 否则为 `0`" -msgstr "`<`: Is less than, `1` if true, `0` otherwise." - -#: src\uml/syntax/expression.md:18 -msgid "`>=`: 是否大于等于, 成立时值为 `1`, 否则为 `0`" -msgstr "`>=`: Is more than or equal to, `1` if true, `0` otherwise." - -#: src\uml/syntax/expression.md:19 -msgid "`<=`: 是否小于等于, 成立时值为 `1`, 否则为 `0`" -msgstr "`<=`: Is less than or equal to, `1` if true, `0` otherwise." - -#: src\uml/syntax/expression.md:21 -msgid "函数" -msgstr "函数" - -#: src\uml/syntax/expression.md:23 -msgid "可以使用的函数有:" -msgstr "可以使用的函数有:" - -#: src\uml/syntax/expression.md:25 -msgid "`sin(x)`: 正弦函数" -msgstr "`sin(x)`: 正弦函数" - -#: src\uml/syntax/expression.md:26 -msgid "`cos(x)`: 余弦函数" -msgstr "`cos(x)`: 余弦函数" - -#: src\uml/syntax/expression.md:27 -msgid "`tan(x)`: 正切函数" -msgstr "`tan(x)`: 正切函数" - -#: src\uml/syntax/expression.md:28 -msgid "`abs(x)`: 绝对值函数" -msgstr "`abs(x)`: Absolute value function" - -#: src\uml/syntax/expression.md:29 -msgid "`exp(x)`: 指数函数" -msgstr "`exp(x)`: 指数函数" - -#: src\uml/syntax/expression.md:30 -msgid "`atan2(x)`: 反正切函数" -msgstr "`atan2(x)`: 反正切函数" - -#: src\uml/syntax/expression.md:31 -msgid "`ln(x)`: 自然对数函数" -msgstr "`ln(x)`: 自然对数函数" - -#: src\uml/syntax/expression.md:32 -msgid "" -"`sig(x)`: 符号函数, `x` 为 `+0` 或正数时返回 `1`, 为 `-0` 或负数时返回 `-1`" -msgstr "" -"`sig(x)`: 符号函数, `x` 为 `+0` 或正数时返回 `1`, 为 `-0` 或负数时返回 `-1`" - -#: src\uml/syntax/expression.md:33 -msgid "`step(x, y)`: 阶跃函数, `x < y` 为 `0` 时返回 `1`, 否则返回 `0`" -msgstr "`step(x, y)`: 阶跃函数, `x < y` 为 `0` 时返回 `1`, 否则返回 `0`" - -#: src\uml/syntax/expression.md:34 -msgid "`floor(x)`: 向下取整函数" -msgstr "`floor(x)`: 向下取整函数" - -#: src\uml/syntax/expression.md:35 -msgid "`ceil(x)`: 向上取整函数" -msgstr "`ceil(x)`: 向上取整函数" - -#: src\uml/syntax/expression.md:36 -msgid "`round(x)`: 四舍五入函数" -msgstr "`round(x)`: 四舍五入函数" - -#: src\uml/syntax/expression.md:37 -msgid "`max(x, y...)`: 最大值函数" -msgstr "`max(x, y...)`: 最大值函数" - -#: src\uml/syntax/expression.md:38 -msgid "`min(x, y...)`: 最小值函数" -msgstr "`min(x, y...)`: 最小值函数" - -#: src\uml/syntax/expression.md:39 -msgid "`clamp(x, min, max)`: 将 `x` 限制在 `min` 和 `max` 之间" -msgstr "`clamp(x, min, max)`: 将 `x` 限制在 `min` 和 `max` 之间" - -#: src\uml/syntax/expression.md:41 -msgid "其中三角函数和反三角函数使用弧度制." -msgstr "其中三角函数和反三角函数使用弧度制." - -#: src\uml/syntax/variable.md:3 -msgid "变量是 UML 中可以被读取或者写入的值, 定义方式如下:" -msgstr "变量是 UML 中可以被读取或者写入的值, 定义方式如下:" - -#: src\uml/syntax/variable.md:9 -msgid "" -"定义一个变量 `name`, 其值为 `value`. `value` 可以是 `Float` 或 `Rect` 类型的" -"值, 或结果是 `Float` 或 `Rect` 类型的表达式." -msgstr "" -"定义一个变量 `name`, 其值为 `value`. `value` 可以是 `Float` 或 `Rect` 类型的" -"值, 或结果是 `Float` 或 `Rect` 类型的表达式." - -#: src\uml/syntax/variable.md:11 -msgid "" -"变量可以被重复定义, 但只有最后一次定义的值会被使用. 定义变量后, 你可以在新建" -"元素或定义其他变量时使用这个变量." -msgstr "" -"变量可以被重复定义, 但只有最后一次定义的值会被使用. 定义变量后, 你可以在新建" -"元素或定义其他变量时使用这个变量." - -#: src\uml/syntax/variable.md:15 -msgid "UML 内置了如下变量:" -msgstr "UML 内置了如下变量:" - -#: src\uml/syntax/variable.md:17 -msgid "`t`: 当前时间, 单位为秒" -msgstr "`t`: 当前时间, 单位为秒" - -#: src\uml/syntax/variable.md:18 -msgid "`top`: 实际高度与实际宽度之比" -msgstr "`top`: 实际高度与实际宽度之比" - -#: src\uml/syntax/variable.md:19 -msgid "`o`: 滑动距离" -msgstr "`o`: 滑动距离" - -#: src\uml/syntax/variable.md:20 -msgid "`joined`: 是否已经参与了该活动, 参与了时值为 `1`, 否则为 `0`" -msgstr "`joined`: 是否已经参与了该活动, 参与了时值为 `1`, 否则为 `0`" - -#: src\uml/syntax/variable.md:21 -msgid "`$h`: 用户能滚动的最大高度, 通过设置该变量的值来限制用户的滚动范围" -msgstr "" -"`$h`: The maximum height that the user can scroll, limit the user's " -"scrolling range by setting the value of this variable" - -#: src\uml/syntax/variable.md:23 -msgid "" -"UML 并不具备事件功能, 可以利用 `t`, `o` 和[按钮](./elements/btn.md)的按下时刻" -"来为页面添加动态效果, 如动画, 换页等." -msgstr "" -"UML 并不具备事件功能, 可以利用 `t`, `o` 和[按钮](./elements/btn.md)的按下时刻" -"来为页面添加动态效果, 如动画, 换页等." - -#: src\uml/syntax/variable.md:25 -msgid "全局变量" -msgstr "全局变量" - -#: src\uml/syntax/variable.md:27 -msgid "" -"全局变量是在 UML 文件的任何地方都可以被读取或者写入的变量. 全局变量的定义方式" -"如下:" -msgstr "" -"全局变量是在 UML 文件的任何地方都可以被读取或者写入的变量. 全局变量的定义方式" -"如下:" - -#: src\uml/syntax/variable.md:33 -msgid "" -"其中, `type` 只能为 `btn`. 此后, 你仍然可以通过 `let` 的方式写入全局变量, 只" -"有最后一次定义的值会被使用." -msgstr "" -"其中, `type` 只能为 `btn`. 此后, 你仍然可以通过 `let` 的方式写入全局变量, 只" -"有最后一次定义的值会被使用." - -#: src\uml/syntax/variable.md:35 -msgid "" -"活动界面在每一帧都会被重画, 这意味着 UML 在每一帧都会重新计算所有变量的值." -msgstr "" -"活动界面在每一帧都会被重画, 这意味着 UML 在每一帧都会重新计算所有变量的值." - -#: src\uml/syntax/variable.md:37 -msgid "" -"但[按钮](./elements/btn.md)的一些属性需要在帧之间保持不变, 因此需要使用全局变" -"量." -msgstr "" -"但[按钮](./elements/btn.md)的一些属性需要在帧之间保持不变, 因此需要使用全局变" -"量." - -#: src\uml/syntax/element.md:3 -msgid "元素是活动界面中的可视或可交互的对象, 定义方式如下:" -msgstr "元素是活动界面中的可视或可交互的对象, 定义方式如下:" - -#: src\uml/syntax/element.md:9 -msgid "" -"其中, `type` 为元素的类型, `attrN` 和 `valueN` 分别为属性名称和属性值. 不同类" -"型的元素的属性也各不相同, 其中一些是必填, 会在介绍元素时具体标注." -msgstr "" -"其中, `type` 为元素的类型, `attrN` 和 `valueN` 分别为属性名称和属性值. 不同类" -"型的元素的属性也各不相同, 其中一些是必填, 会在介绍元素时具体标注." - -#: src\uml/syntax/element.md:11 -msgid "" -"元素的 `id` 属性为所有元素共有的可选属性, 在元素被定义后, 其 `id` 属性将自动" -"对应一个表示该元素绘制范围的 `Rect` 变量." -msgstr "" -"元素的 `id` 属性为所有元素共有的可选属性, 在元素被定义后, 其 `id` 属性将自动" -"对应一个表示该元素绘制范围的 `Rect` 变量." - -#: src\uml/syntax/element.md:13 -msgid "" -"后面的 `{ Hello }` 是可选内容, 代表该元素的文字内容. 只对 `p`(段落元素)生效." -msgstr "" -"后面的 `{ Hello }` 是可选内容, 代表该元素的文字内容. 只对 `p`(段落元素)生效." - -#: src\uml/syntax/elements/p.md:9 src\uml/syntax/elements/img.md:7 -#: src\uml/syntax/elements/col.md:7 src\uml/syntax/elements/btn.md:7 -msgid "`id`(选填): 元素 ID" -msgstr "`id`(选填): 元素 ID" - -#: src\uml/syntax/elements/p.md:10 -msgid "`x`(选填, 默认为 `0`): 文本 `x` 坐标" -msgstr "`x`(选填, 默认为 `0`): 文本 `x` 坐标" - -#: src\uml/syntax/elements/p.md:11 -msgid "`y`(选填, 默认为 `0`): 文本 `y` 坐标" -msgstr "`y`(选填, 默认为 `0`): 文本 `y` 坐标" - -#: src\uml/syntax/elements/p.md:12 -msgid "" -"`ax`(选填, 默认为 `0`): 文本横向对齐, `[0, 1]` 间的浮点数. 为 `0` 时, 按照 " -"`x` 坐标左对齐, 为 `1` 时右对齐, `0.5` 时居中" -msgstr "" -"`ax`(选填, 默认为 `0`): 文本横向对齐, `[0, 1]` 间的浮点数. 为 `0` 时, 按照 " -"`x` 坐标左对齐, 为 `1` 时右对齐, `0.5` 时居中" - -#: src\uml/syntax/elements/p.md:13 -msgid "`ay`(选填, 默认为 `0`): 文本纵向对齐, 具体意义同上" -msgstr "`ay`(选填, 默认为 `0`): 文本纵向对齐, 具体意义同上" - -#: src\uml/syntax/elements/p.md:14 -msgid "`size`(选填, 默认为 `1`): 文本大小" -msgstr "`size`(选填, 默认为 `1`): 文本大小" - -#: src\uml/syntax/elements/p.md:15 -msgid "" -"`ml`(选填, 默认为 `false`): 文本是否多行渲染, 只在设置了 `mw` 的条件下有效" -msgstr "" -"`ml`(选填, 默认为 `false`): 文本是否多行渲染, 只在设置了 `mw` 的条件下有效" - -#: src\uml/syntax/elements/p.md:16 -msgid "" -"`mw`(选填): 文本最大宽度. 在单行模式下, 超出范围的文本将被省略;多行模式下将" -"自动换行" -msgstr "" -"`mw`(选填): 文本最大宽度. 在单行模式下, 超出范围的文本将被省略;多行模式下将" -"自动换行" - -#: src\uml/syntax/elements/p.md:17 -msgid "`bl`(选填, 默认为 `true`): 纵向对齐时是否按照基准线对齐" -msgstr "`bl`(选填, 默认为 `true`): 纵向对齐时是否按照基准线对齐" - -#: src\uml/syntax/elements/p.md:18 -msgid "`c`(选填, 默认为 `\"white\"`): 文本颜色" -msgstr "`c`(选填, 默认为 `\"white\"`): 文本颜色" - -#: src\uml/syntax/elements/p.md:19 -msgid "`Text`(必填): 文本内容" -msgstr "`Text`(必填): 文本内容" - -#: src\uml/syntax/elements/p.md:21 -msgid "" -"`p` 的位置并不通过完整的矩形来定义, 但你仍可以用 `p` 的 `id` 属性来获取其矩形" -"区域." -msgstr "" -"`p` 的位置并不通过完整的矩形来定义, 但你仍可以用 `p` 的 `id` 属性来获取其矩形" -"区域." - -#: src\uml/syntax/elements/img.md:8 -msgid "`url`(必填): 图片 URL, 用双引号括起来" -msgstr "`url`(必填): 图片 URL, 用双引号括起来" - -#: src\uml/syntax/elements/img.md:9 -msgid "`r`(必填): 图片显示的位置矩形, 类型为 `Rect`" -msgstr "`r`(必填): 图片显示的位置矩形, 类型为 `Rect`" - -#: src\uml/syntax/elements/img.md:10 -msgid "" -"`c`(选填, 默认为 `\"white\"`): 在图片上叠加的颜色. 若颜色半透明, 图片也会半透" -"明" -msgstr "" -"`c`(选填, 默认为 `\"white\"`): 在图片上叠加的颜色. 若颜色半透明, 图片也会半透" -"明" - -#: src\uml/syntax/elements/img.md:11 -msgid "`t`(选填, 默认为 `cropCenter`): 图片的裁剪方式. 可选值有:" -msgstr "`t`(选填, 默认为 `cropCenter`): 图片的裁剪方式. 可选值有:" - -#: src\uml/syntax/elements/img.md:12 -msgid "`cropCenter`: 保持图片比例, 从图片中心裁剪,保证 `r` 被完全填满" -msgstr "`cropCenter`: 保持图片比例, 从图片中心裁剪,保证 `r` 被完全填满" - -#: src\uml/syntax/elements/img.md:13 -msgid "`inside`: 保持图片比例, 使图片完全显示在 `r` 中" -msgstr "`inside`: 保持图片比例, 使图片完全显示在 `r` 中" - -#: src\uml/syntax/elements/img.md:14 -msgid "`fit`: 拉伸为 `r` 的大小" -msgstr "`fit`: 拉伸为 `r` 的大小" - -#: src\uml/syntax/elements/col.md:8 -msgid "`cid`(必填): 谱面合集 ID" -msgstr "`cid`(必填): 谱面合集 ID" - -#: src\uml/syntax/elements/col.md:9 -msgid "`r`(必填): 谱面合集显示的位置矩形, 类型为 `Rect`" -msgstr "`r`(必填): 谱面合集显示的位置矩形, 类型为 `Rect`" - -#: src\uml/syntax/elements/col.md:10 -msgid "`rn`(选填, 默认为 `4`): 一行显示的谱面数" -msgstr "`rn`(选填, 默认为 `4`): 一行显示的谱面数" - -#: src\uml/syntax/elements/col.md:11 -msgid "`rh`(选填, 默认为 `0.3`): 谱面高度" -msgstr "`rh`(选填, 默认为 `0.3`): 谱面高度" - -#: src\uml/syntax/elements/btn.md:8 -msgid "`r`(必填): 按钮显示的位置矩形, 类型为 `Rect`" -msgstr "`r`(必填): 按钮显示的位置矩形, 类型为 `Rect`" - -#: src\uml/syntax/elements/btn.md:9 -msgid "" -"`action`(选填): 按钮的点击行为, 可用的值参见[数据类型](../type.md#数据类型)" -msgstr "" -"`action`(选填): 按钮的点击行为, 可用的值参见[数据类型](../type.md#数据类型)" - -#: src\uml/syntax/elements/btn.md:11 -msgid "" -"在元素被定义后, 其 `id` 属性除了表示该元素绘制范围的 `Rect` 变量, 还具有以下" -"属性:" -msgstr "" -"在元素被定义后, 其 `id` 属性除了表示该元素绘制范围的 `Rect` 变量, 还具有以下" -"属性:" - -#: src\uml/syntax/elements/btn.md:13 -msgid "`id.pressing`: 按钮是否正在被按下, 被按下时值为 `1`, 否则为 `0`" -msgstr "`id.pressing`: 按钮是否正在被按下, 被按下时值为 `1`, 否则为 `0`" - -#: src\uml/syntax/elements/btn.md:14 -msgid "`id.last`: 按钮上次被按下的时刻, 从未被按下时值为 `-1`" -msgstr "`id.last`: 按钮上次被按下的时刻, 从未被按下时值为 `-1`" - -#: src\uml/syntax/elements/btn.md:15 -msgid "`id.count`: 按钮被按下的次数" -msgstr "`id.count`: 按钮被按下的次数" - -#: src\uml/syntax/comment.md:4 -msgid "" -"你可以用 `#` 开头的行添加注释, 除了部分特殊格式的注释([注释表达式](./" -"comment_expression.md)), 注释不会被执行, 可以用来提示当前代码的作用." -msgstr "" -"你可以用 `#` 开头的行添加注释, 除了部分特殊格式的注释([注释表达式](./" -"comment_expression.md)), 注释不会被执行, 可以用来提示当前代码的作用." - -#: src\uml/syntax/comment.md:6 -msgid "注释行在 `#` 后至少有一个字符, 否则会导致报错." -msgstr "注释行在 `#` 后至少有一个字符, 否则会导致报错." - -#: src\uml/syntax/comment_expression.md:3 -msgid "" -"注释表达式是一种特殊的注释, 它是为了兼容旧版本设计的, 可以被执行的注释. 注释" -"表达式的格式如下:" -msgstr "" -"注释表达式是一种特殊的注释, 它是为了兼容旧版本设计的, 可以被执行的注释. 注释" -"表达式的格式如下:" - -#: src\uml/syntax/comment_expression.md:9 -msgid "" -"其中, `exp` 表示该表达式的类型, 括号内的是该表达式的属性, 是可选内容, " -"`attrN` 和 `valueN` 分别为属性名称和属性值. 不同类型的表达式的属性也各不相" -"同, 其中一些是必填, 会在介绍表达式时具体标注." -msgstr "" -"其中, `exp` 表示该表达式的类型, 括号内的是该表达式的属性, 是可选内容, " -"`attrN` 和 `valueN` 分别为属性名称和属性值. 不同类型的表达式的属性也各不相" -"同, 其中一些是必填, 会在介绍表达式时具体标注." - -#: src\uml/syntax/comment_expression.md:11 -msgid "下面逐个介绍各类型的注释表达式:" -msgstr "下面逐个介绍各类型的注释表达式:" - -#: src\uml/syntax/comment_expression.md:13 -msgid "结束表达式 `#>pop`" -msgstr "结束表达式 `#>pop`" - -#: src\uml/syntax/comment_expression.md:19 -msgid "" -"注释表达式以行为单位, 作用于数行内的元素, 变量等, 其作用范围是从表达式所在行" -"开始到下一个 `#>pop` 表达式所在行结束. 因此, 多数其他表达式后面都必须跟一个 " -"`#>pop` 表达式, 表示结束当前表达式的作用范围." -msgstr "" -"注释表达式以行为单位, 作用于数行内的元素, 变量等, 其作用范围是从表达式所在行" -"开始到下一个 `#>pop` 表达式所在行结束. 因此, 多数其他表达式后面都必须跟一个 " -"`#>pop` 表达式, 表示结束当前表达式的作用范围." - -#: src\uml/syntax/comment_expression.md:21 -msgid "旋转表达式 `#>rot`" -msgstr "旋转表达式 `#>rot`" - -#: src\uml/syntax/comment_expression.md:27 -msgid "`angle`(必填): 旋转角度, 单位为弧度" -msgstr "`angle`(必填): 旋转角度, 单位为弧度" - -#: src\uml/syntax/comment_expression.md:28 -msgid "`cx`(必填): 旋转中心 `x` 坐标" -msgstr "`cx`(必填): 旋转中心 `x` 坐标" - -#: src\uml/syntax/comment_expression.md:29 -msgid "`cy`(必填): 旋转中心 `y` 坐标" -msgstr "`cy`(必填): 旋转中心 `y` 坐标" - -#: src\uml/syntax/comment_expression.md:31 -msgid "平移表达式 `#>tr`" -msgstr "平移表达式 `#>tr`" - -#: src\uml/syntax/comment_expression.md:37 -msgid "`dx`(选填, 默认为 `0`): 横向平移距离" -msgstr "`dx`(选填, 默认为 `0`): 横向平移距离" - -#: src\uml/syntax/comment_expression.md:38 -msgid "`dy`(选填, 默认为 `0`): 纵向平移距离" -msgstr "`dy`(选填, 默认为 `0`): 纵向平移距离" - -#: src\uml/syntax/comment_expression.md:40 -msgid "透明度表达式 `#>alpha`" -msgstr "透明度表达式 `#>alpha`" - -#: src\uml/syntax/comment_expression.md:46 -msgid "" -"`a`(选填, 默认为 `0`): 透明度, 取值范围为 `[0, 1]`, `0` 为完全透明, `1` 为完" -"全不透明" -msgstr "" -"`a`(optional, default `0`): transparency, range is `[0, 1]`, `0` is fully " -"transparent, `1` is fully opaque." - -#: src\uml/syntax/comment_expression.md:48 -msgid "矩阵表达式 `#>mat`" -msgstr "矩阵表达式 `#>mat`" - -#: src\uml/syntax/comment_expression.md:54 -msgid "`x00`(选填, 默认为 `0`): 矩阵第一行第一列的值" -msgstr "`x00`(选填, 默认为 `0`): 矩阵第一行第一列的值" - -#: src\uml/syntax/comment_expression.md:55 -msgid "`x01`(选填, 默认为 `0`): 矩阵第一行第二列的值" -msgstr "`x01`(选填, 默认为 `0`): 矩阵第一行第二列的值" - -#: src\uml/syntax/comment_expression.md:56 -msgid "`x02`(选填, 默认为 `0`): 矩阵第一行第三列的值" -msgstr "`x02`(选填, 默认为 `0`): 矩阵第一行第三列的值" - -#: src\uml/syntax/comment_expression.md:57 -msgid "`x03`(选填, 默认为 `0`): 矩阵第一行第四列的值" -msgstr "`x03`(选填, 默认为 `0`): 矩阵第一行第四列的值" - -#: src\uml/syntax/comment_expression.md:58 -msgid "`x10`(选填, 默认为 `0`): 矩阵第二行第一列的值" -msgstr "`x10`(选填, 默认为 `0`): 矩阵第二行第一列的值" - -#: src\uml/syntax/comment_expression.md:59 -msgid "`x11`(选填, 默认为 `0`): 矩阵第二行第二列的值" -msgstr "`x11`(选填, 默认为 `0`): 矩阵第二行第二列的值" - -#: src\uml/syntax/comment_expression.md:60 -msgid "`x12`(选填, 默认为 `0`): 矩阵第二行第三列的值" -msgstr "`x12`(选填, 默认为 `0`): 矩阵第二行第三列的值" - -#: src\uml/syntax/comment_expression.md:61 -msgid "`x13`(选填, 默认为 `0`): 矩阵第二行第四列的值" -msgstr "`x13`(选填, 默认为 `0`): 矩阵第二行第四列的值" - -#: src\uml/syntax/comment_expression.md:62 -msgid "`x20`(选填, 默认为 `0`): 矩阵第三行第一列的值" -msgstr "`x20`(选填, 默认为 `0`): 矩阵第三行第一列的值" - -#: src\uml/syntax/comment_expression.md:63 -msgid "`x21`(选填, 默认为 `0`): 矩阵第三行第二列的值" -msgstr "`x21`(选填, 默认为 `0`): 矩阵第三行第二列的值" - -#: src\uml/syntax/comment_expression.md:64 -msgid "`x22`(选填, 默认为 `0`): 矩阵第三行第三列的值" -msgstr "`x22`(选填, 默认为 `0`): 矩阵第三行第三列的值" - -#: src\uml/syntax/comment_expression.md:65 -msgid "`x23`(选填, 默认为 `0`): 矩阵第三行第四列的值" -msgstr "`x23`(选填, 默认为 `0`): 矩阵第三行第四列的值" - -#: src\uml/syntax/comment_expression.md:66 -msgid "`x30`(选填, 默认为 `0`): 矩阵第四行第一列的值" -msgstr "`x30`(选填, 默认为 `0`): 矩阵第四行第一列的值" - -#: src\uml/syntax/comment_expression.md:67 -msgid "`x31`(选填, 默认为 `0`): 矩阵第四行第二列的值" -msgstr "`x31`(选填, 默认为 `0`): 矩阵第四行第二列的值" - -#: src\uml/syntax/comment_expression.md:68 -msgid "`x32`(选填, 默认为 `0`): 矩阵第四行第三列的值" -msgstr "`x32`(选填, 默认为 `0`): 矩阵第四行第三列的值" - -#: src\uml/syntax/comment_expression.md:69 -msgid "`x33`(选填, 默认为 `0`): 矩阵第四行第四列的值" -msgstr "`x33`(选填, 默认为 `0`): 矩阵第四行第四列的值" - -#: src\uml/syntax/comment_expression.md:71 -msgid "可以通过矩阵表达式实现元素的缩放, 平移, 旋转等变换." -msgstr "可以通过矩阵表达式实现元素的缩放, 平移, 旋转等变换." - -#: src\uml/syntax/comment_expression.md:73 -msgid "条件表达式 `#>if` 等" -msgstr "条件表达式 `#>if` 等" - -#: src\uml/syntax/comment_expression.md:85 -msgid "" -"`condition`(必填): 条件表达式, 可以是任意表达式, 当值为 `0` 表示假, 否则表示" -"真." -msgstr "" -"`condition`(必填): 条件表达式, 可以是任意表达式, 当值为 `0` 表示假, 否则表示" -"真." - -#: src\uml/syntax/comment_expression.md:87 -msgid "需要注意的是 `#>if` 并不适用 `#>pop` 来结束, 而是使用 `#>fi`." -msgstr "需要注意的是 `#>if` 并不适用 `#>pop` 来结束, 而是使用 `#>fi`." - -#: src\uml/syntax/comment_expression.md:89 -msgid "低版本兼容表达式 `#>if-no-v2`" -msgstr "低版本兼容表达式 `#>if-no-v2`" - -#: src\uml/syntax/comment_expression.md:95 -msgid "" -"如果你的 UML 文件中使用了 V2 版本中没有的特性, 可以在使用这个表达式显示部分元" -"素, 以提示使用低版本的 Phira 客户端的用户尽快升级." -msgstr "" -"如果你的 UML 文件中使用了 V2 版本中没有的特性, 可以在使用这个表达式显示部分元" -"素, 以提示使用低版本的 Phira 客户端的用户尽快升级." - -#: src\uml/syntax/comment_expression.md:97 -msgid "" -"注释表达式是 V2 版本的新功能, 只在 V2 版本中有效, 在 V1 版本中会被当作一般注" -"释忽略. `#if-no-v2` 表达式实际上的作用是忽略其作用范围内的内容." -msgstr "" -"注释表达式是 V2 版本的新功能, 只在 V2 版本中有效, 在 V1 版本中会被当作一般注" -"释忽略. `#if-no-v2` 表达式实际上的作用是忽略其作用范围内的内容." - -#: src\uml/debugging.md:3 -msgid "" -"编译 `phira-main` 时加入参数 `--features event_debug`, 然后在 Phira 客户端可" -"执行文件同目录下新建名为 `test.uml` 的文件. 此后进入任意一个活动, 页面内容将" -"与 `test.uml` 保持实时同步." -msgstr "" -"编译 `phira-main` 时加入参数 `--features event_debug`, 然后在 Phira 客户端可" -"执行文件同目录下新建名为 `test.uml` 的文件. 此后进入任意一个活动, 页面内容将" -"与 `test.uml` 保持实时同步." - -#: src\uml/examples\index.md:3 -msgid "提供了几个 UML 的样例, 可供参考." -msgstr "提供了几个 UML 的样例, 可供参考." - -#: src\uml/examples/template_event.md:3 -#, fuzzy -msgid "" -"此文件为 sjfhsjfh 于 2024-02-07 凌晨为 _2024 羽笙杯_创建的活动文件, 鉴于活动" -"方要求过于抽象, sjfhsjfh 决定写一个仅包含基本功能的页面." -msgstr "" -"此文件为 sjfhsjfh 于 2024-02-07 凌晨为 \\_2024 羽笙杯_创建的活动文件, 鉴于活" -"动方要求过于抽象, sjfhsjfh 决定写一个仅包含基本功能的页面." - -#: src\uml/examples/template_event.md:5 src\uml/examples/xmas-2024.md:5 -msgid "UML 源码" -msgstr "UML 源码" - -#: src\uml/examples/xmas-2024.md:3 -msgid "这是 sjfhsjfh 在" -msgstr "这是 sjfhsjfh 在" - -#: src\uml/examples/xmas-2024.md:7 -msgid "" -"```uml\n" -"let w = 1920\n" -"let h = 1080\n" -"let rh = 2 * top\n" -"\n" -"let bg_rect = [0, 0 - rh + o, 2, rh]\n" -"\n" -"img(id: bg, url: \"https://files-cf.phira.cn/events/xmas-2023-kedmue/bg." -"jpeg\", r: bg_rect, t: cropCenter)\n" -"\n" -"# Back button\n" -"let back_btn_rect = [bg_rect.x + 100 / w * 2, bg_rect.t + 50 / h * rh, -45 / " -"w * 2, 75 / h * 1.18]\n" -"img(id: back_btn_img, url: \"https://files-cf.phira.cn/ltc-arrow.png\", r: " -"back_btn_rect, t: fit)\n" -"btn(id: back_btn, r: back_btn_rect, action: \"exit\")\n" -"\n" -"let chart_h = 0.4 * top\n" -"\n" -"# left-top\n" -"let dx1 = 0.003 * sin(90 * t) + 0.01 * sin(11.5 * (1 + t / 100000) * t)\n" -"let dy1 = 0.004 * sin(87 * t) + 0.008 * sin(11.3 * (1 + t / 10000) * t)\n" -"let s1 = 1 + 0.03 * sin(10 * exp(1.01 * ln(t)) - 2 * t)\n" -"let col_r1 = [bg_rect.l + 0.87 + dx1 + 0.45 * (1 - s1), bg_rect.t + 0.452 * " -"rh + dy1 + chart_h * (1 - s1), 0.45 * s1, chart_h * s1]\n" -"col(id: col_xmas, cid: 12762, r: col_r1, rn: 1, rh: chart_h * s1)\n" -"\n" -"# left-bottom\n" -"let dx2 = 0.003 * sin(89 * t) + 0.01 * sin(12 * (1 + t / 99000) * t)\n" -"let dy2 = 0.004 * sin(88 * t) + 0.0069 * sin(15 * (1 + t / 11000) * t)\n" -"let s2 = 1 + 0.03 * sin(10.45 * exp(0.99 * ln(t)) + t)\n" -"let col_r2 = [bg_rect.l + 1.02 + dx2 + 0.45 * (1 - s2), bg_rect.t + 0.72 * " -"rh + dy2 + chart_h * (1 - s2), 0.45 * s2, chart_h * s2]\n" -"col(id: col_xmas, cid: 12769, r: col_r2, rn: 1, rh: chart_h * s2)\n" -"\n" -"# right-top\n" -"let dx3 = 0.003 * sin(91 * t) + 0.01 * sin(12.5 * (1 + t / 109000) * t)\n" -"let dy3 = 0.0035 * sin(86 * t) + 0.0082 * sin(11.6 * (1 + t / 9900) * t)\n" -"let s3 = 1 + 0.03 * sin(10.2 * exp(1.02 * ln(t)) - 3 * t)\n" -"let col_r3 = [bg_rect.l + 1.42 + dx3 + 0.45 * (1 - s3), bg_rect.t + 0.49 * " -"rh + dy3 + chart_h * (1 - s3), 0.45 * s3, chart_h * s3]\n" -"col(id: col_xmas, cid: 12770, r: col_r3, rn: 1, rh: chart_h * s3)\n" -"\n" -"let $h = 0\n" -"```" -msgstr "" -"```uml\n" -"let w = 1920\n" -"let h = 1080\n" -"let rh = 2 * top\n" -"\n" -"let bg_rect = [0, 0 - rh + o, 2, rh]\n" -"\n" -"img(id: bg, url: \"https://files-cf.phira.cn/events/xmas-2023-kedmue/bg." -"jpeg\", r: bg_rect, t: cropCenter)\n" -"\n" -"# Back button\n" -"let back_btn_rect = [bg_rect.x + 100 / w * 2, bg_rect.t + 50 / h * rh, -45 / " -"w * 2, 75 / h * 1.18]\n" -"img(id: back_btn_img, url: \"https://files-cf.phira.cn/ltc-arrow.png\", r: " -"back_btn_rect, t: fit)\n" -"btn(id: back_btn, r: back_btn_rect, action: \"exit\")\n" -"\n" -"let chart_h = 0.4 * top\n" -"\n" -"# left-top\n" -"let dx1 = 0.003 * sin(90 * t) + 0.01 * sin(11.5 * (1 + t / 100000) * t)\n" -"let dy1 = 0.004 * sin(87 * t) + 0.008 * sin(11.3 * (1 + t / 10000) * t)\n" -"let s1 = 1 + 0.03 * sin(10 * exp(1.01 * ln(t)) - 2 * t)\n" -"let col_r1 = [bg_rect.l + 0.87 + dx1 + 0.45 * (1 - s1), bg_rect.t + 0.452 * " -"rh + dy1 + chart_h * (1 - s1), 0.45 * s1, chart_h * s1]\n" -"col(id: col_xmas, cid: 12762, r: col_r1, rn: 1, rh: chart_h * s1)\n" -"\n" -"# left-bottom\n" -"let dx2 = 0.003 * sin(89 * t) + 0.01 * sin(12 * (1 + t / 99000) * t)\n" -"let dy2 = 0.004 * sin(88 * t) + 0.0069 * sin(15 * (1 + t / 11000) * t)\n" -"let s2 = 1 + 0.03 * sin(10.45 * exp(0.99 * ln(t)) + t)\n" -"let col_r2 = [bg_rect.l + 1.02 + dx2 + 0.45 * (1 - s2), bg_rect.t + 0.72 * " -"rh + dy2 + chart_h * (1 - s2), 0.45 * s2, chart_h * s2]\n" -"col(id: col_xmas, cid: 12769, r: col_r2, rn: 1, rh: chart_h * s2)\n" -"\n" -"# right-top\n" -"let dx3 = 0.003 * sin(91 * t) + 0.01 * sin(12.5 * (1 + t / 109000) * t)\n" -"let dy3 = 0.0035 * sin(86 * t) + 0.0082 * sin(11.6 * (1 + t / 9900) * t)\n" -"let s3 = 1 + 0.03 * sin(10.2 * exp(1.02 * ln(t)) - 3 * t)\n" -"let col_r3 = [bg_rect.l + 1.42 + dx3 + 0.45 * (1 - s3), bg_rect.t + 0.49 * " -"rh + dy3 + chart_h * (1 - s3), 0.45 * s3, chart_h * s3]\n" -"col(id: col_xmas, cid: 12770, r: col_r3, rn: 1, rh: chart_h * s3)\n" -"\n" -"let $h = 0\n" -"```" - -#: src\uml/advanced\index.md:3 -msgid "" -"UML 是一种非常简单的语言, 但是通过组合简单的元素, 我们也能实现一些较为复杂的" -"效果." -msgstr "" -"UML 是一种非常简单的语言, 但是通过组合简单的元素, 我们也能实现一些较为复杂的" -"效果." - -#: src\uml/advanced/page_switch.md:3 -msgid "" -"如果我们希望活动界面包括多个页面, 可以通过在超出屏幕的部分放置其他页面的内" -"容, 并通过整个页面所有元素的移动达到类似页面切换的效果." -msgstr "" -"如果我们希望活动界面包括多个页面, 可以通过在超出屏幕的部分放置其他页面的内" -"容, 并通过整个页面所有元素的移动达到类似页面切换的效果." - -#: src\uml/advanced/page_switch.md:5 -msgid "例如, 我们可以这样放置横纵六个页面的内容:" -msgstr "例如, 我们可以这样放置横纵六个页面的内容:" - -#: src\uml/advanced/page_switch.md:20 -msgid "可以在每个页面的左上角放置一个 `o` 方便计算每个页面上的元素的位置:" -msgstr "可以在每个页面的左上角放置一个 `o` 方便计算每个页面上的元素的位置:" - -#: src\uml/advanced/page_switch.md:25 src\uml/advanced/page_switch.md:28 -#: src\uml/advanced/page_switch.md:31 src\uml/advanced/page_switch.md:34 -#: src\uml/advanced/page_switch.md:38 src\uml/advanced/page_switch.md:43 -#: src\uml/advanced/page_switch.md:242 src\uml/advanced/page_switch.md:245 -#: src\uml/advanced/page_switch.md:248 src\uml/advanced/page_switch.md:251 -#: src\uml/advanced/page_switch.md:255 src\uml/advanced/page_switch.md:260 -msgid "" -"\"https://teamflos.github.io/phira-docs/assets/uml/advanced/page_switch/" -"blank.png\"" -msgstr "" -"\"https://teamflos.github.io/phira-docs/assets/uml/advanced/page_switch/" -"blank.png\"" - -#: src\uml/advanced/page_switch.md:47 -msgid "" -"在以上的定义中, 我们通过 `page_offset_x_n` 和 `page_offset_y_n` 定义了 `o11` " -"的偏移量, 由于其他页面的偏移量都是相对于 `o11` 的, 所以在 `o11` 移动时, 其他" -"页面的元素也会跟着移动." -msgstr "" -"在以上的定义中, 我们通过 `page_offset_x_n` 和 `page_offset_y_n` 定义了 `o11` " -"的偏移量, 由于其他页面的偏移量都是相对于 `o11` 的, 所以在 `o11` 移动时, 其他" -"页面的元素也会跟着移动." - -#: src\uml/advanced/page_switch.md:49 -msgid "" -"此外, 我们还通过 `#>if` 设置了 `o22` 和 `o32` 绘制的时机. 这是为了防止纵向切" -"换后, 用户在活动首屏看到当前页面上方页面的内容. 通过这个值, 我们可以将页面上" -"方的内容移出屏幕." -msgstr "" -"此外, 我们还通过 `#>if` 设置了 `o22` 和 `o32` 绘制的时机. 这是为了防止纵向切" -"换后, 用户在活动首屏看到当前页面上方页面的内容. 通过这个值, 我们可以将页面上" -"方的内容移出屏幕." - -#: src\uml/advanced/page_switch.md:51 -msgid "" -"为了得出这些偏移量的具体值, 我们需要使用定义一些用于切换页面的按钮, 并通过按" -"钮的 `last` 属性计算出偏移量的值." -msgstr "" -"为了得出这些偏移量的具体值, 我们需要使用定义一些用于切换页面的按钮, 并通过按" -"钮的 `last` 属性计算出偏移量的值." - -#: src\uml/advanced/page_switch.md:74 src\uml/advanced/page_switch.md:82 -#: src\uml/advanced/page_switch.md:90 src\uml/advanced/page_switch.md:265 -#: src\uml/advanced/page_switch.md:273 src\uml/advanced/page_switch.md:281 -msgid "" -"\"https://teamflos.github.io/phira-docs/assets/uml/advanced/page_switch/" -"right_arrow.png\"" -msgstr "" -"\"https://teamflos.github.io/phira-docs/assets/uml/advanced/page_switch/" -"right_arrow.png\"" - -#: src\uml/advanced/page_switch.md:78 src\uml/advanced/page_switch.md:86 -#: src\uml/advanced/page_switch.md:94 src\uml/advanced/page_switch.md:269 -#: src\uml/advanced/page_switch.md:277 src\uml/advanced/page_switch.md:285 -msgid "" -"\"https://teamflos.github.io/phira-docs/assets/uml/advanced/page_switch/" -"left_arrow.png\"" -msgstr "" -"\"https://teamflos.github.io/phira-docs/assets/uml/advanced/page_switch/" -"left_arrow.png\"" - -#: src\uml/advanced/page_switch.md:99 src\uml/advanced/page_switch.md:108 -#: src\uml/advanced/page_switch.md:290 src\uml/advanced/page_switch.md:299 -msgid "" -"\"https://teamflos.github.io/phira-docs/assets/uml/advanced/page_switch/" -"up_arrow.png\"" -msgstr "" -"\"https://teamflos.github.io/phira-docs/assets/uml/advanced/page_switch/" -"up_arrow.png\"" - -#: src\uml/advanced/page_switch.md:104 src\uml/advanced/page_switch.md:114 -#: src\uml/advanced/page_switch.md:295 src\uml/advanced/page_switch.md:305 -msgid "" -"\"https://teamflos.github.io/phira-docs/assets/uml/advanced/page_switch/" -"down_arrow.png\"" -msgstr "" -"\"https://teamflos.github.io/phira-docs/assets/uml/advanced/page_switch/" -"down_arrow.png\"" - -#: src\uml/advanced/page_switch.md:119 -msgid "其中按钮 `id` 最后的编号表示按钮所在的页面." -msgstr "其中按钮 `id` 最后的编号表示按钮所在的页面." - -#: src\uml/advanced/page_switch.md:121 -msgid "在定义了按钮后, 我们可以通过按钮的 `last` 属性计算出偏移量的值:" -msgstr "在定义了按钮后, 我们可以通过按钮的 `last` 属性计算出偏移量的值:" - -#: src\uml/advanced/page_switch.md:143 -msgid "关于纵向切换的偏移量,我们可以通过类似的方法计算出." -msgstr "关于纵向切换的偏移量,我们可以通过类似的方法计算出." - -#: src\uml/advanced/page_switch.md:145 -msgid "这样, 我们就完成了页面切换效果." -msgstr "这样, 我们就完成了页面切换效果." - -#: src\uml/advanced/page_switch.md:147 -msgid "完整的 UML 代码如下:" -msgstr "完整的 UML 代码如下:" - -#: src\phira_build_guide\index.md:1 -msgid "构建指南" -msgstr "" - -#: src\phira_build_guide\index.md:2 -msgid "" -"针对安卓手机的Linux便携式开发环境构建:[here](./android_to_linux.md)
" -"Windows:[here](./Windows.md)
Linux:[here](./Linux.md)
~~什么,你说" -"apk?没有Java和kotlin我怎么写啊QAQ~~
" -msgstr "" - -#: src\phira_build_guide/cargo.md:1 -msgid "Cargo 安装" -msgstr "" - -#: src\phira_build_guide/cargo.md:5 -msgid "点击 [这里](https://win.rustup.rs/) 下载构建工具安装程序。" -msgstr "" - -#: src\phira_build_guide/cargo.md:6 -msgid "" -"双击打开 `rustup-init.exe` 后出现安装窗口;输入`2` 然后输入 `y` 然后再次输入 " -"`2` ,然后输入 `x86_64-pc-windows-gnu` ,最后一路回车开始安装,直到输出 " -"`Rust is installed now. Great!`" -msgstr "" - -#: src\phira_build_guide/cargo.md:7 -msgid "**注意:千万不要直接回车安装 MSVC,这在后续构建将会出现大量问题!**" -msgstr "" - -#: src\phira_build_guide/cargo.md:9 -msgid "" -"前往 [MSYS2](https://www.msys2.org/) 官网下载 MSYS2 安装程序,下载完成后双击" -"打开,如无特殊需求,一路下一步即可,直到提示 `Finished the MSYS2 Setup`,点击" -"右下角的按钮后将弹出一个窗口,输入以下指令,安装过程一路回车即可。" -msgstr "" - -#: src\phira_build_guide/cargo.md:10 -msgid "pacman -Sy && pacman -Syu" -msgstr "" - -#: src\phira_build_guide/cargo.md:12 -msgid "pacman -S mingw-w64-x86_64-toolchain" -msgstr "" - -#: src\phira_build_guide/cargo.md:13 -msgid "" -"如果您无法连接到 github,您也可以去 [缓存站](https://www.nuanr-mxi.com/msys." -"exe) 下载 MSYS2, **注意,缓存站只能保证您可以下载,不能高速下载,也不一定是" -"最新版。**" -msgstr "" - -#: src\phira_build_guide/cargo.md:14 -msgid "" -"打开命令提示符(cmd)或 PowerShell,输入 `cargo -V` 检查是否成功安装,若返回" -"版本号则安装成功,若出现其他提示,请见 Windows 常见问题。" -msgstr "" - -#: src\phira_build_guide/cargo.md:15 -msgid "" -"按下图所示,修改环境变量 ![sys_path_I](./sys_path_I.png) ![sys_path_II](./" -"sys_path_II.png) ![sys_path_III](./sys_path_III.png) ![sys_path_IV](./" -"sys_path_IV.png) ![sys_path_V](./sys_path_V.png)" -msgstr "" - -#: src\phira_build_guide/cargo.md:17 -msgid "" -"打开命令提示符(cmd)或 PowerShell,输入 `gcc -v` 检查是否成功安装,若返回版" -"本号则安装成功,若出现其他提示,请见 Windows 常见问题。" -msgstr "" - -#: src\phira_build_guide/cargo.md:19 -msgid "Windows 常见问题" -msgstr "" - -#: src\phira_build_guide/cargo.md:21 -msgid "Q. 双击运行下载成功后的构建工具闪退" -msgstr "" - -#: src\phira_build_guide/cargo.md:23 -msgid "A. 请不要更改文件名" -msgstr "" - -#: src\phira_build_guide/cargo.md:27 -msgid "Debian 分支 Linux 系统" -msgstr "" - -#: src\phira_build_guide/cargo.md:29 -msgid "打开终端,输入以下命令:" -msgstr "" - -#: src\phira_build_guide/cargo.md:30 src\phira_build_guide/Linux.md:15 -msgid "sudo apt update" -msgstr "" - -#: src\phira_build_guide/cargo.md:32 -msgid "sudo apt install cargo -y" -msgstr "" - -#: src\phira_build_guide/cargo.md:33 -msgid "" -"若无报错,输入 `cargo -V` 检查是否输出版本号,若出现其他输出,请见 Linux 常见" -"问题" -msgstr "" - -#: src\phira_build_guide/cargo.md:35 -msgid "其他系统待补充" -msgstr "" - -#: src\phira_build_guide/cargo.md:37 -msgid "Linux 常见问题" -msgstr "" - -#: src\phira_build_guide/cargo.md:39 -msgid "" -"Q. 输入 `cargo` 时输出 `bash: /usr/bin/cargo: No such file or directory` 或 " -"`cargo: command not found`" -msgstr "" - -#: src\phira_build_guide/cargo.md:41 -msgid "A. 未成功安装 cargo,请检查安装完成后是否输出了其他信息。" -msgstr "" - -#: src\phira_build_guide/Windows.md:3 src\phira_build_guide/Linux.md:3 -msgid "准备阶段" -msgstr "" - -#: src\phira_build_guide/Windows.md:5 -msgid "" -"确保系统安装了 cargo,可以在命令提示符(cmd)或者 PowerShell 使用 `cargo -V` " -"检查系统是否安装了 cargo。如果提示以下信息:" -msgstr "" - -#: src\phira_build_guide/Windows.md:6 -msgid "`'cargo' 不是内部或外部命令,也不是可运行的程序或批处理文件。`" -msgstr "" - -#: src\phira_build_guide/Windows.md:7 -msgid "" -"`cargo : 无法将“cargo”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检" -"查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。`" -msgstr "" - -#: src\phira_build_guide/Windows.md:8 -msgid "请点击 [这里](./cargo.md) 按步骤安装构建工具" -msgstr "" - -#: src\phira_build_guide/Windows.md:9 src\phira_build_guide/Linux.md:6 -msgid "从 GitHub 下载源码到本地:" -msgstr "" - -#: src\phira_build_guide/Windows.md:10 -msgid "" -"若您安装了 git 工具,请使用 `git clone https://github.com/TeamFlos/phira." -"git` 将仓库克隆到本地。" -msgstr "" - -#: src\phira_build_guide/Windows.md:11 -msgid "" -"若您没有安装 git 工具,您也可以在 Phira 仓库页面点击 Code 按钮选择 `Download " -"ZIP` 将代码下载到本地,随后将代码解压到本地任意目录。" -msgstr "" - -#: src\phira_build_guide/Windows.md:12 src\phira_build_guide/Linux.md:9 -msgid "" -"**如果您无法连接到 GitHub,您也可以使用 git 加速网站提供的加速地址克隆与下" -"载。**" -msgstr "" - -#: src\phira_build_guide/Windows.md:13 -msgid "" -"**若您要构建指定版本的 Phira,请前往 release 页面在 Assets 中选择下载 " -"`Source code(zip)` 到本地,解压到任意路径即可。**" -msgstr "" - -#: src\phira_build_guide/Windows.md:14 src\phira_build_guide/Linux.md:11 -msgid "" -"**警告:为了防止玄学问题,我们不建议路径中包含除了 ASCII 编码包含字符以外的任" -"何字符。**" -msgstr "" - -#: src\phira_build_guide/Windows.md:15 -msgid "" -"perl,您可以在命令提示符(cmd)或者 PowerShell 使用 `perl -v` 检查系统是否安" -"装了 perl,如果没有,请搜索并打开 `MSYS2 UCRT64` 输入 `pacman -S perl` 安装 " -"perl" -msgstr "" - -#: src\phira_build_guide/Windows.md:16 src\phira_build_guide/Linux.md:12 -msgid "" -"静态库文件,您可以 [直接下载](./prpr-avc.zip) 或者在 [缓存站](https://www." -"nuanr-mxi.com/prpr-avc.zip) 下载静态库文件,下载完成后直接解压到代码根目录" -"下,如果提示覆盖文件,请点击覆盖。" -msgstr "" - -#: src\phira_build_guide/Windows.md:18 src\phira_build_guide/Linux.md:21 -msgid "开始构建" -msgstr "" - -#: src\phira_build_guide/Windows.md:20 src\phira_build_guide/Windows.md:29 -msgid "" -"在命令提示符(cmd)或者 PowerShell 切换到代码根目录(如 `D:\\phira\\` )" -msgstr "" - -#: src\phira_build_guide/Windows.md:21 -msgid "" -"在命令提示符(cmd)或者 PowerShell 使用 `cargo build -r --bin phira-main` ," -"如果不出意外,在 `openssl-sys(build)` 时,您将卡很久很久,请不要退出,这是正" -"常的。" -msgstr "" - -#: src\phira_build_guide/Windows.md:22 src\phira_build_guide/Windows.md:32 -msgid "构建完成后,在 `.\\target\\release\\` 目录下您可以找到编译完成的主程序" -msgstr "" - -#: src\phira_build_guide/Windows.md:23 src\phira_build_guide/Windows.md:33 -msgid "" -"复制 `.\\assets\\` 目录中的所有文件到 `.\\target\\release\\assets\\` ,至此," -"构建流程全部完成,您可以直接运行 `phira-main.exe` 检查资源文件是否完整。" -msgstr "" - -#: src\phira_build_guide/Windows.md:25 src\phira_build_guide/Linux.md:27 -msgid "" -"**注意:在此文档编写时,代码目录下的资源文件并不完整,如果您发现主程序闪退," -"您可以前往 release 页面下载任意版本,获取资源文件**" -msgstr "" - -#: src\phira_build_guide/Windows.md:27 -msgid "32位版本" -msgstr "" - -#: src\phira_build_guide/Windows.md:30 -msgid "下载上面的静态库文件解压到`phira\\prpr-avc\\static-lib`或自行构建" -msgstr "" - -#: src\phira_build_guide/Windows.md:31 -msgid "" -"在命令提示符(cmd)或者 PowerShell 使用 `cargo build --target=i686-pc-" -"windows-gnu --release --package phira-main` ,如果不出意外,在 `openssl-" -"sys(build)` 时,您将卡很久很久,请不要退出,这是正常的。" -msgstr "" - -#: src\phira_build_guide/Windows.md:35 -msgid "有关静态库的构建(以i686-pc-windows-gnu为例)" -msgstr "" - -#: src\phira_build_guide/Windows.md:37 -msgid "在sh上操作(此处使用msys2)" -msgstr "" - -#: src\phira_build_guide/Windows.md:46 -msgid "" -"note:这里有个坑。。。如果报错的话尝试把 msys64\\mingw32\\bin 这个目录下的 " -"i686-w64-mingw32-gcc-ar.exe , i686-w64-mingw32-gcc-nm.exe , i686-w64-mingw32-" -"gcc-ranlib.exe 复制粘贴一份然后重命名成 i686-w64-mingw32-ar.exe , i686-w64-" -"mingw32-nm.exe , i686-w64-mingw32-ranlib.exe" -msgstr "" - -#: src\phira_build_guide/Windows.md:48 -msgid "" -"接着把build文件夹下的所有形如 `*.a` 的文件复制到 `phira\\prpr-avc\\static-" -"lib\\i686-pc-windows-gnu` 就可以啦" -msgstr "" - -#: src\phira_build_guide/Windows.md:52 -msgid "Q. 报错 `failed to send request: 操作超时`" -msgstr "" - -#: src\phira_build_guide/Windows.md:54 -msgid "A. 请检查网络环境,确保您可以正常访问 GitHub" -msgstr "" - -#: src\phira_build_guide/Windows.md:56 -msgid "Q. 报错 `failed to send request: 无法解析服务器的名称或地址`" -msgstr "" - -#: src\phira_build_guide/Windows.md:58 -msgid "A. 检查 DNS 或更换 DNS,更换后请刷新 DNS 缓存" -msgstr "" - -#: src\phira_build_guide/Windows.md:60 -msgid "" -"Q. 构建过程中报错 `error: failed to run custom build command for openssl-sys " -"v0.9.99`" -msgstr "" - -#: src\phira_build_guide/Windows.md:62 -msgid "A. 缺失 perl,请检查是否正确安装 perl 后再试" -msgstr "" - -#: src\phira_build_guide/Windows.md:64 -msgid "" -"Q. 构建报错`error occurred: Failed to find tool. Is gcc.exe installed? (see " -"https://github.com/rust-lang/cc-rs#compile-time-requirements for help)`" -msgstr "" - -#: src\phira_build_guide/Windows.md:66 -msgid "A. 请检查是否安装了 `MSYS2` 以及检查是否配置了环境变量" -msgstr "" - -#: src\phira_build_guide/Windows.md:68 -msgid "Q. 出现以下报错:" -msgstr "" - -#: src\phira_build_guide/Windows.md:70 -msgid "Error building OpenSSL dependencies:" -msgstr "" - -#: src\phira_build_guide/Windows.md:72 -msgid "Command: \"make\" \"depend\"" -msgstr "" - -#: src\phira_build_guide/Windows.md:74 -msgid "Failed to execute: program not found" -msgstr "" - -#: src\phira_build_guide/Windows.md:76 -msgid "" -"A. 缺失 `make` 指令,请前往 MSYS2 终端中使用 `pacman -S make` 安装此命令。" -msgstr "" - -#: src\phira_build_guide/Windows.md:78 -msgid "Q. 报错包含 `This perl inplementation doesn't produce lnix like paths`" -msgstr "" - -#: src\phira_build_guide/Windows.md:80 -msgid "" -"A. 使用的 `perl` 不适用于 `gcc`,请删除原有 `perl` 的环境变量或者直接卸载原有" -"的 `perl`。" -msgstr "" - -#: src\phira_build_guide/Windows.md:82 -msgid "Q. 报错包含`undefined reference to libiconv`" -msgstr "" - -#: src\phira_build_guide/Windows.md:84 -msgid "A. 使用的 `libiconv` 有问题,请在 MSYS2 终端中使用 `pacman -S libiconv`" -msgstr "" - -#: src\phira_build_guide/Windows.md:86 -msgid "Q. 太麻烦了" -msgstr "" - -#: src\phira_build_guide/Windows.md:88 -msgid "A. 这样,直接去 release 页面下吧~~微软我真谢谢你~~" -msgstr "" - -#: src\phira_build_guide/Linux.md:5 -msgid "" -"确保系统安装了 cargo,可以在终端使用 `cargo -V` 检查系统是否安装了 cargo,如" -"果没有安装,请点击 [这里](./cargo.md)按步骤安装构建工具" -msgstr "" - -#: src\phira_build_guide/Linux.md:7 -msgid "" -"若您是纯终端,建议使用 git 工具,请使用 `git clone https://github.com/" -"TeamFlos/phira.git` 将仓库克隆到本地。" -msgstr "" - -#: src\phira_build_guide/Linux.md:8 -msgid "" -"若您使用了桌面环境,您也可以在 Phira 仓库页面点击 Code 按钮选择 `Download " -"ZIP` 将代码下载到本地,随后将代码解压到本地任意目录。" -msgstr "" - -#: src\phira_build_guide/Linux.md:10 -msgid "" -"**若您要构建指定版本的 Phira,请前往 release 页面在 Assets 中选择下载 " -"`Source code(tar.gz)` 到本地,解压到任意路径即可。**" -msgstr "" - -#: src\phira_build_guide/Linux.md:13 -msgid "构建过程需要库文件补充,输入以下命令即可:" -msgstr "" - -#: src\phira_build_guide/Linux.md:17 -msgid "sudo apt install libasound2-dev" -msgstr "" - -#: src\phira_build_guide/Linux.md:19 -msgid "sudo apt install libgtk-3-dev" -msgstr "" - -#: src\phira_build_guide/Linux.md:23 -msgid "打开终端,切换到代码根目录" -msgstr "" - -#: src\phira_build_guide/Linux.md:24 -msgid "输入 `cargo build -r --bin phira-main` ,直到编译完成。" -msgstr "" - -#: src\phira_build_guide/Linux.md:25 -msgid "" -"复制 `.\\assets\\` 目录中的所有文件到 `.\\target\\release\\assets\\` ,至此," -"构建流程全部完成,您可以在带有桌面环境的情况下直接运行 `phira-main` 检查资源" -"文件是否完整,若您没有桌面环境,程序将会闪退(实测 WSL 无法兼容,如果在 WSL " -"下运行将会闪退),至此,构建流程结束。" -msgstr "" - -#: src\phira_build_guide/Linux.md:31 -msgid "Q. 构建输出 `failed to connect to GitHub`" -msgstr "" - -#: src\phira_build_guide/Linux.md:33 -msgid "A. 请检查网络环境。" -msgstr "" - -#: src\phira_build_guide/Linux.md:35 -msgid "Q. 构建时报错 `The pkg-config command could not be found`" -msgstr "" - -#: src\phira_build_guide/Linux.md:37 -msgid "" -"A. 缺失 `pkg-config` 指令,使用 `sudo apt install pkg-config -y` 安装即可。" -msgstr "" - -#: src\phira_build_guide/Linux.md:39 -msgid "Q. 构建报错 `failed to run custom build command for alsa-sys v0.3.1`" -msgstr "" - -#: src\phira_build_guide/Linux.md:41 -msgid "A. 缺失库文件" -msgstr "" - -#: src\phira_build_guide/Android.md:2 -msgid "构建" -msgstr "" - -#: src\phira_build_guide/Android.md:4 -msgid "" -"注意:此构建方案的产物**不包含成绩上传**的部分(与" -"Windows端类似)" -msgstr "" - -#: src\phira_build_guide/Android.md:6 -msgid "" -"方便起见,这里使用**Github Action**构建Android端Phira,本地构建待补充。~~才不" -"是因为几次都失败了惹~~" -msgstr "" - -#: src\phira_build_guide/Android.md:7 -msgid "" -"**Fork**官方Phira仓库,创建 `.github/workflows/`目录并在该目录下创建一个.yml" -"文件,名称任意。" -msgstr "" - -#: src\phira_build_guide/Android.md:8 -msgid "" -"在该.yml文件写入以下内容并commit,进入Action页面的Build Android Phira工作流," -"**请求一个workflow**(可选择构建分支),等待约5分钟,工作流即可运行完毕。**下" -"载Artifact解压**备用。" -msgstr "" - -#: src\phira_build_guide/Android.md:9 -msgid "" -"如果需要armeabi-v7a架构构建,请将\"arm64-v8a\",\"aarch64-linux-android\"分别" -"全部**替换**为\"armeabi-v7a\",\"armv7-linux-androideabi\"(未测试)" -msgstr "" - -#: src\phira_build_guide/Android.md:11 -msgid "Build Android Phira" -msgstr "" - -#: src\phira_build_guide/Android.md:14 -msgid "workflow_dispatch" -msgstr "" - -#: src\phira_build_guide/Android.md:16 -#, fuzzy -msgid "env" -msgstr "\"end\"" - -#: src\phira_build_guide/Android.md:18 -msgid "CARGO_TERM_COLOR" -msgstr "" - -#: src\phira_build_guide/Android.md:18 -msgid "always" -msgstr "" - -#: src\phira_build_guide/Android.md:19 -msgid "ANDROID_HOME" -msgstr "" - -#: src\phira_build_guide/Android.md:19 -msgid "${{github.workspace}}/android-sdk" -msgstr "" - -#: src\phira_build_guide/Android.md:20 -msgid "ANDROID_NDK_HOME" -msgstr "" - -#: src\phira_build_guide/Android.md:20 src\phira_build_guide/Android.md:21 -msgid "${{github.workspace}}/android-ndk-r27c" -msgstr "" - -#: src\phira_build_guide/Android.md:21 -msgid "ANDROID_NDK_ROOT" -msgstr "" - -#: src\phira_build_guide/Android.md:22 -msgid "jobs" -msgstr "" - -#: src\phira_build_guide/Android.md:24 -msgid "Build" -msgstr "" - -#: src\phira_build_guide/Android.md:26 -msgid "runs-on" -msgstr "" - -#: src\phira_build_guide/Android.md:26 -msgid "ubuntu-24.04" -msgstr "" - -#: src\phira_build_guide/Android.md:28 -msgid "steps" -msgstr "" - -#: src\phira_build_guide/Android.md:29 -msgid "uses" -msgstr "" - -#: src\phira_build_guide/Android.md:29 -msgid "actions/checkout@v4.2.2" -msgstr "" - -#: src\phira_build_guide/Android.md:31 -msgid "run" -msgstr "" - -#: src\phira_build_guide/Android.md:34 -msgid "# For compatibility of release v0.6.7 and stable channel of Rust" -msgstr "" - -#: src\phira_build_guide/Android.md:80 -msgid "替换" -msgstr "" - -#: src\phira_build_guide/Android.md:81 -msgid "由于未提供打包工具,需要我们手动替换apk下libphira.so文件" -msgstr "" - -#: src\phira_build_guide/Android.md:83 -msgid "" -"**直接安装运行,会提示找不到quad_native.QuadNative.preprocessInput的定义**" -msgstr "" - -#: src\phira_build_guide/Android.md:85 -msgid "方法一:" -msgstr "" - -#: src\phira_build_guide/Android.md:87 -msgid "将libphira.so文件**推送到Android设备上**你熟悉的位置。" -msgstr "" - -#: src\phira_build_guide/Android.md:89 -msgid "从Phira官方仓库的Release下载libphira.so对应架构的apk,用MT管理器查看。" -msgstr "" - -#: src\phira_build_guide/Android.md:91 -msgid "" -"将构建出来的libphira.so**替换掉**lib/arm64-v8a(或armeabi-v7a)/**libphira." -"so**。" -msgstr "" - -#: src\phira_build_guide/Android.md:93 -msgid "" -"用Dex编辑器++打开classes.dex,进入org,flos.phira,查看**QuadSurface**类。" -msgstr "" - -#: src\phira_build_guide/Android.md:95 -msgid "" -"找到153行(或其他调用preprocessInput的语句),移除这一行的内容(或注释掉)。" -msgstr "" - -#: src\phira_build_guide/Android.md:97 -msgid "根据MT管理器的提示,保存退出文件,重新签名。" -msgstr "" - -#: src\phira_build_guide/Android.md:99 -msgid "按需可选择进行apk共存操作。" -msgstr "" - -#: src\phira_build_guide/Android.md:101 -msgid "方法二:" -msgstr "" - -#: src\phira_build_guide/Android.md:103 -msgid "在phira/src/lib.rs中加入以下声明:" -msgstr "" - -#: src\phira_build_guide/Android.md:106 -msgid "\"android\"" -msgstr "" - -#: src\phira_build_guide/Android.md:108 -msgid "\"C\"" -msgstr "" - -#: src\phira_build_guide/Android.md:121 -msgid "原理" -msgstr "" - -#: src\phira_build_guide/Android.md:122 -msgid "" -"_特别感谢[qaqFei进行的测试](https://github.com/qaqFei/phira/tree/main)_。" -msgstr "" - -#: src\dev-incident\index.md:1 -msgid "开发/运营过程中出现的意外事件" -msgstr "开发/运营过程中出现的意外事件" - -#: src\dev-incident\index.md:3 -msgid "其实全都是 sjfhsjfh 的错" -msgstr "其实全都是 sjfhsjfh 的错" - -#: src\dev-incident/长风的柳絮.md:3 -msgid "" -"此事件发生于 2023-07-10 18:53 (此为 sjfhsjfh 在内部群发送消息 \"我来磕大头了" -"\" 的时间)" -msgstr "" -"此事件发生于 2023-07-10 18:53 (此为 sjfhsjfh 在内部群发送消息 \"我来磕大头了" -"\" 的时间)" - -#: src\dev-incident/长风的柳絮.md:5 -#: src\dev-incident/v0.6.0更新消息.md:7 src\dev-incident/6thpecjam.md:7 -#: src\dev-incident/天空之城.md:5 src\dev-incident/ForeverYoung.md:5 -msgid "事件经过" -msgstr "事件经过" - -#: src\dev-incident/长风的柳絮.md:7 -msgid "" -"sjfhsjfh 在手动操作数据库(使用 SQL 语句)封禁用户 \"长风的柳絮\"时, 一不小心将" -"未写完的 UPDATE 语句发送出去(没有加上 `WHERE` 关键字, 也没有写好 `SET banned " -"= TRUE`), 导致所有用户的用户名被修改为 \"长风的柳絮\"" -msgstr "" -"sjfhsjfh 在手动操作数据库(使用 SQL 语句)封禁用户 \"长风的柳絮\"时, 一不小心将" -"未写完的 UPDATE 语句发送出去(没有加上 `WHERE` 关键字, 也没有写好 `SET banned " -"= TRUE`), 导致所有用户的用户名被修改为 \"长风的柳絮\"" - -#: src\dev-incident/长风的柳絮.md:9 -msgid "" -"此事件耗费 Mivik 一整个下午和晚自习进行恢复(从日志中), 并未造成太多数据损失" -msgstr "" -"此事件耗费 Mivik 一整个下午和晚自习进行恢复(从日志中), 并未造成太多数据损失" - -#: src\dev-incident/长风的柳絮.md:11 -msgid "后记" -msgstr "后记" - -#: src\dev-incident/长风的柳絮.md:13 -msgid "" -"凡事都要两面看, 此事过后 Mivik 给审核组长提供了一个方便快捷的封禁按钮, 以防止" -"类似事件再次发生. 不幸的是, sjfhsjfh 的扫帚星属性并未因此事件而消失, 见 " -"[v0.6.0 更新消息](./v0.6.0更新消息.md)" -msgstr "" -"凡事都要两面看, 此事过后 Mivik 给审核组长提供了一个方便快捷的封禁按钮, 以防止" -"类似事件再次发生. 不幸的是, sjfhsjfh 的扫帚星属性并未因此事件而消失, 见 " -"[v0.6.0 更新消息](./v0.6.0更新消息.md)" - -#: src\dev-incident/v0.6.0更新消息.md:3 -msgid "" -"此事件发生于 2024-01-01 23:16 (此为 Mivik 在上架讨论群内发送消息 \"阿我草你干" -"了啥?\" 的时间)" -msgstr "" -"此事件发生于 2024-01-01 23:16 (此为 Mivik 在上架讨论群内发送消息 \"阿我草你干" -"了啥?\" 的时间)" - -#: src\dev-incident/v0.6.0更新消息.md:5 -msgid "" -"同 [长风的柳絮](./长风的柳絮.md) 事件类似, 为手动操作数据库造成的严重后果. 此" -"事件也被称为 \"长风的柳絮 2\"" -msgstr "" -"同 [长风的柳絮](./长风的柳絮.md) 事件类似, 为手动操作数据库造成的严重后果. 此" -"事件也被称为 \"长风的柳絮 2\"" - -#: src\dev-incident/v0.6.0更新消息.md:9 -msgid "" -"sjfhsjfh 企图修改误放出的错误公告, 且心急如焚, 故不当操作导致所有用户的所有消" -"息内容被修改为新的公告内容(即 v0.6.0 更新公告)" -msgstr "" -"sjfhsjfh 企图修改误放出的错误公告, 且心急如焚, 故不当操作导致所有用户的所有消" -"息内容被修改为新的公告内容(即 v0.6.0 更新公告)" - -#: src\dev-incident/v0.6.0更新消息.md:11 -msgid "此事件耗费 Mivik 约一个晚上进行恢复, 当天的消息全部丢失" -msgstr "此事件耗费 Mivik 约一个晚上进行恢复, 当天的消息全部丢失" - -#: src\dev-incident/6thpecjam.md:1 -msgid "6thPecJam" -msgstr "6thPecJam" - -#: src\dev-incident/6thpecjam.md:3 -msgid "" -"此事件发生于 2024-02-10 凌晨约 00:40, 相较于预计的 PecJam 提交通道开启时间 " -"2024-02-10 00:00, 已经推迟超多半个小时" -msgstr "" -"此事件发生于 2024-02-10 凌晨约 00:40, 相较于预计的 PecJam 提交通道开启时间 " -"2024-02-10 00:00, 已经推迟超多半个小时" - -#: src\dev-incident/6thpecjam.md:5 -msgid "注: 2024-02-09 为除夕, 大家都在守岁, 正好等着 PecJam 交稿" -msgstr "注: 2024-02-09 为除夕, 大家都在守岁, 正好等着 PecJam 交稿" - -#: src\dev-incident/6thpecjam.md:9 -msgid "" -"sjfhsjfh 眼看大家在群里询问为何 PecJam 提交通道还未开启, 在焦急之中对 Phira " -"后端代码进行了胡乱修改, 提交时甚至没有进行编译检查, 最后不得不请 Mivik 从温暖" -"的被窝中出来帮忙修复, 实在是罪大恶极" -msgstr "" -"sjfhsjfh 眼看大家在群里询问为何 PecJam 提交通道还未开启, 在焦急之中对 Phira " -"后端代码进行了胡乱修改, 提交时甚至没有进行编译检查, 最后不得不请 Mivik 从温暖" -"的被窝中出来帮忙修复, 实在是罪大恶极" - -#: src\dev-incident/天空之城.md:3 -msgid "" -"此事件发生于 2024-04-13 19:00 (此为 大鸽子咕咕咕 在上架讨论群内发送“谁想要业" -"绩可以看看这个,四票打回了还是这个状态,不知道是不是bug”的时间)" -msgstr "" - -#: src\dev-incident/天空之城.md:7 -msgid "" -"评议员在打回谱面时若网络情况较差就会出现已拒绝但没有打回的现象,由此吸引了14" -"位评议员先后参与了天空之城的打回操作" -msgstr "" - -#: src\dev-incident/天空之城.md:9 -msgid "以下为参与了打回的评议员列表:" -msgstr "" - -#: src\dev-incident/天空之城.md:11 -msgid "" -"无人通过 \n" -"14 人拒绝:超爱吃盐的盐盐,twotthrees233,右果ary,WinterPT,scylic,远空星灵," -"SSuent\\_,-zerouth-,StR-1,sjfhsjfh,Max3957,Kedmue,Dr.Asriel,Naptie" -msgstr "" - -#: src\dev-incident/天空之城.md:14 -msgid "......为什么 sjfhsjfh 也在里面" -msgstr "" - -#: src\dev-incident/天空之城.md:16 -msgid "" -"最终因 Naptie 使用了 \"润润润牌私有连接\" 而成功触发打回操作,结束本谱战斗。 " -"但战斗真的会结束吗?谁知道呢(" -msgstr "" - -#: src\dev-incident/天空之城.md:19 -msgid "" -"关于评议员的详细留言请看[\\#15169 评议记录](https://phira.moe/" -"chart/15169#stb)" -msgstr "" - -#: src\dev-incident/ForeverYoung.md:3 -#, fuzzy -msgid "" -"此事件发生于 2024-05-25 凌晨 04:10 (此为 sjfhsjfh 在内部群发送消息 \"吗的我又" -"干蠢事了 \\[动画表情\\] 想原地紫砂\" 的时间)" -msgstr "" -"此事件发生于 2023-07-10 18:53 (此为 sjfhsjfh 在内部群发送消息 \"我来磕大头了" -"\" 的时间)" - -#: src\dev-incident/ForeverYoung.md:7 -msgid "" -"sjfhsjfh 想干点事于是请求 Mivik 把动态分发的字体 `bold.ttf` 的步骤传授给我, " -"我来更新一下字符几来修复部分语言缺字的情况, 进展还算顺利, 可是到测试的时候, " -"根据反馈选择了法语随便点进一张 **Stable** 谱面(受害者出场: [\\#16576 Forever " -"Young](https://phira.moe/chart/16576)), 再看到出问题的地方是删除确认提示框的" -"时候脑袋短路了两秒, 觉得不太对但没停住手, 知道应该下载到本地删除本地文件, 但" -"是下载了之后习惯性一翻到底点击删除在线. 这时候 sjfh 对着法语的 \"Annuler\" " -"和 \"Confirmer\" 两个按钮大脑开始飞速运转, 很明显能猜测到后者是确认, 但此时已" -"经sjfh理智归零(考虑到此刻已经是明日方舟服务器每日计时更替之后了), 停留了没超" -"过 0.5s 就点了确认, 于是就有了上面的聊天消息." -msgstr "" - -#: src\dev-incident/ForeverYoung.md:9 -msgid "警钟敲烂" -msgstr "" - -#~ msgid "谱面特性" -#~ msgstr "Chart Feature" - -#~ msgid "Windows:[here](./Windows.md)" -#~ msgstr "~~什么,你说apk?没有Java和kotlin我怎么写啊QAQ~~" diff --git a/src/README.md b/src/README.md index ac00373..e52f821 100644 --- a/src/README.md +++ b/src/README.md @@ -1,6 +1,6 @@ # Phira-docs 说明 -这里是 Phira 相关的文档说明, 可前往 [GitHub](https://github.com/TeamFlos/phira-docs) 提出问题或者贡献文档, 其他语言请通过修改 url 来访问, 如 [`/en/`](./en/) +这里是 Phira 相关的文档说明, 可前往 [GitHub](https://github.com/TeamFlos/phira-docs) 提出问题或者贡献文档 如果希望提供翻译, 请参考 diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 82c640c..4878d38 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -4,6 +4,8 @@ - [资源包](respack/index.md) +- [基础帮助文档](help/index.md) + - [谱面标准](chart-standard/index.md) - [谱面信息](chart-standard/chartinfo.md) @@ -83,6 +85,11 @@ - [使用进阶](./uml/advanced/README.md) - [页面切换](./uml/advanced/page_switch.md) + +- [Phira MP 构建指南](./mp_build_guide/index.md) + - [Termux](./mp_build_guide/Termux.md) + - [Windows](./mp_build_guide/Windows.md) + - [Linux](./mp_build_guide/Linux.md) - [Phira 构建指南](./phira_build_guide/README.md) - [cargo 安装教程](./phira_build_guide/cargo.md) diff --git a/src/chart-standard/chartinfo.md b/src/chart-standard/chartinfo.md index 66fe5df..19d930f 100644 --- a/src/chart-standard/chartinfo.md +++ b/src/chart-standard/chartinfo.md @@ -8,6 +8,7 @@ ## `ChartInfo` +> [!NOTE] > 请参考[源代码](https://github.com/TeamFlos/phira/blob/main/prpr/src/info.rs)中的定义, 可能存在更新 ### 谱面 ID `id` @@ -110,7 +111,8 @@ 必需, `f32` 浮点数, 默认为 16.0 / 9.0 -> 注意: 谱面显示的纵横比, 设备的纵横比大于此值(例如部分加长手机, 或者一般手机上此值填写为 4:3)时会保证谱面处于该值的纵横比, 而小于此值时会拉伸谱面以保证谱面填满屏幕(来源: TBD) +> [!NOTE] 注意 +> 谱面显示的纵横比, 设备的纵横比大于此值(例如部分加长手机, 或者一般手机上此值填写为 4:3)时会保证谱面处于该值的纵横比, 而小于此值时会拉伸谱面以保证谱面填满屏幕(来源: TBD) ### 背景暗化程度 `backgroundDim` diff --git a/src/event/index.md b/src/event/index.md index c11e8b2..f5531c5 100644 --- a/src/event/index.md +++ b/src/event/index.md @@ -1,6 +1,6 @@ # Phira 活动说明 -Phira 已经成功~~(存疑)~~举办了一些活动, 本文主要介绍在目前的项目结构下, Phira 活动相关的机制 +Phira 已经成功 ~~(存疑)~~ 举办了一些活动, 本文主要介绍在目前的项目结构下, Phira 活动相关的机制 ## 基础概念 diff --git a/src/help/index.md b/src/help/index.md new file mode 100644 index 0000000..a4c1ec1 --- /dev/null +++ b/src/help/index.md @@ -0,0 +1,112 @@ +# Phira常见问题自助文档 + +__这里是由Phira答疑志愿者编写的《Phira常见问题自助文档》。在您游玩Phira前,请您认真阅读并且同意来自Phira官方的[《服务条款》](https://phira.moe/terms-of-use)与[《隐私政策》](https://phira.moe/privacy-policy)。__ + +以下是v0.6.7.1更新内容: + +- 设置界面添加缓存管理功能 +- 本地化优化 +- 优化 RPE 文字支持 +- 修复部分情况下黑屏 bug + +__本文档问题请在[Phira官方](https://pd.qq.com/s/ezgv3q71g)QQ频道联系@Dmockenm,或前往[问题反馈](https://phira.dmocken.top/report)提交反馈。__ + +# 开始前,你需要准备: + +1. 一部游玩的设备(安卓如需使用在线服务请至少Android 7及以上,苹果设备至少iOS12及以上)。 +2. 一个个人邮箱 +3. 了解一定的知识——如:ipa为iOS的应用程序安装包,此包需要进行签名使用;apk为安卓设备/鸿蒙设备的应用程序安装包,分为32位和64位,根据自己的设备实际情况下载。以及手机存储路径等。 + +# 安卓下载看这里 + +1. 国内下载源: + - [好游快爆](https://www.3839.com/a/154061.htm)(需实名认证,官方授权)、 + - [Dmocken的Phira下载站](https://phira.dmocken.top)(第三方,国内)、 + - [Puremoon下载站](https://pmnet.work/)(第三方,国内) + 下载最新版本APK即可。 +2. 国外下载源: + - [Github](https://github.com/TeamFlos/phira/releases) +3. 如出现设备不支持、CPU不兼容,或者提示安装失败,请下载**32位版本**进行安装。 +4. 64位版本兼容大部分安卓/鸿蒙设备,**暂无Harmony NEXT专用侧载安装包**。 + +# iOS下载看这里 + +1. (推荐)非中国大陆地区的苹果账户可以在 App Store 中搜索并下载 Phira,前往[APP Store](https://apps\.apple\.com/us/app/phira/id6447435864)。 +2. 通过ipa侧载安装,安装包下载链接: + [官方GitHub](https://github.com/F-Unction/phira_ipa/releases)(国外源)、 [Dmocken的Phira下载站](https://phira.dmocken.top)(第三方,国内) +3. iOS侧载安装方式需要电脑,或者需要巨魔等越狱工具,[查看教程](https://zhuanlan.zhihu.com/p/11349191286)。 +4. 如果出现“未受信任的企业开发者“弹窗,可以去设置\-通用\-VPN\-信任开发者进行信任。;若出现“需要启用开发者模式”,请先前往设置打开“开发者模式。 + +# 相关问题合集: + +### __关于[《服务条款》](https://phira.moe/terms-of-use)与[《隐私政策》](https://phira.moe/privacy-policy):__ + +- [《服务条款》](https://phira.moe/terms-of-use)与[《隐私政策》](https://phira.moe/privacy-policy)是您必须要了解并且同意的,若您不同意Phira有权不向您提供服务。 +- 在您阅读[《服务条款》](https://phira.moe/terms-of-use)与[《隐私政策》](https://phira.moe/privacy-policy)后,弹窗会自动消失,即默认代表您已经完成阅读且同意条款内的内容。 + +### __账号注册及密码相关问题:__ + +- 注册后请及时查看邮箱,会有一封验证邮件发过来,没发过来请检查垃圾箱或者刷新。 +- 邀请链接在收到的10分钟内进去提示“无效的激活码”,可能是系统bug,此时请到Phira中使用您注册的账号密码尝试能否成功登录。 +- 如需修改密码请前往:[重置密码](https://phira.5wyxi.com/reset-password),点击链接输入邮箱后,会向邮箱发送修改密码的链接,进入即可修改密码。输入邮箱后白屏是bug,如果在5分钟内没有收到重置密码链接,请尝试再次提交重置密码请求。 + - ⚠️:若出现邮箱内链接无法访问的情况,请将链接开头的```api.phira.cn```换成```phira.5wyxi.com```。 + +### __在线服务相关问题:__ + +- 谱面加载、下载错误检查自己的软件版本是否为最新版本(0\.6\.7\.1)如果为最新版本则为服务器问题,或者是访问频繁被限制,过段时间就好力。 +- 谱面成绩若无法成功上传,提示:!尚在上传成绩 意为服务器目前网络不良,若不在意成绩建议开启离线模式游玩。 +- 针对近期谱面出现无法下载(一长串报错),或下载速度缓慢可以尝试以下办法: + ``` + 等1小时后再上线 + 切换网络(WiFi切换为数据流量) + 游戏内打开不安全模式并重启游戏 + 开启飞行模式,或重启设备 + 切换网络运营商 + 使用网络代理工具 + 等待服务器恢复访问 + ``` + +### __多人联机服务相关问题:__ + + - Phira官方联机服务器(mp2.phira.cn:12345)目前暂时不可用。 + - 目前有第三方监控站用于收集多人游戏服务器地址,[前往监测站](https://status.dmocken.top) + - 我们支持并且建议个人开设私服进行多人联机,详见[官方GitHub](https://github.com/TeamFlos/phira-mp) + - 如需获取即开即用的已编译服务器文件,请前往:[多人游戏服务端](https://phira.dmocken.top/mulity) + - [安卓搭建Phira多人游戏服务器教程](/mp_build_guide/Termux) + - [Windows搭建Phira多人游戏服务器教程](/mp_build_guide/Windows) + - [Linux服务端部署教程](/mp_build_guide/Linux)。 +### __关于设备使用断触问题:__ + + - iOS:请开启引导式访问。 + - 安卓:请放入系统自带的游戏空间内,或关闭所有多指手势等辅助型功能。 + - 通用问题:激进优化关闭/低画质开启;设备温度过高导致 CPU 降频,影响设备性能。设备屏幕过脏,影响设备触控。若还是断触请检查屏幕是否支持多指触控。 +### __资源包相关问题:__ + + - 资源包(皮肤和谱面)导入的是zip文件,不需要解压喔。 + - 资源包下载站:[prprBlog](https://prprblog.kevin2106.top/)(如果无法访问需要使用特殊网络环境) + - QQ频道[Phira资源包制作分享](https://pd.qq.com/s/blwfryimz) + - (安卓)QQ群文件下载的文件保存的地址:Android/data/com\.tencent\.mobileqq/Tencent/QQfile\_recv + - 资源包导入(iOS):Testflight安装可直接导入,ipa(自签)安装的Phira会有很多设备/很大概率,不能导入文件(如:本地谱面导入/资源包导入/头像导入等都均会失效)。 + - 资源包导入位置在主页——资源包——左边加号;谱面导入位置在游玩——右上角“导入”。;或将zip压缩包打开方式选为“Phira(资源包)”,若出现紫色标题、白色界面的情况,尝试在文件管理内使用Phira(资源包)方式打开zip压缩包即可导入 + - **注意⚠️:《Phigros官方资源包》 的版权属于鸽游公司,Phira并不拥有其使用权,已停止提供,也请各位玩家尊重版权,不要随意传播。** +### __自制谱面相关问题:__ + + - 如果想要找特定歌曲的自制谱,最快的方式是在b站搜索并在谱面作者的引导下下载; + - 自制谱上传:上传谱面前,请确保您已认真并完整阅读、知晓且同意[Phira谱面上传须知](https://docs.qq.com/doc/DU2dUaEt5WnFJV2Zh)、[Phira谱面内容机制(谱师须知)](https://docs.qq.com/doc/DU1dISHdEb0NuYVpB)中的所有条款及内容!另外,**有关Phigros所有独占曲/原创曲绘/谱面/官谱加强谱面等都禁止上传,违者可能会被封禁帐号。** + - 非独占曲上传请勿使用原创曲绘,保证谱面思路与官谱不一致即可上传,如有其他问题,谱面上传须知内有详细介绍。 + - 为保护游戏内谱面、立绘的版权,Windows、Linux无法使用剧情谱面、无法加载立绘。 +### __Phira的官方联系渠道__ + + - QQ群: + + - 1群:`688798221`(已满) + - 2群:`738179721`(已满) + - 3群:`874761842`(会不定期清理Lv\.1人员) + - QQ频道名称:Phira + + - 频道邀请链接: [https://pd.qq.com/s/ezgv3q71g](https://pd.qq.com/s/ezgv3q71g) + - 频道号:r48eajexth + - Telegram名称:[Phira](https://t\.me/phira\_official) + - Discord名称:[Phira Official](https://discord.gg/9fH8UA9DgR) + - 哔哩哔哩官方账号:[Phira官方](https://space\.bilibili\.com/3493259571628094) + - 官方网站:[https://phira.moe](https://phira.moe) \ No newline at end of file diff --git a/src/index.md b/src/index.md new file mode 100644 index 0000000..e94a54e --- /dev/null +++ b/src/index.md @@ -0,0 +1,101 @@ +--- + +layout: home + +hero: + name: Phira + text: Phigros 二创社区 + actions: + - theme: brand + text: 说明 + link: README + - theme: alt + text: 多人联机服务器状态 + link: "https://status.dmocken.top/" + - theme: alt + text: 前往 Github 项目主页 + link: "https://github.com/Teamflos/Phira" + image: + src: /favicon.png + alt: Phira + +features: + - icon: 🎮 + title: 谱面制作 + details: 完整的谱面标准文档,支持 RPE、PE、Official 等多种格式 + - icon: 📚 + title: 详细文档 + details: 从入门到精通,涵盖所有模块和功能的完整指南 + - icon: 🛠️ + title: 构建指南 + details: Windows、Linux、Android 多平台编译指南,助你快速上手 + +--- + + + + +注:本文档基于 https://teamflos.github.io/phira-docs/ 搬来并二次编写 \ No newline at end of file diff --git a/src/mp_build_guide/Linux.md b/src/mp_build_guide/Linux.md new file mode 100644 index 0000000..805bb15 --- /dev/null +++ b/src/mp_build_guide/Linux.md @@ -0,0 +1 @@ +# 等待更新...... \ No newline at end of file diff --git a/src/mp_build_guide/Termux.md b/src/mp_build_guide/Termux.md new file mode 100644 index 0000000..063b9c6 --- /dev/null +++ b/src/mp_build_guide/Termux.md @@ -0,0 +1,37 @@ +# __安卓搭建Phira多人游戏服务器__ + +## __直接使用已编译程序__ + +1. 首先[下载ZeroTermux](https://github.com/hanxinhao000/ZeroTermux/releases/tag/ZeroTermux-0.118.3.53)并安装(Termux也可以)。 +2. 执行 apt update && apt upgrade 更新库 +3. 前往[Phira下载站](https://phira.dmocken.top/mulity)复制预编译的程序链接 +4. 执行 ```wget [链接]```下载已经预编译的文件 +5. 执行 \./phira\-mp\-server 或 RUST\_LOG=debug \./phira\-mp\-server 开启服务端。第二个区别于第一个多了日志显示。 +6. 如需自定义运行端口请在命令后添加 \-\-port \[端口号\] 例如``` RUST_LOG=debug ./phira-mp-server --port 11451```。 +7. 需要映射到公网请自行配置内网穿透。 + +## __自行编译Phira服务器__ + +1. 首先下载[下载ZeroTermux](https://github.com/hanxinhao000/ZeroTermux/releases/tag/ZeroTermux-0.118.3.53)并安装(Termux也可以)。 +2. 打开ZeroTermux,同意协议后在左上侧屏幕边缘向右滑动,点击切换源——清华源进行安装,出现选择Y/I/N/O/D/Z选项时直接回车,大概5\-6次。 +3. 运行 ```pkg install rust```安装rust。 +4. 输入 ```pkg install pkg-config```安装pkg\-config。 +5. 运行``` pkg install git```安装git工具 +6. 运行```git https://github.com/TeamFlos/phira-mp.git```获取仓库内容,如有需要请使用代理进行下载 +7. 运行``` chmod -c 755 phira-mp``` 分配文件夹。 +8. 运行``` cd phira-mp``` 定位至文件夹。 +9. 运行 ```cargo update```更新cargo。 +10. 运行 ```cargo build --release -p phira-mp-server```进行下载编译,或直接通过``` cargo run```运行代码。 +11. 编译完成的可执行文件在```/phira-mp/target/release``` + +## __如何重新开启服务器__ + +- 进入ZeroTermux后找到编译好的phira-mp-server,使用已编译版本的正常运行```./phira-mp-server```即可正常启动;若为自行编译的,编译的文件一般在```/phira-mp/target/release```文件夹下。 + +## __常见问题__ + +1. 若执行编译步骤时出现:warning: spurious network error \(3 tries remaining\): \[55\] Failed sending data to the peer \(HTTP/2 stream 105 was not closed cleanly before end of the underlying connection\) 可开启VPN重新执行编译步骤即可。 +2. 编译步骤耗时较长,建议提前设置好系统网络。 +3. 如果文档内容有误,请在[Phira官方](https://pd.qq.com/s/ezgv3q71g)QQ频道联系@Dmockenm,或前往[问题反馈](https://phira.dmocken.top/report)提交反馈。 + +[Phira常见问题(持续更新)](/help/) diff --git a/src/mp_build_guide/Windows.md b/src/mp_build_guide/Windows.md new file mode 100644 index 0000000..805bb15 --- /dev/null +++ b/src/mp_build_guide/Windows.md @@ -0,0 +1 @@ +# 等待更新...... \ No newline at end of file diff --git a/src/mp_build_guide/index.md b/src/mp_build_guide/index.md new file mode 100644 index 0000000..5859a95 --- /dev/null +++ b/src/mp_build_guide/index.md @@ -0,0 +1,13 @@ +# Phira MP 构建指南 + +> [!NOTE] +> 等待编写... + +如需已经构建好的包可前往 [Dmocken 的下载站](https://phira.dmocken.top/mulity) + +这边倒是有其他语言的,他们可能有已经构建过的包可以直接使用(( + +[Typescript](https://github.com/Pimeng/tphira-mp)
+[Python](https://github.com/Evi233/pyphira-mp)
+[C#](https://github.com/NuanRMxi-Lazy-Team/PhiraMpServerCSharp)
+[Java协议库](https://github.com/lRENyaaa/jphira-mp-protocol)
diff --git a/src/phira_build_guide/README.md b/src/phira_build_guide/README.md index b558871..8b5a719 100644 --- a/src/phira_build_guide/README.md +++ b/src/phira_build_guide/README.md @@ -1,5 +1,5 @@ # 构建指南 -针对安卓手机的Linux便携式开发环境构建:[here](./android_to_linux.md)
+ Windows:[here](./Windows.md)
Linux:[here](./Linux.md)
~~什么,你说apk?没有Java和kotlin我怎么写啊QAQ~~
diff --git a/src/public/asciinema/gitee-install.cast b/src/public/asciinema/gitee-install.cast new file mode 100644 index 0000000..368c094 --- /dev/null +++ b/src/public/asciinema/gitee-install.cast @@ -0,0 +1,63 @@ +{"version": 2, "width": 100, "height": 30, "timestamp": 1756984875, "env": {"SHELL": "/usr/bin/zsh", "TERM": "xterm-256color"}} +[0.019203, "o", "\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[39m\u001b[27m\u001b[24m\r\u001b[K\r\n\r\n\u001b[2A\u001b7\u001b[0m\u001b[49m\u001b[39m\u001b[38;5;244m╭─\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[37m\u001b[0m\u001b[37m\u001b[47m\u001b[38;5;232m \u001b[0m\u001b[38;5;232m\u001b[47m\u001b[47m\u001b[38;5;232m \u001b[0m\u001b[38;5;232m\u001b[47m\u001b[44m\u001b[37m\u001b[0m\u001b[37m\u001b[44m\u001b[44m\u001b[38;5;254m  \u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255m~\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m/\u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255mMiao-Yunzai\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m\u001b[0m\u001b[38;5;254m\u001b[44m\u001b[44m\u001b[38;5;254m \u001b[0m\u001b[38;5;254m\u001b[44m\u001b[49m\u001b[34m\u001b[0m\u001b[34m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[40m\u001b[32m \u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m✔\u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m \u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m\u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[33m Pimeng@Pimeng-Server\u001b[0m\u001b[33m\u001b[40m\u001b[40m\u001b[33m\u001b[0m\u001b[33m\u001b[40m\u001b[40m\u001b[33m \u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[40m\u001b[33m\u001b[0m\u001b[33m\u001b[40m\u001b[49m\u001b[39m\u001b[38;5;244m─╮\r\n\u001b[38;5;244m╰─\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[39m\u001b[0m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[39m \u001b[0m\u001b[38;5;2"] +[0.020478, "o", "44m\u001b[49m\u001b[39m\u001b[38;5;244m─╯\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[39m\u001b[27m\u001b[24m\r\u001b[3C\u001b[?2004h"] +[0.703542, "o", "\u001b[?25l"] +[0.70378, "o", "\u001b8\u001b[0m\u001b[49m\u001b[39m\u001b[27m\u001b[24m\u001b[J"] +[0.705482, "o", "\u001b]2;Pimeng@Pimeng-Server:~/Miao-Yunzai\u0007\u001b]1;..p/Miao-Yunzai\u0007"] +[0.705693, "o", "\u001b[0m\u001b[38;5;254m\u001b[49m\u001b[39m\u001b[27m\u001b[24m\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r\u001b[0m\u001b[49m\u001b[39m\u001b[27m\u001b[24m\u001b[K"] +[0.709162, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[39m\r\n\u001b[A\u001b[38;5;244m╭─\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[37m\u001b[0m\u001b[37m\u001b[47m\u001b[38;5;232m \u001b[0m\u001b[38;5;232m\u001b[47m\u001b[47m\u001b[38;5;232m \u001b[0m\u001b[38;5;232m\u001b[47m\u001b[44m\u001b[37m\u001b[0m\u001b[37m\u001b[44m\u001b[44m\u001b[38;5;254m  \u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255m~\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m/\u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255mMiao-Yunzai\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m\u001b[0m\u001b[38;5;254m\u001b[44m\u001b[44m\u001b[38;5;254m \u001b[0m\u001b[38;5;254m\u001b[44m\u001b[42m\u001b[34m\u001b[0m\u001b[34m\u001b[42m\u001b[42m\u001b[30m  \u001b[30m master \u001b[30m?2\u001b[0m\u001b[30m\u001b[42m\u001b[42m\u001b[30m \u001b[0m\u001b[30m\u001b[42m\u001b[49m\u001b[32m\u001b[0m\u001b[32m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[40m\u001b[32m \u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m✔\u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m \u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m\u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[33m Pimeng@Pimeng-Server\u001b[0m\u001b[33m\u001b[40m\u001b[40m\u001b[33m\u001b[0m\u001b[33m\u001b[40m\u001b[40m\u001b[33m \u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[40m\u001b[33m\u001b[0m\u001b[33m\u001b[40m\u001b[49m\u001b[39m\u001b[38;5;244m─╮\r\n\u001b[38;5;244m╰─\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[39m\u001b[0m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[39m\u001b[K\u001b[114C\u001b[0m\u001b[49m\u001b[39m\u001b[38;5;244m─╯\u001b[39m\u001b[116D"] +[0.709379, "o", "\u001b[?1h\u001b="] +[0.709903, "o", "\u001b[?25h"] +[0.710112, "o", "\u001b[?2004h"] +[1.565147, "o", "\u001b[7mgit clone --depth=1 https://gitee.com/qiannqq/napcat-adapter.git ./plugins/napcat-adapter\u001b[27m"] +[2.466681, "o", "\u001b[89D\u001b[27mg\u001b[27mi\u001b[27mt\u001b[27m \u001b[27mc\u001b[27ml\u001b[27mo\u001b[27mn\u001b[27me\u001b[27m \u001b[27m-\u001b[27m-\u001b[27md\u001b[27me\u001b[27mp\u001b[27mt\u001b[27mh\u001b[27m=\u001b[27m1\u001b[27m \u001b[27mh\u001b[27mt\u001b[27mt\u001b[27mp\u001b[27ms\u001b[27m:\u001b[27m/\u001b[27m/\u001b[27mg\u001b[27mi\u001b[27mt\u001b[27me\u001b[27me\u001b[27m.\u001b[27mc\u001b[27mo\u001b[27mm\u001b[27m/\u001b[27mq\u001b[27mi\u001b[27ma\u001b[27mn\u001b[27mn\u001b[27mq\u001b[27mq\u001b[27m/\u001b[27mn\u001b[27ma\u001b[27mp\u001b[27mc\u001b[27ma\u001b[27mt\u001b[27m-\u001b[27ma\u001b[27md\u001b[27ma\u001b[27mp\u001b[27mt\u001b[27me\u001b[27mr\u001b[27m.\u001b[27mg\u001b[27mi\u001b[27mt\u001b[27m \u001b[27m.\u001b[27m/\u001b[27mp\u001b[27ml\u001b[27mu\u001b[27mg\u001b[27mi\u001b[27mn\u001b[27ms\u001b[27m/\u001b[27mn\u001b[27ma\u001b[27mp\u001b[27mc\u001b[27ma\u001b[27mt\u001b[27m-\u001b[27ma\u001b[27md\u001b[27ma\u001b[27mp\u001b[27mt\u001b[27me\u001b[27mr"] +[2.466777, "o", "\u001b[?1l\u001b>"] +[2.467522, "o", "\u001b[?25l"] +[2.467756, "o", "\u001b[?2004l\r\r\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[0m\u001b[49m\u001b[27m\u001b[24m\u001b[38;5;76m❯\u001b[0m\u001b[38;5;76m\u001b[49m\u001b[39m\u001b[27m\u001b[24m git clone --depth=1 https://gitee.com/qiannqq/napcat-adapter.git ./plugins/napcat-adapter\u001b[K\u001b[?25h"] +[2.468009, "o", "\r\r\n"] +[2.468524, "o", "\u001b]2;git clone --depth=1 https://gitee.com/qiannqq/napcat-adapter.git \u0007\u001b]1;git\u0007"] +[2.471287, "o", "正克隆到 './plugins/napcat-adapter'...\r\n"] +[3.052295, "o", "remote: Enumerating objects: 37, done.\u001b[K\r\nremote: Counting objects: 2% (1/37)\u001b[K\rremote: Counting objects: 5% (2/37)\u001b[K\rremote: Counting objects: 8% (3/37)\u001b[K\rremote: Counting objects: 10% (4/37)\u001b[K\rremote: Counting objects: 13% (5/37)\u001b[K\rremote: Counting objects: 16% (6/37)\u001b[K\rremote: Counting objects: 18% (7/37)\u001b[K\rremote: Counting objects: 21% (8/37)\u001b[K\rremote: Counting objects: 24% (9/37)\u001b[K\rremote: Counting objects: 27% (10/37)\u001b[K\rremote: Counting objects: 29% (11/37)\u001b[K\rremote: Counting objects: 32% (12/37)\u001b[K\rremote: Counting objects: 35% (13/37)\u001b[K\rremote: Counting objects: 37% (14/37)\u001b[K\rremote: Counting objects: 40% (15/37)\u001b[K\rremote: Counting objects: 43% (16/37)\u001b[K\rremote: Counting objects: 45% (17/37)\u001b[K\rremote: Counting objects: 48% (18/37)\u001b[K\rremote: Counting objects: 51% (19/37)\u001b[K\rremote: Counting objects: 54% (20/37)\u001b[K\rremote: Counting objects: 56% (21/37)\u001b[K\rremote: Counting objects: 59% (22/37)\u001b[K\rremote: Counting objects: 62% (23/37)\u001b[K\rremote: Counting objects"] +[3.052369, "o", ": 64% (24/37)\u001b[K\rremote: Counting objects: 67% (25/37)\u001b[K\rremote: Counting objects: 70% (26/37)\u001b[K\rremote: Counting objects: 72% (27/37)\u001b[K\rremote: Counting objects: 75% (28/37)\u001b[K\rremote: Counting objects: 78% (29/37)\u001b[K\rremote: Counting objects: 81% (30/37)\u001b[K\rremote: Counting objects: 83% (31/37)\u001b[K\rremote: Counting objects: 86% (32/37)\u001b[K\rremote: Counting objects: 89% (33/37)\u001b[K\rremote: Counting objects: 91% (34/37)\u001b[K\rremote: Counting objects: 94% (35/37)\u001b[K\rremote: Counting objects: 97% (36/37)\u001b[K\rremote: Counting objects: 100% (37/37)\u001b[K\rremote: Counting objects: 100% (37/37), done.\u001b[K\r\nremote: Compressing objects: 3% (1/33)\u001b[K\rremote: Compressing objects: 6% (2/33)\u001b[K\rremote: Compressing objects: 9% (3/33)\u001b[K\rremote: Compressing objects: 12% (4/33)\u001b[K\rremote: Compressing objects: 15% (5/33)\u001b[K\rremote: Compressing objects: 18% (6/33)\u001b[K\rremote: Compressing objects: 21% (7/33)\u001b[K\rremote: Compressing objects: 24% (8/33)\u001b[K\rremote: Compressing objects: 27% (9/33)\u001b[K\rremote: Compre"] +[3.052564, "o", "ssing objects: 30% (10/33)\u001b[K\rremote: Compressing objects: 33% (11/33)\u001b[K\rremote: Compressing objects: 36% (12/33)\u001b[K\rremote: Compressing objects: 39% (13/33)\u001b[K\rremote: Compressing objects: 42% (14/33)\u001b[K\rremote: Compressing objects: 45% (15/33)\u001b[K\rremote: Compressing objects: 48% (16/33)\u001b[K\rremote: Compressing objects: 51% (17/33)\u001b[K\rremote: Compressing objects: 54% (18/33)\u001b[K\rremote: Compressing objects: 57% (19/33)\u001b[K\rremote: Compressing objects: 60% (20/33)\u001b[K\rremote: Compressing objects: 63% (21/33)\u001b[K\rremote: Compressing objects: 66% (22/33)\u001b[K\rremote: Compressing objects: 69% (23/33)\u001b[K\rremote: Compressing objects: 72% (24/33)\u001b[K\rremote: Compressing objects: 75% (25/33)\u001b[K\rremote: Compressing objects: 78% (26/33)\u001b[K\rremote: Compressing objects: 81% (27/33)\u001b[K\rremote: Compressing objects: 84% (28/33)\u001b[K\rremote: Compressing objects: 87% (29/33)\u001b[K\rremote: Compressing objects: 90% (30/33)\u001b[K\rremote: Compressing objects: 93% (31/33)\u001b[K\rremote: Compressing objects: 96% (32/33)\u001b[K\rrem"] +[3.05264, "o", "ote: Compressing objects: 100% (33/33)\u001b[K\rremote: Compressing objects: 100% (33/33), done.\u001b[K\r\n"] +[3.054106, "o", "接收对象中: 2% (1/37)\r接收对象中: 5% (2/37)\r接收对象中: 8% (3/37)\r接收对象中: 10% (4/37)\r"] +[3.054321, "o", "接收对象中: 13% (5/37)\r接收对象中: 16% (6/37)\r"] +[3.271498, "o", "接收对象中: 91% (34/37), 716.00 KiB | 686.00 KiB/s\r"] +[3.394527, "o", "remote: Total 37 (delta 0), reused 9 (delta 0), pack-reused 0 (from 0)\u001b[K\r\n"] +[3.394935, "o", "接收对象中: 94% (35/37), 716.00 KiB | 686.00 KiB/s\r"] +[3.395107, "o", "接收对象中: 97% (36/37), 716.00 KiB | 686.00 KiB/s\r接收对象中: 100% (37/37), 716.00 KiB | 686.00 KiB/s\r接收对象中: 100% (37/37), 1.08 MiB | 823.00 KiB/s, 完成.\r\n"] +[3.419631, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] +[3.419972, "o", "\u001b]2;Pimeng@Pimeng-Server:~/Miao-Yunzai\u0007\u001b]1;..p/Miao-Yunzai\u0007"] +[3.43216, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[39m\r\n\r\n\u001b[A\u001b[38;5;244m╭─\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[37m\u001b[0m\u001b[37m\u001b[47m\u001b[38;5;232m \u001b[0m\u001b[38;5;232m\u001b[47m\u001b[47m\u001b[38;5;232m \u001b[0m\u001b[38;5;232m\u001b[47m\u001b[44m\u001b[37m\u001b[0m\u001b[37m\u001b[44m\u001b[44m\u001b[38;5;254m  \u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255m~\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m/\u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255mMiao-Yunzai\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m\u001b[0m\u001b[38;5;254m\u001b[44m\u001b[44m\u001b[38;5;254m \u001b[0m\u001b[38;5;254m\u001b[44m\u001b[42m\u001b[34m\u001b[0m\u001b[34m\u001b[42m\u001b[42m\u001b[30m  \u001b[30m master \u001b[30m?2\u001b[0m\u001b[30m\u001b[42m\u001b[42m\u001b[30m \u001b[0m\u001b[30m\u001b[42m\u001b[49m\u001b[32m\u001b[0m\u001b[32m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[40m\u001b[32m \u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m✔\u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m \u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m\u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[33m Pimeng@Pimeng-Server\u001b[0m\u001b[33m\u001b[40m\u001b[40m\u001b[33m\u001b[0m\u001b[33m\u001b[40m\u001b[40m\u001b[33m \u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[40m\u001b[33m\u001b[0m\u001b[33m\u001b[40m\u001b[49m\u001b[39m\u001b[38;5;244m─╮\r\n\u001b[38;5;244m╰─\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[39m\u001b[0m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[39m\u001b[K\u001b[114C\u001b[0m\u001b[49m\u001b[39m\u001b[38;5;244m─╯\u001b[39m\u001b[116D"] +[3.432298, "o", "\u001b[?1h\u001b="] +[3.433078, "o", "\u001b[?2004h"] +[4.800003, "o", "\u001b[7mpnpm install --filter=napcat-adapter\u001b[27m"] +[5.447058, "o", "\u001b[36D\u001b[27mp\u001b[27mn\u001b[27mp\u001b[27mm\u001b[27m \u001b[27mi\u001b[27mn\u001b[27ms\u001b[27mt\u001b[27ma\u001b[27ml\u001b[27ml\u001b[27m \u001b[27m-\u001b[27m-\u001b[27mf\u001b[27mi\u001b[27ml\u001b[27mt\u001b[27me\u001b[27mr\u001b[27m=\u001b[27mn\u001b[27ma\u001b[27mp\u001b[27mc\u001b[27ma\u001b[27mt\u001b[27m-\u001b[27ma\u001b[27md\u001b[27ma\u001b[27mp\u001b[27mt\u001b[27me\u001b[27mr\u001b[?1l\u001b>"] +[5.448132, "o", "\u001b[?25l\u001b[?2004l\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[0m\u001b[49m\u001b[27m\u001b[24m\u001b[38;5;76m❯\u001b[0m\u001b[38;5;76m\u001b[49m\u001b[39m\u001b[27m\u001b[24m "] +[5.448202, "o", "pnpm install --filter=napcat-adapter\u001b[K\u001b[?25h"] +[5.448509, "o", "\r\r\n"] +[5.448993, "o", "\u001b]2;pnpm install --filter=napcat-adapter\u0007\u001b]1;pnpm\u0007"] +[5.119823, "o", "\u001b[?25l"] +[5.125909, "o", "\u001b[36m?\u001b[39m \u001b[1mThe modules directory at \"/home/Pimeng/Miao-Yunzai/plugins/napcat-adapter/node_modules\" will be removed and reinstalled from scratch. Proceed?\u001b[22m \u001b[2m(Y/n)\u001b[22m \u001b[2m‣\u001b[22m \u001b[36mtrue\u001b[39m"] +[5.126564, "o", "\u001b[4D"] +[6.4897, "o", "\u001b[2K\u001b[F\u001b[2K\u001b[1G\u001b[32m✔\u001b[39m \u001b[1mThe modules directory at \"/home/Pimeng/Miao-Yunzai/plugins/napcat-adapter/node_modules\" will be removed and reinstalled from scratch. Proceed?\u001b[22m \u001b[2m(Y/n)\u001b[22m \u001b[2m·\u001b[22m \u001b[32mtrue\u001b[39m"] +[6.489913, "o", "\u001b[4D"] +[6.49, "o", "\r\n\r\n\u001b[?25h"] +[6.727836, "o", "Progress: resolved \u001b[96m0\u001b[39m, reused \u001b[96m1\u001b[39m, downloaded \u001b[96m0\u001b[39m, added \u001b[96m0\u001b[39m\r\n"] +[6.736917, "o", "\u001b[1A. | \u001b[43m\u001b[30m WARN \u001b[39m\u001b[49m \u001b[31mdeprecated\u001b[39m icqq@0.6.10\r\nProgress: resolved \u001b[96m0\u001b[39m, reused \u001b[96m1\u001b[39m, downloaded \u001b[96m0\u001b[39m, added \u001b[96m0\u001b[39m\r\n"] +[6.929291, "o", "\u001b[1AProgress: resolved \u001b[96m76\u001b[39m, reused \u001b[96m74\u001b[39m, downloaded \u001b[96m0\u001b[39m, added \u001b[96m0\u001b[39m\r\n"] +[7.129674, "o", "\u001b[1AProgress: resolved \u001b[96m164\u001b[39m, reused \u001b[96m151\u001b[39m, downloaded \u001b[96m0\u001b[39m, added \u001b[96m0\u001b[39m\r\n"] +[7.330833, "o", "\u001b[1AProgress: resolved \u001b[96m374\u001b[39m, reused \u001b[96m372\u001b[39m, downloaded \u001b[96m0\u001b[39m, added \u001b[96m0\u001b[39m\r\n"] +[7.532633, "o", "\u001b[1AProgress: resolved \u001b[96m426\u001b[39m, reused \u001b[96m425\u001b[39m, downloaded \u001b[96m0\u001b[39m, added \u001b[96m0\u001b[39m\r\n"] +[7.685099, "o", "\u001b[1A\u001b[43m\u001b[30m WARN \u001b[39m\u001b[49m \u001b[31m11 deprecated subdependencies found:\u001b[39m @npmcli/move-file@1.1.2, are-we-there-yet@2.0.0, are-we-there-yet@3.0.1, gauge@3.0.2, gauge@4.0.4, glob@7.2.3, inflight@1.0.6, node-domexception@1.0.0, npmlog@5.0.1, npmlog@6.0.2, rimraf@3.0.2\r\nProgress: resolved \u001b[96m426\u001b[39m, reused \u001b[96m425\u001b[39m, downloaded \u001b[96m0\u001b[39m, added \u001b[96m0\u001b[39m\r\n"] +[7.724477, "o", "\u001b[1A. | \u001b[32m+16\u001b[39m \u001b[32m+\u001b[39m\u001b[32m+\u001b[39m\u001b[0K\r\nProgress: resolved \u001b[96m426\u001b[39m, reused \u001b[96m425\u001b[39m, downloaded \u001b[96m0\u001b[39m, added \u001b[96m0\u001b[39m\r\n"] +[7.733053, "o", "\u001b[1AProgress: resolved \u001b[96m427\u001b[39m, reused \u001b[96m426\u001b[39m, downloaded \u001b[96m0\u001b[39m, added \u001b[96m0\u001b[39m\r\n"] +[7.752617, "o", "\u001b[1AProgress: resolved \u001b[96m427\u001b[39m, reused \u001b[96m426\u001b[39m, downloaded \u001b[96m0\u001b[39m, added \u001b[96m0\u001b[39m, done\r\n"] +[7.991612, "o", "Done in 3.5s using pnpm v10.14.0\r\n"] +[8.00974, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] +[8.009979, "o", "\u001b]2;Pimeng@Pimeng-Server:~/Miao-Yunzai\u0007\u001b]1;..p/Miao-Yunzai\u0007"] +[8.022465, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[39m\r\n\r\n\u001b[A\u001b[38;5;244m╭─\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[37m\u001b[0m\u001b[37m\u001b[47m\u001b[38;5;232m \u001b[0m\u001b[38;5;232m\u001b[47m\u001b[47m\u001b[38;5;232m \u001b[0m\u001b[38;5;232m\u001b[47m\u001b[44m\u001b[37m\u001b[0m\u001b[37m\u001b[44m\u001b[44m\u001b[38;5;254m  \u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255m~\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m/\u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255mMiao-Yunzai\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m\u001b[0m\u001b[38;5;254m\u001b[44m\u001b[44m\u001b[38;5;254m \u001b[0m\u001b[38;5;254m\u001b[44m\u001b[42m\u001b[34m\u001b[0m\u001b[34m\u001b[42m\u001b[42m\u001b[30m  \u001b[30m master \u001b[30m?2\u001b[0m\u001b[30m\u001b[42m\u001b[42m\u001b[30m \u001b[0m\u001b[30m\u001b[42m\u001b[49m\u001b[32m\u001b[0m\u001b[32m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[40m\u001b[32m \u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m✔\u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m \u001b[0m\u001b[32m\u001b[40m\u001b[40m\u001b[32m\u001b[33m\u001b[0m\u001b[33m\u001b[40m\u001b[43m\u001b[30m 4s\u001b[0m\u001b[30m\u001b[43m\u001b[43m\u001b[30m  \u001b[0m\u001b[30m\u001b[43m\u001b[43m\u001b[30m \u001b[0m\u001b[30m\u001b[43m\u001b[43m\u001b[30m\u001b[30m\u001b[0m\u001b[30m\u001b[43m\u001b[40m\u001b[33m Pimeng@Pimeng-Server\u001b[0m\u001b[33m\u001b[40m\u001b[40m\u001b[33m\u001b[0m\u001b[33m\u001b[40m\u001b[40m\u001b[33m \u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[40m\u001b[33m\u001b[0m\u001b[33m\u001b[40m\u001b[49m\u001b[39m\u001b[38;5;244m─╮\r\n\u001b[38;5;244m"] +[8.022781, "o", "╰─\u001b[0m\u001b[38;5;244m\u001b[49m\u001b[39m\u001b[0m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[39m\u001b[K\u001b[114C\u001b[0m\u001b[49m\u001b[39m\u001b[38;5;244m─╯\u001b[39m\u001b[116D\u001b[?1h\u001b="] +[8.023564, "o", "\u001b[?2004h"] +[8.867651, "o", "\u001b[?2004l\r\r\n"] diff --git a/src/assets/uml/advanced/page_switch/blank.png b/src/public/assets/uml/advanced/page_switch/blank.png similarity index 100% rename from src/assets/uml/advanced/page_switch/blank.png rename to src/public/assets/uml/advanced/page_switch/blank.png diff --git a/src/assets/uml/advanced/page_switch/down_arrow.png b/src/public/assets/uml/advanced/page_switch/down_arrow.png similarity index 100% rename from src/assets/uml/advanced/page_switch/down_arrow.png rename to src/public/assets/uml/advanced/page_switch/down_arrow.png diff --git a/src/assets/uml/advanced/page_switch/left_arrow.png b/src/public/assets/uml/advanced/page_switch/left_arrow.png similarity index 100% rename from src/assets/uml/advanced/page_switch/left_arrow.png rename to src/public/assets/uml/advanced/page_switch/left_arrow.png diff --git a/src/assets/uml/advanced/page_switch/right_arrow.png b/src/public/assets/uml/advanced/page_switch/right_arrow.png similarity index 100% rename from src/assets/uml/advanced/page_switch/right_arrow.png rename to src/public/assets/uml/advanced/page_switch/right_arrow.png diff --git a/src/assets/uml/advanced/page_switch/up_arrow.png b/src/public/assets/uml/advanced/page_switch/up_arrow.png similarity index 100% rename from src/assets/uml/advanced/page_switch/up_arrow.png rename to src/public/assets/uml/advanced/page_switch/up_arrow.png diff --git a/src/public/favicon.png b/src/public/favicon.png new file mode 100644 index 0000000..b655c11 Binary files /dev/null and b/src/public/favicon.png differ diff --git a/src/public/svg/document-open.svg b/src/public/svg/document-open.svg new file mode 100644 index 0000000..85fa191 --- /dev/null +++ b/src/public/svg/document-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/public/svg/document.svg b/src/public/svg/document.svg new file mode 100644 index 0000000..dade319 --- /dev/null +++ b/src/public/svg/document.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/public/svg/file.svg b/src/public/svg/file.svg new file mode 100644 index 0000000..7b7a46c --- /dev/null +++ b/src/public/svg/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/public/svg/github.svg b/src/public/svg/github.svg new file mode 100644 index 0000000..7b7ecc6 --- /dev/null +++ b/src/public/svg/github.svg @@ -0,0 +1,17 @@ + + + github [#142] + Created with Sketch. + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/uml/syntax/variable.md b/src/uml/syntax/variable.md index 3db4d0b..db19e5c 100644 --- a/src/uml/syntax/variable.md +++ b/src/uml/syntax/variable.md @@ -20,6 +20,7 @@ UML 内置了如下变量: - `joined`: 是否已经参与了该活动, 参与了时值为 `1`, 否则为 `0` - `$h`: 用户能滚动的最大高度, 通过设置该变量的值来限制用户的滚动范围 +> [!NOTE] > UML 并不具备事件功能, 可以利用 `t`, `o` 和[按钮](./elements/btn.md)的按下时刻来为页面添加动态效果, 如动画, 换页等. ## 全局变量 @@ -32,6 +33,7 @@ global name = @type 其中, `type` 只能为 `btn`. 此后, 你仍然可以通过 `let` 的方式写入全局变量, 只有最后一次定义的值会被使用. +> [!NOTE] > 活动界面在每一帧都会被重画, 这意味着 UML 在每一帧都会重新计算所有变量的值. > > 但[按钮](./elements/btn.md)的一些属性需要在帧之间保持不变, 因此需要使用全局变量.