Commit graph

761 commits

Author SHA1 Message Date
axiomlogicnexus
e4266515da Land Phase 6C higher-dimensional runtime sessions 2026-06-18 05:33:49 +00:00
axiomlogicnexus
317d01d545 Land Phase 6C higher-dimensional host surfaces 2026-06-18 04:08:02 +00:00
axiomlogicnexus
1558d59e54 Close Phase 9B Unreal-native media export 2026-06-13 07:04:11 +00:00
axiomlogicnexus
56cd8e7802 Harden classic cube validation and package reporting 2026-06-13 04:18:05 +00:00
axiomlogicnexus
10b66a37c3 Expose higher-dimensional runtime activation in training surfaces 2026-06-13 02:03:05 +00:00
axiomlogicnexus
dbd48d0965 Repair classic-cube validation helper and leaderboard normalization 2026-06-13 01:06:13 +00:00
axiomlogicnexus
046653703e Land Phase 6C higher-dimensional activation catalog 2026-06-13 00:44:53 +00:00
axiomlogicnexus
12cdd2d4bd Land classic-cube replay and package validation closure 2026-06-12 23:32:25 +00:00
axiomlogicnexus
8c1847ca29 Document remotion restrictive-custody routing 2026-06-12 17:46:58 +00:00
axiomlogicnexus
9fafc9b1dd Implement HyperTwist Phase 6B virtual 3x3x3x3 runtime 2026-06-12 05:24:03 +00:00
axiomlogicnexus
ff885162ce Implement HyperTwist Phase 6A Melinda runtime 2026-06-12 04:35:25 +00:00
axiomlogicnexus
69def4748a Complete classic-cube phases 3A through 5C 2026-06-12 02:21:20 +00:00
axiomlogicnexus
32abad5d19 Document green packaged gate and next-phase reopening 2026-06-11 19:24:29 +00:00
axiomlogicnexus
5c6305d563 Fix classic cube automation test pointer assertions 2026-06-11 18:41:59 +00:00
axiomlogicnexus
4b1f22c13e Close phase 3 package bridge and clarify wiring posture 2026-06-11 18:34:19 +00:00
axiomlogicnexus
f529e8c9e9 Repair browser shell and close more phase 3 runtime 2026-06-11 17:45:34 +00:00
axiomlogicnexus
7b5e56fe4e Complete phase 1 browser runtime and phase 2 cube loop 2026-06-11 06:32:20 +00:00
axiomlogicnexus
c2efdcaa86 fix(brownan): fix stdout parser and end-to-end validation harness
- brownan_solver_wrapper.py: skip the 'Continuing to look...' status line
  that appears after 'Solution found!' so the actual move sequence is parsed
  instead of garbage tokens.
- validate_brownan_e2e.py: replace static TEST_FACELETS with pycuber-driven
  random scramble generation; verify each solver's output by re-applying it
  to the scrambled pycuber cube instead of relying on kociemba alone.
- Confirmed brownan binary table loading now succeeds after rebuilding with
  binary fopen flags (addresses Windows text-mode 0x1A EOF issue).
2026-06-10 23:04:25 +00:00
axiomlogicnexus
a87fd89762 Simplify brownan e2e validation using kociemba-verified pycuber facelets 2026-06-10 22:27:57 +00:00
axiomlogicnexus
99a9a12293 Fix preset facelet strings to valid 54-char kociemba format 2026-06-10 22:16:56 +00:00
axiomlogicnexus
c37d12d446 Update brownan validation script with built-in move application and preset facelets 2026-06-10 22:15:56 +00:00
axiomlogicnexus
7fe857bde1 Add brownan end-to-end validation script comparing against cahidenes 2026-06-10 21:14:27 +00:00
axiomlogicnexus
760b7dcf8d Wire brownan solver into oracle library via Python wrapper with WCA conversion; extend CompareSolvers to all three solvers 2026-06-10 21:03:51 +00:00
axiomlogicnexus
93e3943827 Add facelet-to-brownan 120-char conversion in brownan solver wrapper 2026-06-10 21:00:28 +00:00
axiomlogicnexus
65614be283 Add brownan solver wrapper with native-to-WCA move conversion 2026-06-10 20:56:22 +00:00
axiomlogicnexus
6c7b94351a Wire freestyle STT sidecar with custom Node server entry point and launcher 2026-06-10 20:53:36 +00:00
axiomlogicnexus
853753d38b Update piper TTS wrapper with auto-discovery and espeak_data path for Windows 2026-06-10 20:38:31 +00:00
axiomlogicnexus
7160c4e458 Fix rob-twophase IWYU header order and GetTransientPackage type mismatch in SolverOracleLibrary 2026-06-10 18:18:28 +00:00
axiomlogicnexus
bdf0952902 Fix pre-existing UE 5.7 compilation errors
- Add missing Engine/World.h include to HyperTwistClassicCubeActor.cpp
- Replace NewObject<T>(GetTransientPackage()) with NewObject<T>() in 39 test files
  (UE 5.7 changed GetTransientPackage() return type from UObject* to UPackage*)
2026-06-10 18:07:35 +00:00
axiomlogicnexus
88dbee1fa3 Phase 1: Fix const-correctness in IPCProcessManager::IsProcessRunning
- Remove const qualifier from IsProcessRunning to match TMap::Find non-const usage
2026-06-10 17:56:52 +00:00
axiomlogicnexus
f4246c5fcf Phase 1B: Remove duplicate speech client, align freestyle port with existing config
- Delete HyperTwistIPC/HyperTwistHttpSpeechClient.h (duplicate of existing HyperTwistRecognition version)
- Update freestyle_sidecar.bat to port 8766 matching UHyperTwistHttpSpeechClient ServiceBaseUrl
2026-06-10 17:54:47 +00:00
axiomlogicnexus
cc7a5a8bac Phase 1: Fix IPC compilation errors + freestyle sidecar
- Fix HyperTwistIPCProcessManager: remove invalid CreatePipe(nullptr) call
- Fix HyperTwistIPCProcessManager: const-correctness for IsProcRunning
- Fix HyperTwistSolverOracleLibrary: remove stale variable reference
- Add HyperTwistHttpSpeechClient header for freestyle STT integration (1B)
- Add freestyle_sidecar.bat launcher script
2026-06-10 17:50:04 +00:00
axiomlogicnexus
0fbae2f3bc Phase 1: Browser bundle + TTS/Tentone solver scaffolding
- Content/Browser: package.json, vite.config.ts, src/index.ts for JS bundling
- Content/Browser/build-browser.bat for Windows npm build
- Solvers/piper/piper_tts_wrapper.py for TTS sidecar (1C)
- Solvers/tentone/build.bat for OpenCV-aware standalone build (1G)
- Supports 1H (pmndrs spatial), 1I (echarts analytics), 1J (model-viewer)
2026-06-10 17:45:42 +00:00
axiomlogicnexus
91c15ad366 Phase 1D: brownan solver Windows build script
- Add build_vs.bat using vcvarsall + cl.exe
- Executable compiles with warnings only (C4295, C4267, C4996)
- 191KB standalone executable at Binaries/Win64/Solvers/brownan-solver.exe
2026-06-10 17:41:55 +00:00
axiomlogicnexus
168c6fdd08 Phase 1: IPC infrastructure + solver oracle scaffolding
- Add freestyle submodule (1B)
- Create HyperTwistIPCProcessManager for external process spawning
- Create HyperTwistSolverOracleLibrary with Blueprint wrappers
- Add brownan GPL solver standalone build files (1D)
- Add cahidenes Python solver wrapper using kociemba (1F)
- Update roadmap marking 1B/1D/1F in progress
2026-06-10 17:35:08 +00:00
axiomlogicnexus
86a0068117 Phase 2D: Scramble generation and application
- Added GenerateScramble(int32 Length) → TArray<FString> WCA-style moves
- Added ApplyScramble(MoveStrings) parsing U/D/F/B/R/L with ' and 2 suffixes
- Queues moves through existing RotateFace() pipeline
- Build: TBD
2026-06-10 06:33:02 +00:00
axiomlogicnexus
8551a726fa Phase 2C: Mouse click raycast input for face rotation
- Added ProcessClick(RayOrigin, RayDirection, bCounterClockwise)
- Maps hit normal to cube face and queues RotateFace()
- Ignores clicks on internal/non-axis-aligned faces
- Build: TBD
2026-06-10 06:29:18 +00:00
axiomlogicnexus
5040d00ec0 Update roadmap: Phase 2B complete, Phase 2C next 2026-06-10 06:28:27 +00:00
axiomlogicnexus
08813fbc0b Phase 2B: Face rotation logic with tick-based animation
- Added EHyperTwistRotationDirection enum
- Added FTrackedPiece with identity, grid position, and orientation
- Implemented RotateFace() with move queueing
- Tick-based pivot animation with smooth-step interpolation
- 0.15s quarter-turn duration
- Face rotation permutation tables for all 6 faces
- ResetCube() to return to solved state
- Build: TBD
2026-06-10 06:25:25 +00:00
axiomlogicnexus
8dc67875c9 Update roadmap: Phase 2A complete, Phase 2B next 2026-06-10 06:06:57 +00:00
axiomlogicnexus
b5b02f4792 Phase 2A: Fix C4701 TangentX initialization warning
- Initialize Normal and TangentX to ZeroVector before switch
- Build: 4 actions, 38.38s, exit code 0, zero warnings
2026-06-10 06:06:25 +00:00
axiomlogicnexus
7b3cf19181 Phase 2A: Remove programmatic material creation — use editor-assigned materials instead
UE5.7 UMaterial API no longer exposes Expressions/EmissiveColor publicly.
FaceMaterials and InternalMaterial arrays now accept editor-assigned materials.
Default engine material used when no material is assigned.
Geometry generation remains unchanged: 26 pieces, 6 sections per piece.
2026-06-10 06:00:06 +00:00
axiomlogicnexus
6517274fc4 Phase 2A: Procedural Classic Cube Actor — initial implementation
- Added HyperTwistClassicCubeTypes.h with face enum and piece data struct
- Added AHyperTwistClassicCubeActor with UProceduralMeshComponent per piece
- Generates 26 pieces (6 centers, 12 edges, 8 corners) in 3x3x3 grid
- Per-face materials: 6 color slots + internal dark gray
- Programmatic fallback unlit materials for each Rubik's face color
- Added ProceduralMeshComponent module dependency to Build.cs
- Added ProceduralMeshComponent plugin to .uproject
2026-06-10 05:07:35 +00:00
axiomlogicnexus
15bb3d9039 Phase 1A: rob-twophase solver integration — Windows build validated
- Added rob-twophase C++ source to Private/ThirdParty/rob-twophase/
- Created HyperTwistSolverLibrary Blueprint function library
- Fixed UE macro conflicts: check→ValidateCube, UF→UF_EDGE
- Added msvc_compat.h for missing POSIX ffs/ffsll on Windows
- Replaced unistd.h with direct.h/io.h for _chdir, access
- Fixed C4700 uninitialized qt_skip1 in solve.cpp
- Updated Build.cs with ThirdParty include paths
- Removed WebBrowser plugin dependency from .uproject
- Build: 5 actions, 38.87s, exit code 0
2026-06-10 04:59:03 +00:00
axiomlogicnexus
4359e572c9 Phase 1A: rob-twophase solver wrapper with UE integration
- Copy rob-twophase sources into Private/ThirdParty/rob-twophase/
  (excludes main.cpp; compiles as part of UnrealHyperTwist module)
- Add UHyperTwistSolverLibrary with Blueprint-callable functions:
  - InitializeSolver() / IsSolverInitialized()
  - SolveClassicState(FaceletString, TimeLimitMs, MaxLength, NumSolutions) -> TArray<FString>
  - GetMoveName(MoveIndex) / GetMoveCount()
  - VerifyFaceletString(FaceletString) -> bool
- Pruning tables saved to ProjectSavedDir for persistence
- Add automation tests: initialization, solved-state, scrambled-state
- Next: Windows build validation
2026-06-10 04:13:37 +00:00
axiomlogicnexus
c4e4606d14 Phase 0: Infrastructure + all 23 donor repo submodules
- Add .external/ and ThirdParty/ directories
- Update UnrealHyperTwist.Build.cs with external include paths + Voice module
- Add WebBrowser plugin to .uproject
- Add .gitmodules with 23 donor repos:
  - C++ solvers: rob-twophase, glTF-Sample-Renderer, glTF-Sample-Viewer
  - Speech: piper
  - Browser spatial: three.js stack (drei, postprocessing, react-postprocessing,
    react-spring, three-stdlib, maath, zustand, leva, use-gesture, uikit)
  - Analytics: zrender, echarts-gl
  - Model viewer: model-viewer
  - ClayGL: claygl, clay-viewer
  - Code VR: code-vr
  - Solvers (IPC): rubiks-cube-solver, rubix-solver, Rubiks-Cube-Solver
- Comprehensive reconstruction roadmap
- Unwired repo inventory and wiring schedule

Next: actual code implementation (solver wrappers, speech pipeline, renderer)
2026-06-10 04:10:20 +00:00
axiomlogicnexus
9380ef82a5 Phase J-HM: Prokeimenon state ledgers and Alleluia ongoing-state boundary
- Add FHyperTwistTrainingValidationProkeimenonStateLedgerContract struct
- Add FHyperTwistTrainingValidationOngoingStateAlleluiaBoundary struct
- Populate bundle with J-HM validation entries
- Implement TryGetById lookup functions
- Add runtime library wrappers
- Add focused automation tests
- Canon sync: ROADMAP.md, KICKOFF.md
2026-06-10 01:41:21 +00:00
axiomlogicnexus
a79f00b303 Phase J-HL: Ectenia state ledgers and Synapte ongoing-state boundary
- Add FHyperTwistTrainingValidationEcteniaStateLedgerContract struct
- Add FHyperTwistTrainingValidationOngoingStateSynapteBoundary struct
- Populate bundle with J-HL validation entries
- Implement TryGetById lookup functions
- Add runtime library wrappers
- Add focused automation tests
- Canon sync: ROADMAP.md, KICKOFF.md
- Prep + implementation packet docs
2026-06-09 22:52:16 +00:00
axiomlogicnexus
89f892e031 Add Phase J-HK validation kinonikon-state ledgers and bounded ongoing-state megalynarion
- FHyperTwistTrainingValidationKinonikonStateLedgerContract struct
- FHyperTwistTrainingValidationOngoingStateMegalynarionBoundary struct
- Bundle builder population with guard tags, exclusions, first-party attribution
- TryGetValidationKinonikonStateLedgerContractById / TryGetValidationOngoingStateMegalynarionBoundaryById
- Runtime library thin wrappers
- Focused automation tests for contract and boundary resolution
- Canon sync: ROADMAP.md, KICKOFF.md
- Packet docs: preparation and implementation packets
2026-06-09 21:02:40 +00:00
axiomlogicnexus
8843d7337d Add Phase J-HJ validation apostolos-state ledgers and bounded ongoing-state evangelion
- FHyperTwistTrainingValidationApostolosStateLedgerContract struct
- FHyperTwistTrainingValidationOngoingStateEvangelionBoundary struct
- Bundle builder population with guard tags, exclusions, first-party attribution
- TryGetValidationApostolosStateLedgerContractById / TryGetValidationOngoingStateEvangelionBoundaryById
- Runtime library thin wrappers
- Focused automation tests for contract and boundary resolution
- Canon sync: ROADMAP.md, KICKOFF.md
- Packet docs: preparation and implementation packets
2026-06-09 19:58:09 +00:00