From 0c8a9cc62235c144bb76242654f76c82ac0cebd1 Mon Sep 17 00:00:00 2001 From: Asaki Yuki Date: Tue, 27 Jan 2026 17:17:34 +0700 Subject: [PATCH] jsonui builder --- resources/pack_icon.png | Bin 0 -> 7986 bytes src/compilers/{RunEnd.ts => ui/builder.ts} | 4 ++-- src/compilers/ui/installer.ts | 0 src/compilers/ui/linker.ts | 0 src/compilers/ui/manifest.ts | 0 src/index.ts | 2 +- test/app.ts | 6 +++--- 7 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 resources/pack_icon.png rename src/compilers/{RunEnd.ts => ui/builder.ts} (56%) create mode 100644 src/compilers/ui/installer.ts create mode 100644 src/compilers/ui/linker.ts create mode 100644 src/compilers/ui/manifest.ts diff --git a/resources/pack_icon.png b/resources/pack_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5907048078ce09303b5335bb9bf145d756c0418d GIT binary patch literal 7986 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 { diff --git a/src/compilers/ui/installer.ts b/src/compilers/ui/installer.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/compilers/ui/linker.ts b/src/compilers/ui/linker.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/compilers/ui/manifest.ts b/src/compilers/ui/manifest.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/index.ts b/src/index.ts index 62ecc25..a250a13 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ import "./compilers/PreCompile.js" -import "./compilers/RunEnd.js" +import "./compilers/ui/builder.js" export { Animation } from "./components/Animation.js" export { AnimationKeyframe } from "./components/AnimationKeyframe.js" diff --git a/test/app.ts b/test/app.ts index ab29948..3ca856a 100644 --- a/test/app.ts +++ b/test/app.ts @@ -1,6 +1,6 @@ -import { Anchor, AnimationSize, Easing, KeyframeSize, Panel } from ".." +import { Anchor, AnimationOffset, Easing, KeyframeSize, Panel } from ".." -const animation = AnimationSize( +const animation = AnimationOffset( "smooth_loop", { to: [10, 10], @@ -31,4 +31,4 @@ const panel = Panel({ }), ) -console.log(animation) +console.log(animation, panel)