mirror of
https://github.com/Darkrock-Studios/hammer-editor.git
synced 2026-08-04 23:29:46 +00:00
Some checks are pending
Build CI / android-instrumented-tests (push) Waiting to run
Build CI / iOS compile & test (push) Waiting to run
Build CI / iOS UI tests (push) Waiting to run
Build CI / build (push) Waiting to run
Build CI / static-analysis (push) Waiting to run
PublishInternal / publish-google-play (push) Waiting to run
Importing a 100k+ word Markdown story froze the editor and consumed all its RAM. Parsing was never slow (~60ms for 120k words); creating the scenes was, and quadratically in their number. Resolving a path by id regex-parsed every filename in the project, sibling counts re-listed the parent directory several times per scene, and the order re-padding loop re-scanned once per renamed sibling. The cached directory scan now carries a scene-id index and a child-count index, in ScenePathIndex. A created file is absorbed in place; anything else drops the cache. The re-padding loop reads what it needs before it rather than inside it, so a run of renames costs one re-scan instead of one each. Measured on an in-memory filesystem, importing 400 scenes drops from 2.1s to ~0.3s and 1600 from 37s to ~3s. A real disk gains more, since the discarded scans are syscalls. Also builds the import preview off the UI thread, debounced and single flighted, shows the dialog while it reads instead of leaving the projects list looking idle, makes the preview pane lazy, and ignores the local scratch directory.
98 lines
1.6 KiB
Text
98 lines
1.6 KiB
Text
.gradle
|
|
build/
|
|
!gradle/wrapper/gradle-wrapper.jar
|
|
!**/src/main/**/build/
|
|
!**/src/test/**/build/
|
|
|
|
### IntelliJ IDEA ###
|
|
.idea/modules.xml
|
|
.idea/jarRepositories.xml
|
|
.idea/compiler.xml
|
|
.idea/libraries/
|
|
*.iws
|
|
*.iml
|
|
*.ipr
|
|
out/
|
|
!**/src/main/**/out/
|
|
!**/src/test/**/out/
|
|
|
|
### Eclipse ###
|
|
.apt_generated
|
|
.classpath
|
|
.factorypath
|
|
.project
|
|
.settings
|
|
.springBeans
|
|
.sts4-cache
|
|
bin/
|
|
!**/src/main/**/bin/
|
|
!**/src/test/**/bin/
|
|
|
|
### NetBeans ###
|
|
/nbproject/private/
|
|
/nbbuild/
|
|
/dist/
|
|
/nbdist/
|
|
/.nb-gradle/
|
|
|
|
### VS Code ###
|
|
.vscode/
|
|
|
|
### Mac OS ###
|
|
.DS_Store
|
|
*.hprof
|
|
.idea
|
|
/local.properties
|
|
|
|
wix311/
|
|
/android/release/android-release.aab
|
|
|
|
# Test
|
|
/htmlReport
|
|
|
|
# Fastlane
|
|
play_config.json
|
|
fastlane/report.xml
|
|
fastlane/README.md
|
|
.kotlin
|
|
|
|
# Release artifacts
|
|
/android/release/
|
|
/.claude/*
|
|
!/.claude/skills/
|
|
/CLAUDE.md
|
|
/.output.txt
|
|
|
|
# Mac App Store signing assets (do NOT commit)
|
|
/desktop/embedded.provisionprofile
|
|
/desktop/runtime.provisionprofile
|
|
/desktop/secrets/
|
|
|
|
# Xcode per-user state (UI layout, breakpoints, scheme prefs)
|
|
**/xcuserdata/
|
|
|
|
# iOS App Store signing assets (do NOT commit)
|
|
/ios/AppStore.mobileprovision
|
|
/ios/ExportOptions.plist
|
|
|
|
# Snap/Flatpak/AppImage build artifacts
|
|
/flatpak-build/
|
|
/flatpak-repo/
|
|
*.snap
|
|
*.flatpak
|
|
/parts/
|
|
/prime/
|
|
/stage/
|
|
/Hammer.AppDir/
|
|
/appimagetool-x86_64.AppImage
|
|
/appimage-runtime-x86_64
|
|
/nul
|
|
/.claude/
|
|
|
|
# Home page screenshot tooling: the generated webp assets under
|
|
# server/src/main/resources/assets/images/ are committed, their sources are not
|
|
/scripts/build-home-screenshots.py
|
|
/scripts/home-screenshot-sources/
|
|
|
|
# Local working area: marketing renders, one-off scripts, anything not shipped
|
|
/scratch/
|