CoreAI v6.3.0
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/InputChangedfiring(InputObject, gameProcessedEvent)with realRBXScriptConnection, the poll surface (IsKeyDown,GetKeysPressed,GetMouseLocation,MouseBehavior), andEnum.KeyCode/UserInputType/UserInputState/MouseBehaviorat exact Roblox names+values. Backed by a swappableIInputSourceseam; pumped once per frame before mod dispatch. workspace.CurrentCamera— a real Camera instance withCFrame/CameraType/CameraSubjectover a swappable camera‑rig seam, pluscamera_set_cframe/camera_followglobals. Reads ungated, writes WorldEdit‑gated.Part.Shape(Enum.PartType) —Ball,Cylinder(axis‑corrected mesh child),Wedge(custom 1‑unit ramp mesh + convex collider);CornerWedgeaccepted (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/reasoningdeltas 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/FindFirstChildWhichIsAnow search depth‑first (Roblox parity). - Services and the canonical Camera are locked against a mod removing them —
Destroy()errors,Clone()returns nil, reparenting errors, andClearAllChildren()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 (
RobloxWorldHostwired into the mods scope); Hub AI Settings placeholder/foldout fixes.
Performance
- Binder: per‑aspect property re‑apply (a
CFrame/Sizewrite skips full re‑materialization); cached Renderer/Collider/Rigidbody refs +MaterialPropertyBlock; cached primitive meshes/material. RbxScriptSignal.Firereuses the fire‑snapshot buffer; input signals pass a cached boxedfalse.- Input event objects gated on
HasConnections— a mouse‑move frame with no listener allocates noInputObject. RbxCFramemultiply/equality read struct fields directly (no per‑opfloat[12]).
Full changelog: Assets/CoreAI/CHANGELOG.md