Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
9156156
fix(collab): return idle instead of idling out a wait with nothing to…
CATMIAOZHI Oct 10, 2026
bde9ba9
fix(chat): keep the classic settings button on the todo and notice row
CATMIAOZHI Oct 10, 2026
77e30f4
feat(chat): rebuild the classic composer with an inline thinking control
CATMIAOZHI Oct 10, 2026
de33245
fix(chat): line the thinking dial up with its reference and stop it e…
CATMIAOZHI Oct 10, 2026
b2b87d0
feat(chat): add composer predictions
CATMIAOZHI Oct 10, 2026
4357ce7
fix(chat): 对齐输入预测请求配置并修复附件与超时行为
CATMIAOZHI Oct 11, 2026
9e80989
fix(chat): enable native prediction providers and improve adoption
CATMIAOZHI Oct 11, 2026
02c4637
fix(voice): keep ONNX dictation listening across segments
CATMIAOZHI Oct 11, 2026
367511f
fix(chat): read the token limit warning through Compose resources
CATMIAOZHI Oct 11, 2026
c91fcb4
fix(prompt): clarify temporary files and tool permission review
CATMIAOZHI Oct 11, 2026
f794490
fix(models): preserve functional bindings and warn about missing models
CATMIAOZHI Oct 11, 2026
592b921
perf(chat): batch display deltas and reduce large streaming snapshots
CATMIAOZHI Oct 11, 2026
68f0a38
feat(chat): preempt sampling for steering and reduce agent message la…
CATMIAOZHI Oct 11, 2026
5aa03b0
feat(chat): add native A2UI cards and reliable local interactions
CATMIAOZHI Oct 11, 2026
3da32f8
feat(dynamic-ui): simplify card authoring and refine native layouts
CATMIAOZHI Oct 11, 2026
4e235b2
feat(dynamic-ui): strengthen card framing and information hierarchy
CATMIAOZHI Oct 11, 2026
5dceddf
feat(dynamic-ui): add responsive layouts and safe card extensions
CATMIAOZHI Oct 11, 2026
9114675
fix(dynamic-ui): repair card syntax and remove redundant nesting limit
CATMIAOZHI Oct 11, 2026
5e3e3f6
feat(dynamic-ui): add repeat templates and live task data
CATMIAOZHI Oct 11, 2026
cab2b7b
feat(dynamic-ui): add native interactions and complete P2 controls
CATMIAOZHI Oct 12, 2026
55cf6b7
fix(dynamic-ui): align event schemas with native renderer
CATMIAOZHI Oct 12, 2026
995138b
feat(theme): align the default palette with the RainyToken design
CATMIAOZHI Oct 12, 2026
6b45539
feat(theme): soften the default accents behind an enhanced contrast s…
CATMIAOZHI Oct 12, 2026
97e9650
feat(dynamic-ui): embed native UI inline and add static Flow diagrams
CATMIAOZHI Oct 12, 2026
d818686
docs(dynamic-ui): state when to use a block before the guide is read
CATMIAOZHI Oct 12, 2026
1d80991
feat(markdown): render inline badges and icons inside paragraphs
CATMIAOZHI Oct 12, 2026
f968906
fix(markdown): stop treating [text] without (url) as a link
CATMIAOZHI Oct 12, 2026
9051cbc
fix(prompt): teach inline badges as a reply format in every mode
CATMIAOZHI Oct 12, 2026
5dbc4d5
fix(dynamic-ui): gate inline badge syntax behind the dynamic_ui guide
CATMIAOZHI Oct 12, 2026
c0790eb
fix(dynamic-ui): shrink long Display values to fit instead of scrolling
CATMIAOZHI Oct 12, 2026
964f2a1
fix(dynamic-ui): label every bar and use a distinct chart palette
CATMIAOZHI Oct 12, 2026
a59e7b0
fix(dynamic-ui): follow custom bubble colors for card contrast
CATMIAOZHI Oct 12, 2026
608612b
feat(dynamic-ui): redraw pie charts as an interactive donut
CATMIAOZHI Oct 12, 2026
1f641ce
fix(dynamic-ui): keep card text readable on custom bubble colors
CATMIAOZHI Oct 12, 2026
d59ef68
fix(dynamic-ui): drop the chart data table button
CATMIAOZHI Oct 12, 2026
6ebdfc0
fix(chat-input): commit the tapped thinking level
CATMIAOZHI Oct 12, 2026
643e94f
fix(dynamic-ui): line up Display tiles in a grid row
CATMIAOZHI Oct 12, 2026
8fda545
feat(chat-input): hold to talk, and keep what is said while recording…
CATMIAOZHI Oct 12, 2026
424a2c0
fix(speech): stop reporting a microphone failure on every stop
CATMIAOZHI Oct 12, 2026
f12ced8
feat(dynamic-ui): let Text and RichText runs use semantic tones
CATMIAOZHI Oct 13, 2026
9a01c92
feat(markdown): choose how colored inline icons are drawn
CATMIAOZHI Oct 13, 2026
42de532
fix(chat-input): slide up to cancel hold-to-talk, close when nothing …
CATMIAOZHI Oct 13, 2026
6798f15
feat(chat): add permission shortcut and remove intent-based grep
CATMIAOZHI Oct 13, 2026
1585382
fix(permissions): return review failures to AI without manual approval
CATMIAOZHI Oct 13, 2026
aa96394
feat(dynamic-ui): share one outlined icon set with cards and inline text
CATMIAOZHI Oct 13, 2026
8c8bb14
feat(settings): add an on-demand component manager
CATMIAOZHI Oct 13, 2026
64ee7e8
refactor(avatar): remove the unused virtual avatar feature
CATMIAOZHI Oct 13, 2026
f962bb2
chore(git): ignore local logs and generated artifacts
CATMIAOZHI Oct 13, 2026
b3be619
fix(ci): resync the lint baseline checksum after the avatar removal
CATMIAOZHI Oct 13, 2026
43cd782
fix(ci): bump the terminal submodule so a clean checkout has consumer…
CATMIAOZHI Oct 13, 2026
6131391
fix(lint): clear the errors that fail :app:lintDebug
CATMIAOZHI Oct 13, 2026
5e0146f
feat(dynamic-ui): add adaptive layouts and opt-in HTML visuals
CATMIAOZHI Oct 13, 2026
8365b75
feat(shell): add managed tasks with timeout wait and cancel
CATMIAOZHI Oct 13, 2026
bf7e105
fix(codex): recover expired OAuth tokens once per request
CATMIAOZHI Oct 13, 2026
251a43e
feat(dynamic-ui): guide whole-block layouts with working examples
CATMIAOZHI Oct 13, 2026
e13e220
fix(dynamic-ui): restore card state before painting on reentry
CATMIAOZHI Oct 13, 2026
a538cb5
fix(dynamic-ui): keep HTML host stable across viewport changes
CATMIAOZHI Oct 13, 2026
c558330
refactor(subagent): use v2 for all user conversations
CATMIAOZHI Oct 13, 2026
0be1731
fix(chat): collapse dynamic UI source in memory editor
CATMIAOZHI Oct 13, 2026
b24acfc
feat(chat): fold process records in memory editor
CATMIAOZHI Oct 13, 2026
75084db
fix(chat): fold randomized tool tags in memory editor
CATMIAOZHI Oct 13, 2026
22b6582
fix(settings): only list maintained interface languages
CATMIAOZHI Oct 13, 2026
3bab2c3
fix(settings): label Chinese as Simplified Chinese
CATMIAOZHI Oct 13, 2026
2a5f981
feat(chat): separate conversation budgets and add click-only shortcuts
CATMIAOZHI Oct 13, 2026
409a81c
fix(chat): preserve media history until compaction
CATMIAOZHI Oct 13, 2026
4ad58a7
feat(settings): manage storage and preserve chat media
CATMIAOZHI Oct 13, 2026
e18db63
fix(settings): cache storage scans and show cancellable progress
CATMIAOZHI Oct 14, 2026
85ca983
fix(speech): level quiet microphone input before detection and recogn…
CATMIAOZHI Oct 14, 2026
d3f68d9
fix(dynamic-ui): align grid panels and fit headings in narrow cells
CATMIAOZHI Oct 14, 2026
16a8e7d
fix(permission): keep each chat's review badges after the shared list…
CATMIAOZHI Oct 14, 2026
e137427
feat(dynamic-ui): load the package whenever the answer explains somet…
CATMIAOZHI Oct 14, 2026
11c648f
fix(dynamic-ui): short card references, quiet misses, compact history…
CATMIAOZHI Oct 14, 2026
d4fb59b
fix(memory): learn dynamic UI cards as their full visible text
CATMIAOZHI Oct 14, 2026
304c462
feat(settings): keep the tool permission page tidy with many tools
CATMIAOZHI Oct 14, 2026
2339968
fix(settings): larger remove target on tool permission chips
CATMIAOZHI Oct 14, 2026
5759eed
feat(settings): clearer tool lists in the permission dialogs
CATMIAOZHI Oct 14, 2026
8417188
feat(settings): tidy the context and summary settings page
CATMIAOZHI Oct 14, 2026
013cef0
feat(settings): new-style settings home with a floating search bar
CATMIAOZHI Oct 14, 2026
93cb6e1
feat(chat): clearer move-to-folder dialog and message menu
CATMIAOZHI Oct 14, 2026
f0b8802
feat(settings): restyle more settings pages and land search on the op…
CATMIAOZHI Oct 14, 2026
8813859
chore(settings): remove the software identity option
CATMIAOZHI Oct 14, 2026
f5839e8
fix(settings): search finds options on more pages, such as the global…
CATMIAOZHI Oct 14, 2026
cbc11ac
feat(chat): wider, less cramped chat history panel
CATMIAOZHI Oct 14, 2026
354b271
fix(ui): smoother folder drag, steady settings search bar, more pages…
CATMIAOZHI Oct 15, 2026
39d341a
style(settings): theme settings use the shared settings card style
CATMIAOZHI Oct 15, 2026
548bf32
style(settings): backup, history, model, speech and stats pages match…
CATMIAOZHI Oct 15, 2026
64bfe4c
style(settings): iOS-style theme page with segmented tabs, shared row…
CATMIAOZHI Oct 15, 2026
da863fc
chore(release): prepare Operit Ry 1.12.2-ry.8
CATMIAOZHI Oct 15, 2026
7e0d93a
test(chat): split the composer prediction preference test for Windows
CATMIAOZHI Oct 15, 2026
0985ff1
fix(lint): resolve mention selector strings through stringResource
CATMIAOZHI Oct 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/actions/android-checks/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ inputs:
android-build-tools-version:
description: 'Android build-tools version'
required: false
default: '35.0.0'
default: '37.0.0'
android-ndk-version:
description: 'Android NDK version (full lane only)'
required: false
default: '25.1.8937393'
default: '27.0.12077973'
android-cmake-version:
description: 'Android CMake version (full lane only)'
required: false
Expand Down Expand Up @@ -87,7 +87,7 @@ runs:
ADDITIONAL_SDK_PACKAGES: ${{ inputs.additional-sdk-packages }}
run: |
set -euo pipefail
packages=("build-tools;$ANDROID_BUILD_TOOLS_VERSION" "platform-tools" "platforms;android-34" "platforms;android-36")
packages=("build-tools;$ANDROID_BUILD_TOOLS_VERSION" "platform-tools" "platforms;android-34" "platforms;android-36" "platforms;android-37.1")
if [[ "${{ inputs.lane }}" == "full" ]]; then
packages+=("ndk;$ANDROID_NDK_VERSION" "cmake;$ANDROID_CMAKE_VERSION")
fi
Expand Down
9 changes: 3 additions & 6 deletions .github/workflows/android-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,11 @@ on:
- ci/script/prepare_android_dependencies.py
- ci/script/run_android_checks.sh
- cmake/**
- dragonbones/**
- examples/**
- fbx/**
- gradle/**
- gradle.properties
- gradlew
- gradlew.bat
- mmd/**
- package.json
- package-lock.json
- npm-shrinkwrap.json
Expand Down Expand Up @@ -80,7 +77,7 @@ permissions:
env:
JAVA_VERSION: '21'
NODE_VERSION: '22'
ANDROID_NDK_VERSION: '25.1.8937393'
ANDROID_NDK_VERSION: '27.0.12077973'
ANDROID_CMAKE_VERSION: '3.31.6'
MANUAL_DEPS_DIR: manual-deps
OPERIT_RELEASE_CERT_SHA256: '40:F8:7A:4D:66:EB:70:D0:E2:D1:37:9C:6A:97:DD:DC:0C:ED:D3:BA:87:2E:02:74:50:CA:77:AF:42:EC:5E:74'
Expand All @@ -105,7 +102,7 @@ jobs:
with:
lane: full
java-version: ${{ env.JAVA_VERSION }}
android-build-tools-version: '35.0.0'
android-build-tools-version: '37.0.0'
android-ndk-version: ${{ env.ANDROID_NDK_VERSION }}
android-cmake-version: ${{ env.ANDROID_CMAKE_VERSION }}
manual-deps-dir: ${{ env.MANUAL_DEPS_DIR }}
Expand Down Expand Up @@ -222,7 +219,7 @@ jobs:

expected_apk_digest="${OPERIT_RELEASE_CERT_SHA256//:/}"
expected_apk_digest="${expected_apk_digest,,}"
apksigner="$ANDROID_HOME/build-tools/35.0.0/apksigner"
apksigner="$ANDROID_HOME/build-tools/37.0.0/apksigner"
for artifact in "${artifacts[@]}"; do
case "$artifact" in
*.apk)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ jobs:
with:
lane: full
java-version: '21'
android-build-tools-version: '35.0.0'
android-ndk-version: '25.1.8937393'
android-build-tools-version: '37.0.0'
android-ndk-version: '27.0.12077973'
android-cmake-version: '3.31.6'
gradle-cache-read-only: 'true'
dependency-cache-read-only: 'true'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ env:
PYTHONDONTWRITEBYTECODE: '1'
JAVA_VERSION: '21'
NODE_VERSION: '22'
ANDROID_BUILD_TOOLS_VERSION: '35.0.0'
ANDROID_BUILD_TOOLS_VERSION: '37.0.0'

jobs:
plan:
Expand Down
16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,19 @@ tmp
temp
.tmp
.temp

# 运行与构建日志
*.log
*.err

# 根目录的本地草稿:提交信息、PR 正文、发布说明
/commit-msg-*.txt
/pr-body-*.md
/release-notes-*.md
/.ry5-workdir.txt

# 生成的产物与本机环境文件
examples/reading_companion/dist/
.worktrees/
/app/objectbox-jni-windows-x64.dll
*.bak
6 changes: 3 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

- `app/`:Android 主应用、业务逻辑、资源和 JVM 测试
- `terminal/`:公开 Git 子模块,构建前需初始化
- `dragonbones/`、`fbx/`、`mmd/`、`quickjs/`:native/渲染/脚本模块
- `quickjs/`:native 脚本模块
- `cmake/`:共享 CMake 工具和原生依赖锁定清单(`operit_git_source.cmake`、`NATIVE_DEPENDENCY_LOCK.md`)
- `web-chat/`:React/Vite Web Chat
- `examples/`、`tools/`:ToolPkg、示例和仓库工具
Expand All @@ -15,13 +15,13 @@

## 构建与验证

- Android 构建使用仓库自带的 `gradlew` / `gradlew.bat`,JDK 21 和 Android SDK 36。构建手册见 `docs/agent/build-guide.md`。
- Android 构建使用仓库自带的 `gradlew` / `gradlew.bat`,JDK 21 和 Android SDK 37.1。构建手册见 `docs/agent/build-guide.md`。
- Windows 上固定使用 `.\gradlew.bat <任务> --no-daemon --console=plain` 执行 Gradle。禁止通过 `| Select-Object -Last`、`Tee-Object` 等 PowerShell 实时管道运行 Gradle;需要保留或截取输出时,先将完整输出重定向到日志文件,命令结束后再读取日志末尾。
- 所有可能长期运行的命令必须设置硬超时。达到超时后立即终止本次命令的整个进程树并输出已保存的日志,禁止无限等待。
- 首次构建先执行 `git submodule update --init --recursive terminal`。
- 完整 Android 构建需要 `models.zip`、`jniLibs.zip` 和 `libs.zip` 内容,下载及校验入口见 `ci/README.md`;导出模板已改为运行时按需下载,不再需要 `subpack.zip`。这些本地依赖不得提交。
- 隔离 worktree 不会继承被忽略的本机构建输入(如 `local.properties`、`app/libs` 本地依赖)或子模块状态。构建前先补齐并初始化,且不得提交;若仅 worktree 报缺依赖,先检查这些输入,不要改源码。
- 原生第三方依赖(ncnn、sherpa-ncnn、WAMR、QuickJS、Saba、Bullet3、ufbx)已固定到具体 commit SHA,锁定清单见 `cmake/NATIVE_DEPENDENCY_LOCK.md`;升级时更新该清单和对应 `CMakeLists.txt`,不要通过 `OPERIT_*_GIT_REF` 命令行参数覆盖(已不再生效)。
- 原生第三方依赖(ncnn、sherpa-ncnn、WAMR、QuickJS)已固定到具体 commit SHA,锁定清单见 `cmake/NATIVE_DEPENDENCY_LOCK.md`;升级时更新该清单和对应 `CMakeLists.txt`,不要通过 `OPERIT_*_GIT_REF` 命令行参数覆盖(已不再生效)。
- 根据改动范围运行最小充分验证:默认优先编译,只运行与本次修改直接相关的测试;没有直接相关测试时只做编译检查,小改动无明显回归风险时不额外补测试,已通过的测试不重复运行。不得仅为提高信心主动运行完整 `testDebugUnitTest`;全量测试和耗时的集成/UI 测试仅在用户明确要求、合并或 PR 最终验证、CI,或核心基础设施改动确有必要时运行。测试超时应覆盖 Gradle 冷启动和增量编译:聚焦 JVM 单测默认设置 10 分钟硬超时,其他任务按预计耗时设置明确上限;若连续 5 分钟没有新日志、CPU/进程活动或输出文件变化,应终止整个进程树并分析原因,不得仅因运行超过 60 秒判定失败。
- 原生 Android 模块统一固定使用 SDK Manager 的 CMake 3.31.6(自带 Ninja 1.12.1)。Windows 必须启用 Win32 长路径,并移除指向旧版自定义 CMake 3.22.1 的 `local.properties` `cmake.dir`;构建后从 `build_command_*.bat` 或 `CMakeCache.txt` 核对 Gradle 实际使用 `cmake/3.31.6`。若支持长路径的工具链仍失败,再用 `subst` 将仓库根目录映射为短盘符并重试。第三方依赖产生的 CMake 兼容性弃用提示或 `CMAKE_OBJECT_PATH_MAX` 警告本身不等于构建失败。完整步骤见 `docs/agent/build-guide.md`。
- 完整 APK 构建、release 构建和原生依赖升级后的验证优先使用 GitHub Actions(Nightly workflow 或手动触发),不要在本地执行完整 `assembleRelease`。本地构建仅用于快速迭代测试(`compileDebugKotlin`、`testDebugUnitTest`、`lintDebug`、`assembleDebug` 等),验证通过且用户授权推送后,由 CI 做完整构建。
Expand Down
17 changes: 1 addition & 16 deletions Repo_Arch_Basic.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,8 @@ Operit-follow-up/
├── app/ 主 Android 应用
├── ci/ CI 与本地自动化脚本
├── docs/ 项目文档与文档资源
├── dragonbones/ DragonBones 动画 Android 库
├── examples/ JavaScript/TypeScript 工具包示例
├── fbx/ FBX 模型 Android 原生库
├── gradle/ Gradle Wrapper 与版本目录
├── mmd/ MMD 模型运行时与预览模块
├── quickjs/ QuickJS JNI 模块
├── showerclient/ Shower 虚拟显示客户端库
├── terminal/ OperitTerminalCore Git 子模块
Expand All @@ -35,26 +32,14 @@ Operit-follow-up/

这是项目文档与文档资源目录,包含核心开发指南、脚本和工具包开发说明、架构与协议文档,以及 README 使用的图片等静态资源。

### [`dragonbones`](dragonbones/)

这是 DragonBones Android 库模块。它通过 C++、OpenGL 和 JNI 提供 DragonBones 骨骼动画模型的加载、渲染和动画控制,并向 Android View 与 Compose 使用场景提供封装。

### [`examples`](examples/)

这是工具包和脚本示例集合,主要使用 JavaScript 和 TypeScript,覆盖聊天、搜索、绘图、浏览器自动化、系统控制、地图等扩展场景。同名的 `.ts` 和 `.js` 文件通常分别用于源码示例和可执行版本。

### [`fbx`](fbx/)

这是 FBX Android 原生运行时模块。它通过 `ufbx` C 库解析 FBX 模型,为应用中的 FBX 虚拟形象和模型展示提供基础能力。`ufbx` 由 CMake 从上游仓库获取,默认使用 `main`。

### [`gradle`](gradle/)

这是 Gradle 构建支持目录,包含 Gradle Wrapper 配置和项目统一的版本目录 `libs.versions.toml`。

### [`mmd`](mmd/)

这是 MMD 模型 Android 运行时和预览模块,包含模型渲染相关的原生集成,并使用 Bullet3 等第三方组件。Bullet3 由 CMake 从上游仓库获取,默认使用上游主分支。`UPSTREAM_SABA_VIEWER_MAPPING.md` 记录了上游 Saba Viewer 的映射关系。

### [`quickjs`](quickjs/)

这是 QuickJS JNI 模块本体,包含 QuickJS C 源码、JNI Runtime、Kotlin 封装和 Host Bridge。
Expand All @@ -79,5 +64,5 @@ Operit-follow-up/

## 相关说明

- `app`、`dragonbones`、`terminal`、`mmd`、`fbx`、`showerclient`、`quickjs` 是根 `settings.gradle.kts` 声明的 Gradle 模块。
- `app`、`terminal`、`showerclient`、`quickjs` 是根 `settings.gradle.kts` 声明的 Gradle 模块。
- 仍作为 Git 子模块维护的第三方目录,以根目录的 `.gitmodules` 为准。
15 changes: 7 additions & 8 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ android {
minSdk = 26
targetSdk = 34
versionCode = 100205
versionName = "1.12.2-ry.7"
versionName = "1.12.2-ry.8"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
Expand Down Expand Up @@ -272,6 +272,7 @@ android {
compose = true
aidl = true
buildConfig = true
resValues = true
}
lint {
baseline = file("lint-baseline.xml")
Expand Down Expand Up @@ -330,6 +331,11 @@ kotlin {
}

dependencies {
// Keep this alpha set in sync with compose-bom-alpha 2026.09.00.
implementation("androidx.a2ui.compose:compose-runtime:1.0.0-alpha01")
implementation("androidx.a2ui.compose:compose-ui:1.0.0-alpha01")
implementation("androidx.a2ui:a2ui-engine:1.0.0-alpha01")
implementation("androidx.compose.material3:material3-a2ui:1.0.0-alpha01")
implementation(project(":chat-parser"))
implementation(project(":chat-storage"))
implementation(project(":memory-storage"))
Expand All @@ -343,17 +349,10 @@ dependencies {
testRuntimeOnly("io.objectbox:objectbox-$platform:${libs.versions.objectbox.get()}")
}
implementation("com.github.jelmerk:hnswlib-core:1.2.1")
implementation(project(":dragonbones"))
implementation(project(":terminal"))
implementation(project(":mmd"))
implementation(project(":fbx"))
implementation(project(":showerclient"))
implementation(project(":quickjs"))

// glTF runtime rendering (Filament)
implementation("com.google.android.filament:filament-android:1.69.2")
implementation("com.google.android.filament:gltfio-android:1.69.2")
implementation("com.google.android.filament:filament-utils-android:1.69.2")
implementation(libs.androidx.ui.graphics.android)
// Vendored binary dependencies live in app/libs, including ffmpeg-kit and its Java-side deps.
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.aar", "*.jar"))))
Expand Down
Loading
Loading