Skip to content

CoreAI v6.3.0

Choose a tag to compare

@NeoXider NeoXider released this 24 Jul 07:14
· 117 commits to main since this release

CoreAI v6.3.0 — MVP1 "Roblox API" completion. A mod can now build, query, clone and destroy an instance tree, read keyboard/mouse input, drive the camera, and pick a Part shape — all through the Roblox‑1:1 Lua surface. Plus a reasoning/think‑block streaming fix and a per‑frame allocation pass. All six com.neoxider.* packages advance to 6.3.0 in lockstep.

Added

  • UserInputService (Roblox 1:1)game:GetService("UserInputService"): InputBegan/InputEnded/InputChanged firing (InputObject, gameProcessedEvent) with real RBXScriptConnection, the poll surface (IsKeyDown, GetKeysPressed, GetMouseLocation, MouseBehavior), and Enum.KeyCode/UserInputType/UserInputState/MouseBehavior at exact Roblox names+values. Backed by a swappable IInputSource seam; pumped once per frame before mod dispatch.
  • workspace.CurrentCamera — a real Camera instance with CFrame/CameraType/CameraSubject over a swappable camera‑rig seam, plus camera_set_cframe/camera_follow globals. Reads ungated, writes WorldEdit‑gated.
  • Part.Shape (Enum.PartType) — Ball, Cylinder (axis‑corrected mesh child), Wedge (custom 1‑unit ramp mesh + convex collider); CornerWedge accepted (draws as Block for now).
  • Rbx skill (read_skill("Rbx API")) now documents input, camera and Shape with a keyboard‑driven mini‑game example.

Fixed

  • Reasoning / think‑block streaming surfaces reasoning_content/reasoning deltas and promotes reasoning to visible content when a model emits no plain content, so reasoning‑only models no longer return empty responses (flows to the WebGL fetch transport too).
  • Token budget estimated when the server returns none (incl. reasoning chars), so the budget page populates instead of reading zero.
  • Instance:Clone() deep‑copies BasePart state (Size/CFrame/Color/Anchored/Shape) onto the clone.
  • Recursive FindFirstChild/FindFirstChildWhichIsA now search depth‑first (Roblox parity).
  • Services and the canonical Camera are locked against a mod removing them — Destroy() errors, Clone() returns nil, reparenting errors, and ClearAllChildren() skips them.
  • Part appearance/collision target the part's own visual (identified by an owned reference, not the child name "Shape").
  • Full‑tier withheld stubs register even when Full is granted but unwired, so unity_* raises the actionable error.
  • FullAccessDemo invisible spawns fixed (RobloxWorldHost wired into the mods scope); Hub AI Settings placeholder/foldout fixes.

Performance

  • Binder: per‑aspect property re‑apply (a CFrame/Size write skips full re‑materialization); cached Renderer/Collider/Rigidbody refs + MaterialPropertyBlock; cached primitive meshes/material.
  • RbxScriptSignal.Fire reuses the fire‑snapshot buffer; input signals pass a cached boxed false.
  • Input event objects gated on HasConnections — a mouse‑move frame with no listener allocates no InputObject.
  • RbxCFrame multiply/equality read struct fields directly (no per‑op float[12]).

Full changelog: Assets/CoreAI/CHANGELOG.md