Commit graph

745 commits

Author SHA1 Message Date
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
axiomlogicnexus
fc60f63f8b Add Phase J-HI validation doxology-state ledgers and bounded ongoing-state trisagion
- FHyperTwistTrainingValidationDoxologyStateLedgerContract struct
- FHyperTwistTrainingValidationOngoingStateTrisagionBoundary struct
- Bundle builder population with guard tags, exclusions, first-party attribution
- TryGetValidationDoxologyStateLedgerContractById / TryGetValidationOngoingStateTrisagionBoundaryById
- 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:02:58 +00:00
axiomlogicnexus
4a669e8ecf Add Phase J-HH validation apolysis-state ledgers and bounded ongoing-state eulogia
- FHyperTwistTrainingValidationApolysisStateLedgerContract struct
- FHyperTwistTrainingValidationOngoingStateEulogiaBoundary struct
- Bundle builder population with guard tags, exclusions, first-party attribution
- TryGetValidationApolysisStateLedgerContractById / TryGetValidationOngoingStateEulogiaBoundaryById
- 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 18:14:53 +00:00
axiomlogicnexus
1989730961 Implement Phase J-HG validation stavros-state ledgers and bounded ongoing-state proskynesis 2026-06-09 17:40:24 +00:00
axiomlogicnexus
644f1fec59 Implement Phase J-HF validation potirion-state ledgers and bounded ongoing-state koinonia 2026-06-09 17:04:12 +00:00
axiomlogicnexus
d4e5202869 Implement Phase J-HE validation prosphora-state ledgers and bounded ongoing-state antidoron 2026-06-09 16:34:23 +00:00
axiomlogicnexus
68827cb6a1 Implement Phase J-HD validation soma-state ledgers and bounded ongoing-state haima 2026-06-09 06:09:46 +00:00
axiomlogicnexus
74d6b8d5f8 docs: add git cleanup hygiene protocol 2026-06-09 03:18:36 +00:00
axiomlogicnexus
9f09d9c1bf Land Phase J-HC anaphora/epiclesis validation seam
Adds bounded validation anaphora-state ledger / ongoing-state epiclesis seam:
- FHyperTwistTrainingValidationAnaphoraStateLedgerContract struct
- FHyperTwistTrainingValidationOngoingStateEpiclesisBoundary struct
- Bundle builder entries with guard tags, surface tags, explicit exclusions
- TryGetById functions in ValidationBenchmarkLibrary
- Bundled accessors in RuntimeLibrary
- Focused automation test: HyperTwistValidationPhaseJHCAnaphoraEpiclesisContractTest
- Prep + implementation packet docs
- Canon sync: ROADMAP, FEATURE_REGISTRY, IMPLEMENTATION_PHASE_1_KICKOFF, REPO_LICENSE_TRACKING

Next deliberate milestone: Phase J-HD
2026-06-09 03:14:39 +00:00
axiomlogicnexus
8bdd6ec917 Land validation ladder Phases J-FW through J-HB
Adds 32 bounded validation-state ledger / ongoing-state seam phases:
- J-FW pectoral-cross / ring
- J-FX zucchetto / biretta
- J-FY mozzetta / rochet
- J-FZ surplice / tippet
- J-GA chimere / scarf
- J-GB cassock / rabat
- J-GC camauro / saturno
- J-GD ferraiolo / mantelletta
- J-GE cappa-magna / pellegrina
- J-GF galero / simar
- J-GG tabarro / gremiale
- J-GH falda / mantum
- J-GI sakkos / omophorion
- J-GJ epigonation / epimanikia
- J-GK orarion / epitrachelion
- J-GL sticharion / zonarion
- J-GM phelonion / riassa
- J-GN klobuk / mandyas
- J-GO kamelavkion / epanokamelavkion
- J-GP koukoulion / paramandyas
- J-GQ analavos / polystavrion
- J-GR epanorion / epirrhiptarion
- J-GS engolpion / panagia
- J-GT dikerion / trikerion
- J-GU ripidion / asteriskos
- J-GV diskos / kalymma
- J-GW antimension / eiliton
- J-GX aer / labis
- J-GY diskarion / zeon
- J-GZ lonche / lance
- J-HA lavida / sudarion
- J-HB hexapterygon / cherubikon

Surfaces:
- HyperTwistTrainingValidationBenchmarkLibrary.h (+6,894 lines)
- HyperTwistTrainingValidationBenchmarkLibrary.cpp (+7,378 lines)
- HyperTwistTrainingRuntimeLibrary.h (+384 lines)
- HyperTwistTrainingRuntimeLibrary.cpp (+768 lines)
- 32 focused contract automation tests
- 64 phase prep+implementation packet docs
- Synced canon: ROADMAP, ARCHITECTURE, FEATURE_REGISTRY,
  IMPLEMENTATION_PHASE_1_KICKOFF, REPO_LICENSE_TRACKING

Next deliberate milestone: Phase J-HC
2026-06-09 02:15:47 +00:00
axiomlogicnexus
3d8150d86f Land HyperTwist Phase J-FV and restore Windows build 2026-06-04 03:35:31 +00:00
axiomlogicnexus
dfbf0b14ba Tighten HyperTwist reverse-SSH doctrine links 2026-06-04 01:21:06 +00:00
axiomlogicnexus
e8e3633411 Land Phase J-FU maniple/fanon validation seam and refresh reverse-SSH doctrine 2026-06-03 01:59:43 +00:00
axiomlogicnexus
462b522577 Document reverse-SSH auth-mode mismatch and recovery 2026-06-02 23:32:53 +00:00
axiomlogicnexus
4d7a5db664 Land Phase J-FT dalmatic/tunicle validation seam 2026-06-02 22:50:24 +00:00
axiomlogicnexus
8dae997674 Land Phase J-FS alb/chasuble validation seam 2026-06-02 22:35:33 +00:00
axiomlogicnexus
930741c53d Land Phase J-FR amice/stole validation seam 2026-06-02 22:21:10 +00:00