Skip to content

Feat/visual enhancement - #10

Merged
ccamel merged 7 commits into
mainfrom
feat/visual-enhancement
Jul 12, 2026
Merged

ccamel merged 7 commits into
mainfrom
feat/visual-enhancement

Conversation

@ccamel

@ccamel ccamel commented Jul 11, 2026

Copy link
Copy Markdown
Member

Some improvements (visual & concepts) around the following principle:

The statement should express the institutional consequence of the recorded act, exposing only the minimum subject necessary to make the assertion meaningful. All protocol-specific details belong to the evidence column.

  • redesigns Chain Register around institutional assertions and compact on-chain proof.
  • Adds canonical block.tx.message entry references resolved from block order and cached per height.
  • Preserves the 3-entry sequential typewriter flow, reduced-motion mode, and mobile layout.
  • Reports register unavailability when transactions cannot be verified.

@vercel

vercel Bot commented Jul 11, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
surface Ready Ready Preview, Comment Jul 12, 2026 5:33pm

@coderabbitai

coderabbitai Bot commented Jul 11, 2026 •

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f3fd246d-3a47-4f97-84ef-811530cf808b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

Changes

Surface act platform

Layer / File(s) Summary
Surface act data and assertions
src/domain/surface-act.ts, src/domain/surface-act-mapper.ts, src/domain/__tests__/surface-act-mapper.spec.ts
SurfaceAct now includes entry and assertion; mapper output and verdict labels/categories use the updated assertion structure.
Transaction entry resolution
src/infra/axone-tx-api.ts, src/composables/useSurfaceActs.ts, src/infra/__tests__/*, src/composables/__tests__/*
Block transactions are resolved to cached height/index entries, and unavailable verification produces the chain-register error.
Surface act stream and record presentation
src/components/SurfaceActStream.vue, src/components/SurfaceActLine.vue, src/components/SurfaceActBadge.vue, src/components/SurfaceActItem.vue, src/components/__tests__/SurfaceActStream.spec.ts, src/styles.css
The stream uses SurfaceActLine with queued-window tracking, typing animation, proof fields, reduced-motion handling, and updated responsive styling; the previous item and badge components are removed.
PixiJS hero renderer
src/components/HeroCanvas.vue
HeroCanvas now initializes, draws, resizes, animates, and destroys a PixiJS application instead of using a 2D canvas.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant useSurfaceActs
  participant resolveTransactionEntries
  participant AxoneBlockAPI
  participant SurfaceActStream
  participant SurfaceActLine
  useSurfaceActs->>resolveTransactionEntries: resolve transaction entries
  resolveTransactionEntries->>AxoneBlockAPI: fetch block transaction hashes
  AxoneBlockAPI-->>resolveTransactionEntries: return height/index mappings
  useSurfaceActs->>SurfaceActStream: provide normalized acts
  SurfaceActStream->>SurfaceActLine: render visible act and typing state
  SurfaceActLine-->>SurfaceActStream: emit typing-complete
Loading
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 6.25% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title is too vague and does not clearly describe the main change in the pull request. Use a concise, specific title that names the main change, such as the Chain Register redesign or PixiJS renderer replacement.
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The description is clearly related to the changeset and summarizes the main functional and visual updates.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/visual-enhancement

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ccamel ccamel self-assigned this Jul 11, 2026
@ccamel
ccamel marked this pull request as ready for review July 11, 2026 18:02

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
src/components/SurfaceActStream.vue (1)

18-24: 🚀 Performance & Scalability | 🔵 Trivial

knownActIds is unbounded in animated mode.

The set is only cleared when reducedMotion becomes true (Line 119); in the normal animated path it accumulates every act id seen for the component's lifetime. Given indefinite polling, consider pruning ids that fall outside the current window when acts drop off.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/SurfaceActStream.vue` around lines 18 - 24, Bound knownActIds
in the animated path by pruning IDs for acts that have dropped outside the
current visible/pending window. Update the logic around knownActIds and the
act-window update flow in SurfaceActStream so retained IDs correspond only to
currently tracked acts, while preserving duplicate prevention for visible and
pending acts.
src/infra/axone-tx-api.ts (1)

54-66: 🚀 Performance & Scalability | 🔵 Trivial

Unbounded cache growth over long-lived polling.

blockTransactionsByHeight (Line 5) is never evicted; since useSurfaceActs polls every 15s for the lifetime of the mounted component, distinct block heights accumulate indefinitely on always-on displays. Block data is immutable so caching is correct, but consider a bounded LRU or capping retained heights to the register window.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/infra/axone-tx-api.ts` around lines 54 - 66, Bound the size of
blockTransactionsByHeight in blockTransactionHashes so long-lived polling cannot
retain every requested height indefinitely. Preserve caching for immutable block
data, but evict the least-recently-used or oldest entries once the configured
register-window capacity is exceeded, while retaining the existing rejection
cleanup behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/components/SurfaceActLine.vue`:
- Around line 89-92: Update the inscription paragraph in SurfaceActLine to bind
aria-label to the complete assertion value rather than the progressively
rendered typedAssertion. Preserve the existing typedAssertion display and cursor
behavior while ensuring assistive technology can access the full assertion
during typing.

---

Nitpick comments:
In `@src/components/SurfaceActStream.vue`:
- Around line 18-24: Bound knownActIds in the animated path by pruning IDs for
acts that have dropped outside the current visible/pending window. Update the
logic around knownActIds and the act-window update flow in SurfaceActStream so
retained IDs correspond only to currently tracked acts, while preserving
duplicate prevention for visible and pending acts.

In `@src/infra/axone-tx-api.ts`:
- Around line 54-66: Bound the size of blockTransactionsByHeight in
blockTransactionHashes so long-lived polling cannot retain every requested
height indefinitely. Preserve caching for immutable block data, but evict the
least-recently-used or oldest entries once the configured register-window
capacity is exceeded, while retaining the existing rejection cleanup behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2e87b37c-e020-4568-b524-2fa2ee772a86

📥 Commits

Reviewing files that changed from the base of the PR and between 369be5a and 91edb29.

⛔ Files ignored due to path filters (2)
  • package.json is excluded by !**/*.json
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml, !**/*.yaml
📒 Files selected for processing (14)
  • src/components/HeroCanvas.vue
  • src/components/SurfaceActBadge.vue
  • src/components/SurfaceActItem.vue
  • src/components/SurfaceActLine.vue
  • src/components/SurfaceActStream.vue
  • src/components/__tests__/SurfaceActStream.spec.ts
  • src/composables/__tests__/useSurfaceActs.spec.ts
  • src/composables/useSurfaceActs.ts
  • src/domain/__tests__/surface-act-mapper.spec.ts
  • src/domain/surface-act-mapper.ts
  • src/domain/surface-act.ts
  • src/infra/__tests__/axone-tx-api.spec.ts
  • src/infra/axone-tx-api.ts
  • src/styles.css
💤 Files with no reviewable changes (2)
  • src/components/SurfaceActBadge.vue
  • src/components/SurfaceActItem.vue

Comment thread src/components/SurfaceActLine.vue Outdated
@ccamel

ccamel commented Jul 12, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai resolve

@ccamel
ccamel merged commit d5a28f6 into main Jul 12, 2026
9 checks passed
@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown
✅ Action performed

Comments resolved. Approval is disabled; enable reviews.request_changes_workflow to allow explicit top-level @coderabbitai resolve or @coderabbitai approve commands.

@ccamel
ccamel deleted the feat/visual-enhancement branch July 12, 2026 17:34

This branch was successfully deployed

1 active deployment
Preview — 1da7c039 Deployed Jul 12, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant