Repository navigation
Releases: ThreeNativeHQ/threenative-engine
Releases · ThreeNativeHQ/threenative-engine
Release list
Terrain starter assets 0.1.0
Versioned starter asset archive pinned by @threenative/terrain. SHA256: 3062b90cd7f84e6ff14f6a96de64ad406eeba30c55c95cc045b6219edf71f5b0. Size: 31598616 bytes.
ThreeNative runtime runtime-native-v0.3.4
What's Changed
- docs(prd-399): 60 Hz Android UI latency attributed and A/B-measured on a real Pixel 8 by @jonit-dev in #306
- fix(release): make the registry clean-room gate pass again by @jonit-dev in #316
- chore(release): promote develop to main (clean-room gate fix #316) by @jonit-dev in #318
- docs(agents): registry auth comes from the user's npm config by @jonit-dev in #320
- fix(pnpm): make installs non-interactive in a fresh worktree by @jonit-dev in #321
- test(assets): drop the watch burst's duration check, the false red blocking every PR by @jonit-dev in #326
- feat(create-threenative): a new game ships only what it needs (PRD-449) by @jonit-dev in #338
- docs(prd-366): recorded published 0.3.3 next cohort rows (prd:50%) by @jonit-dev in #322
- fix(prd-112): a playtest run's simulation was driven by boot wall clock, not by its own ticks by @jonit-dev in #339
- chore(deps): pin threenative-asset-mcp 0.9.3 by @jonit-dev in #325
- chore(site): move the marketing site to a private repo and reserve the ThreeNative brand by @jonit-dev in #329
- docs(prd-sweep): tick release-proven boxes and supersede owner-decided ones after 0.3.3 by @jonit-dev in #324
- fix(release,create-threenative): guard release publication + force sharp >=0.35.4 in every scaffold by @jonit-dev in #327
- ci: skip the board on draft pull requests by @jonit-dev in #340
- ci: trim workspace-cache stalls and deferred build saves by @jonit-dev in #341
- PRD-450: a Fab asset reaches the game by @jonit-dev in #328
- feat(world): Blender world export + WorldCells streaming by cell (PRD-448) by @jonit-dev in #317
- fix(capabilities): no public callable ships undiscoverable by the engine MCP by @jonit-dev in #343
- fix(engine-mcp): a shared symbol's detail returns every match in one call by @jonit-dev in #345
- test(scripts): register the workspace-dist-cache temp dir (develop red since #341) by @jonit-dev in #342
- feat(core): games stop rewriting what the engine ships (PRD-451) by @jonit-dev in #334
- feat(assets): lossless flatten/join/instance compaction behind assets.models.compact (PRD-443) by @jonit-dev in #297
- feat(prd-448): cook profiles through threenative build, honoured on decoder-free targets by @jonit-dev in #330
- fix(playtest): aggregate retained render samples per pass kind so assert.performance stops dying on payload by @jonit-dev in #346
- fix(core): a throwing teardown can no longer kill a streaming world frame by @jonit-dev in #347
- fix(core): a cliffed terrain tile stays inside the LOD pop bound by @jonit-dev in #348
- feat(core): skinned rigs draw as one palette draw per pass, automatically (PRD-threejs-instanced-skinning) by @jonit-dev in #335
- feat(world): world packages go through the asset pipeline (PRD-452) by @jonit-dev in #344
- docs(prd): PRD-452 records its Phase 3 evidence and DONE status by @jonit-dev in #349
- feat: compose plug-and-play Clearwater shallow water by @jonit-dev in #313
- docs(guides): the public guides move here as Markdown, the site renders them by @jonit-dev in #350
- docs: Why ThreeNative? guide, and redeploy the site on every docs source by @jonit-dev in #351
- feat(vegetation): procedural trees end to end — offline GLB, cooked LOD, TSL wind, proven on web/desktop/Android by @jonit-dev in #333
- fix: complete PRD-112 packed golden path repair by @jonit-dev in #360
- docs(prd-365): close public registry desktop proof by @jonit-dev in #363
- fix(ci): make PRD-373 cold and warm runs measurable by @jonit-dev in #352
- perf: prepare PRD-400 production judge for existing projects by @jonit-dev in #289
- docs: record isolated Linux UI cadence proof (PRD-399) by @jonit-dev in #365
- fix(PRD-375): verify macOS icon content before release approval by @jonit-dev in #271
- docs: record Pixel 8 UI pass and R3 readiness scope by @jonit-dev in #370
- feat(world): world streaming — scatter LOD, streaming perf, PRDs 453–457, upstream-patch rule by @jonit-dev in #358
- fix(three): stop the dynamic cache key reading a swapped render target (arm64 starter lane) by @jonit-dev in #368
- fix(native): retry transient Android logcat drops by @jonit-dev in #369
- chore(patches): one tracked copy of the three@0.185.1 patch by @jonit-dev in #359
- feat(ik): admit constrained two-handed IK as an opt-in example, proven on web, desktop and Android by @jonit-dev in #332
- feat(prd-196): prove published Android cohort in the clean room by @jonit-dev in #362
- feat(csg): Boolean asset authoring, GLB export, and a playable cooked doorway on web/desktop/Android by @jonit-dev in #331
- PRD-449: ThreeNative vs Godot scoreboard and TN fixes by @jonit-dev in #366
- fix: preserve Android consumer cohort arms (PRD-366) by @jonit-dev in #364
- PRD-446: Guard public API changes and prove N-1 upgrades by @jonit-dev in #367
- PRD-462: spread the colour lane's material checks by default, everyFrame kept as the exact alternative by @jonit-dev in #371
- docs: PRD for AI view-projected environments by @jonit-dev in #379
- feat(PRD-464): realistic-scene ladder — full scene at 1080p, TN 104 fps vs Godot 196 fps by @jonit-dev in #374
- ci(PRD-463): take the Android V8 build off the native critical path by @jonit-dev in #372
- PRD-465: MetaHuman Expression Lab by @jonit-dev in #378
- fix(prd-064): measure real WebGPU and report the Tier 1 miss by @jonit-dev in #361
- PRD-458/473: streamed open worlds toward 60 fps (LOD, shadows, GPU scene); real-display check pending by @jonit-dev in #375
- PRD-470/471/472/474: default-look templates, RTS, racing physics and tower defense by @jonit-dev in #376
- release: promote develop to main for the 0.3.4 cohort by @jonit-dev in #385
- release: promote the clean-consumer Android software-adapter fix by @jonit-dev in #386
- release: promote the iOS-gate removal from runtime-native finalize by @jonit-dev in #387
Full Changelog: runtime-native-v0.3.3...runtime-native-v0.3.4
CI cache: Android V8 payload
Built Android V8 payloads, one asset per recipe hash, for CI to download instead of rebuilding. Not a product release.
ThreeNative runtime runtime-native-v0.3.3
What's Changed
- docs: the PR -> develop -> main integration flow is active by @jonit-dev in #207
- docs(PRD-377): one local command publishes every package and its native runtime by @jonit-dev in #204
- ci: a Markdown-only PR runs no CI job by @jonit-dev in #208
- docs(assets): PRD-377 default-on automatic LOD by @jonit-dev in #203
- docs(PRD-078): record landed phases; reopen — main-route validation still unrun by @jonit-dev in #201
- PRD-221: the default Android V8 distribution is 16 KB compatible by @jonit-dev in #197
- fix(ci): provision the Android debug keystore the aligner re-signs with by @jonit-dev in #216
- feat(android): release APKs and AABs from the current submission SDK (PRD-212) by @jonit-dev in #210
- chore(release): batch #212 + #215 + #216 (supersedes #202) — 0.3.2 cohort and release fixes by @jonit-dev in #217
- docs(PRDs): close PRD-212 on its verified artifact scope by @jonit-dev in #218
- docs(PRD-212): keep the delegated criteria verbatim in the closed PRD by @jonit-dev in #219
- docs(PRD-212): plain-ASCII closeout status line by @jonit-dev in #221
- docs(PRD-262): the published runtime cohort and helper exist — publish/user verification, close to done/ by @jonit-dev in #220
- PRD-379: native-release follows CI completion instead of polling by @jonit-dev in #209
- docs(PRD-078): close — the main-route prerequisite validation passed by @jonit-dev in #227
- ci(PRD-373): main takes a plain develop PR, not a promotion/ branch by @jonit-dev in #228
- Develop => Main sync by @jonit-dev in #229
- feat(runtime-native): desktop UI overlay on Windows and macOS (PRD-217) by @jonit-dev in #226
- docs(PRD-373): record real develop-PR selection; correct the develop-protection finding by @jonit-dev in #232
- feat(PRD-366): an installed starter runs real browser gameplay after a game-only edit by @jonit-dev in #231
- feat(PRD-375): Android release artifact carries the game brand by @jonit-dev in #230
- feat(ci): add a hosted Windows clean-consumer lane (PRD-376) by @jonit-dev in #223
- feat(core): FlightModel — force-integrated flight dynamics (PRD-382) by @jonit-dev in #235
- feat: Midway tooling foundations — discovery, capture sessions, CPU cost by @jonit-dev in #245
- feat(PRD-383): rig and retarget humanoids through the asset MCP by @jonit-dev in #237
- perf(PRD-385): share equivalent skeletal preparation across rig clones by @jonit-dev in #251
- chore(core): pin the asset MCP to 0.9.1 for a preview sheet that poses every tile by @jonit-dev in #254
- AutoLOD: measured-benefit eligibility, an opt-in join rung, and surviving clone() by @jonit-dev in #253
- feat(site): add docs, engine comparison and benchmarks by @jonit-dev in #257
- feat(PRD-365): desktop release mode builds a complete OS container by @jonit-dev in #224
- feat(PRD-375): inspect a distributed desktop container's game brand by @jonit-dev in #255
- feat(PRD-366): qualify the installed consumer's gameplay on distributed targets by @jonit-dev in #256
- perf(core): render-camera cull by default, projection fixes, honest frame instruments, AutoLOD sibling join by @jonit-dev in #263
- fix(PRD-365): ship the desktop game beside the executable so Windows containers launch by @jonit-dev in #258
- feat(site): searchable docs, five-engine comparison and evidence-backed benchmarks by @jonit-dev in #268
- ci(PRD-365): prove the Windows signtool path on a real host by @jonit-dev in #266
- chore: land local develop backlog (Midway perf squash, transform fix, skill trim) by @jonit-dev in #270
- fix(native): restore Midway rendering, input and UI parity by @jonit-dev in #273
- perf(runtime-native): experimental compiled frame plans and dirty payload transport by @jonit-dev in #275
- fix(native): carry the frame series a device run asserts on, decode images off the frame thread, answer getContext('2d') by @jonit-dev in #278
- ci: native matrix no longer holds the develop verdict; V8 payload stays cached by @jonit-dev in #281
- chore(release): prepare next package cohort by @jonit-dev in #280
- chore(release): promote develop package cohort to main by @jonit-dev in #283
- ci: native blocks the merge when it touches native code or targets main by @jonit-dev in #284
- Revert "chore(release): promote develop package cohort to main" by @jonit-dev in #285
- fix(native): give the production scaffold a real timeout, and say why a command failed by @jonit-dev in #288
- perf(core): the projected-size gate walks only visible subtrees by @jonit-dev in #290
- fix: ship default React UI and repair dev release commands by @jonit-dev in #279
- chore(release): re-promote develop to main after the #285 revert by @jonit-dev in #287
- fix(playtest): retry Windows mailbox lock removals by @jonit-dev in #292
- docs(prd-442): engine defaults that stop a native game paying for what it cannot see by @jonit-dev in #294
- fix(prd-373): clear the promotion reds — iOS off the verdict, native-smoke audio, hot-reload shape by @jonit-dev in #301
- docs(prd-196): verify the installed-consumer surface for the 0.3.3 cohort by @jonit-dev in #299
- docs(prd-112): packed golden path verified — action-rpg green, racing sequence-flake open by @jonit-dev in #303
- feat(native): built-in profiling and the Midway CPU attack list (PRD-444) by @jonit-dev in #298
- fix(prd-445): public release hygiene — sharp CVE, truthful docs, repo cleanup by @jonit-dev in #300
- test(playtest): pin the pointer-hold regression; close PRD-112 by @jonit-dev in #305
- perf(core): sample GPU timestamps 1 frame in 8 — _resolveQueries 161 → 14.5 ms/s on native Midway (PRD-446) by @jonit-dev in #307
- docs: remove the PRD-080 stranger test (owner decision) by @jonit-dev in #308
- fix(prd-064): the desktop production judge passes a healthy run by @jonit-dev in #304
- feat(prd-365/375): prove developer release signing on macOS CI; name the CI job for every open box by @jonit-dev in #302
- chore(release): promote develop after recovery by @jonit-dev in #291
- perf(prd-447): distributables ship only what the player runs — APK 105→52 MB, desktop runtime 126→58 MB by @jonit-dev in #309
- fix(release): accept a dispatched native-platforms run in the release gate by @jonit-dev in #311
- chore(release): promote develop to main by @jonit-dev in #312
- fix(runtime-native): retry a dropped adb transport before failing the Android first-proof log capture by @jonit-dev in #310
- fix(release): make the candidate gate satisfiable without iOS by @jonit-dev in #314
- chore(release): promote develop to main by @jonit-dev in #315
Full Changelog: runtime-native-v0.3.2...runtime-native-v0.3.3
ThreeNative runtime runtime-native-v0.3.2
fix(ci): restore the desktop-parity job name the release gate matches…
ThreeNative runtime runtime-native-v0.3.1
fix(gates): stop the coverage digest and the test runner measuring th…
Owned quiche quiche-owned-v1
What's Changed
- Land the CI and review fixes on top of the synced main by @jonit-dev in #5
- Teardown reaches a browser that is still launching by @jonit-dev in #6
- refactor(runtime-native): shed native host shortcuts by @jonit-dev in #18
- fix(native-ci): spread the settle wait, and make three lanes say what broke by @jonit-dev in #22
- fix(conformance): allowFailure covers a spawn error, not just a bad exit by @jonit-dev in #23
- docs(architecture): file the future-direction board and its nine PRDs by @jonit-dev in #25
- fix: close PRD-251 terrain contract gaps by @jonit-dev in #26
- feat(templates): every template ships a quality switch with the measured cost beside each stage (PRD-304) by @jonit-dev in #28
- feat(assets): the bake says what it wrote, and the delete-test becomes a command that goes red (PRD-306) by @jonit-dev in #30
- CI closes PRD-303 regression gaps by @jonit-dev in #27
- docs(prd): PRD-305 is blocked on a physical device, and the probe says so by @jonit-dev in #32
- feat(core): rank the projection's exact lane by reason, per window (PRD-310 phase 1) by @jonit-dev in #31
- feat(capabilities): cover every shipped package by @jonit-dev in #29
- feat(runtime-native): the GPU meter reports on Android — gpuMs 0.19 from a Pixel 8 (PRD-305, done) by @jonit-dev in #35
- feat(core): the no-manifest fallback looks where the sources live — the delete-test passes (PRD-306, done) by @jonit-dev in #37
- fix(ios): handle binary simulator plists by @jonit-dev in #34
- perf(ci): skip golden-path when this exact tree already passed by @jonit-dev in #33
- fix(templates): the mobile look was a black screen — request the MRT texture nodes lazily (PRD-304, done) by @jonit-dev in #40
- docs(verification): the projection marker read in a real game — every template declines, and the divergence is innocent by @jonit-dev in #41
- feat(scripts): gate the eager surface-node request that rendered a black frame by @jonit-dev in #42
- Sync diverged mains + stop native-platforms evidence from cancelling itself on main by @jonit-dev in #39
- docs: close PRD-307 environment attribution as refuted by @jonit-dev in #44
- feat(starter): generate watertight rock ridge by @jonit-dev in #47
- feat(vfx): port the donor effect gallery by @jonit-dev in #43
- feat(core): add virtual shadow mapping by @jonit-dev in #46
- sync: reconcile the local main with the remote by @jonit-dev in #50
- fix(ci): stop a failing job from erasing which gate went red by @jonit-dev in #51
- PRD-324 phases 1–2: the pose instrument, and the loader repair for clips z-mirrored against their own bind by @jonit-dev in #45
- fix(runtime-native): close audit findings by @jonit-dev in #48
- feat: lift repeated physics and playtest seams from sandbox games by @jonit-dev in #52
- fix(conformance): the parity lanes fail on their own bookkeeping, not on the target by @jonit-dev in #54
- fix: fail closed on DOM visibility sampling races by @jonit-dev in #49
- fix: recover useful defaults on current main by @jonit-dev in #57
- ci: one lane for the Android argument loss, the duplicated work, and the serial native build by @jonit-dev in #56
- feat(templates): refresh the genre kits and make the shooter first person by @jonit-dev in #58
- fix(android): stop the launcher's ANR dialog from failing every conformance row by @jonit-dev in #60
- perf(ci): the golden-path verifier adopts the tarballs build already packed by @jonit-dev in #62
- ci: cut the critical path — scenario delegation, a cached native tree, and what the compiler cache actually does by @jonit-dev in #71
- perf(ci): compile the workspace once per tree, not once per job by @jonit-dev in #74
- perf(ci): shard the two template legs that set the run's length by @jonit-dev in #75
- perf(ci): walk the packages at the machine's width, not one at a time by @jonit-dev in #76
- perf(ci): the browser lane stops rebuilding and repacking the workspace by @jonit-dev in #77
- perf(ci): date the native sources by their commit, so the cached tree survives checkout by @jonit-dev in #78
- perf(ci): cache the Rust crates, the last thing test-native still compiles by @jonit-dev in #79
- perf(ci): shard the unit suite, the longest single thing in the longest job by @jonit-dev in #80
- fix(ci): the mtime restore needs real history, and tools/ counts as a source by @jonit-dev in #81
- perf(ci): key the package store on the templates the scaffolding jobs install by @jonit-dev in #82
- fix(ci): cache the physics target the build actually writes by @jonit-dev in #83
- fix(ci): stop the secrets scan failing main on three false positives by @jonit-dev in #68
- feat(site): the website is a workspace app, and every claim on it is checkable by @jonit-dev in #69
- test(browser): stop the HMR wait failing on a reload it already got by @jonit-dev in #72
- test(assets): stop the watch burst test racing its own debounce window by @jonit-dev in #70
- Land the PRD-327/328 line: 24 commits that were only on local main by @jonit-dev in #84
- fix(ci): stop the native build cache evicting itself and its neighbours by @jonit-dev in #86
- Land the nine open lanes as one merge by @jonit-dev in #90
- fix(android): dismiss the launcher ANR dialog, not just suppress the next one by @jonit-dev in #64
- fix(prd-326): fail high-churn paths before regressions ship by @jonit-dev in #65
- docs: consolidate historical PRD-117 performance records by @jonit-dev in #66
- docs: archive PRD-314 closeout by @jonit-dev in #67
- fix(android): the emulator lane's first proof gets five minutes, not 45 seconds by @jonit-dev in #85
- fix(ci): three gates that were measuring the runner instead of the code by @jonit-dev in #87
- Repair the authoring surface an agent actually meets, and ship the kit that found the holes by @jonit-dev in #61
- perf(ci): three shards for the two legs the run's chain waits on by @jonit-dev in #92
- perf(ci): take the two longest native legs off the pool CI queues on by @jonit-dev in #91
- playtest: the harness can see the room and the feet, and two loop instruments work again by @jonit-dev in #73
- perf(runtime-native): a late sync pipeline compile is a named hitch (PRD-327 Phase 4) by @jonit-dev in #93
- fix(runtime-native): the screenshot saves a frame drawn after the startup gate opens by @jonit-dev in #95
- perf(assets): the build's target decides what compression ships, and a texture arrives decoded by @jonit-dev in #94
- feat: a downloaded .fbx becomes a running ThreeNative character (PRD-346) by @jonit-dev in #97
- docs: record the PRD-327 device acceptance — executed and failed; file PRD-339 by @jonit-dev in https...