Skip to content

Releases: ThreeNativeHQ/threenative-engine

Terrain starter assets 0.1.0

Choose a tag to compare

Versioned starter asset archive pinned by @threenative/terrain. SHA256: 3062b90cd7f84e6ff14f6a96de64ad406eeba30c55c95cc045b6219edf71f5b0. Size: 31598616 bytes.

ThreeNative runtime runtime-native-v0.3.4

Choose a tag to compare

@github-actions github-actions released this 02 Oct 04:37
2b6887f

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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Sep 17:10

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

Choose a tag to compare

@jonit-dev jonit-dev released this 25 Sep 15:12
279adb2

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

Choose a tag to compare

@jonit-dev jonit-dev released this 12 Sep 07:05
5e7ecd1
fix(ci): restore the desktop-parity job name the release gate matches…

ThreeNative runtime runtime-native-v0.3.1

Choose a tag to compare

@jonit-dev jonit-dev released this 12 Sep 06:40
01c82dc
fix(gates): stop the coverage digest and the test runner measuring th…

Owned quiche quiche-owned-v1

Choose a tag to compare

@github-actions github-actions released this 07 Sep 06:30

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...
Read more